From 90b097f73dd5cb2587a292c358010bab4bc7f67c Mon Sep 17 00:00:00 2001 From: Fabian Stamm Date: Tue, 16 May 2017 03:04:42 +0200 Subject: [PATCH] Basic Structure for adding Students and BookTypes --- BuechermarktClient.sln | 22 + BuechermarktClient/App.config | 14 + BuechermarktClient/App.xaml | 9 + BuechermarktClient/App.xaml.cs | 17 + BuechermarktClient/BookTypes.xaml | 31 + BuechermarktClient/BookTypes.xaml.cs | 80 + BuechermarktClient/BookTypesEdit.xaml | 23 + BuechermarktClient/BookTypesEdit.xaml.cs | 93 + BuechermarktClient/BuechermarktClient.csproj | 147 + BuechermarktClient/MainWindow.xaml | 17 + BuechermarktClient/MainWindow.xaml.cs | 110 + BuechermarktClient/Models/Book.cs | 32 + BuechermarktClient/Models/BookType.cs | 18 + BuechermarktClient/Models/Student.cs | 30 + BuechermarktClient/Properties/AssemblyInfo.cs | 55 + .../Properties/Resources.Designer.cs | 71 + BuechermarktClient/Properties/Resources.resx | 117 + .../Properties/Settings.Designer.cs | 30 + .../Properties/Settings.settings | 7 + BuechermarktClient/Students.xaml | 35 + BuechermarktClient/Students.xaml.cs | 75 + BuechermarktClient/StudentsEdit.xaml | 31 + BuechermarktClient/StudentsEdit.xaml.cs | 157 + .../bin/Debug/BuechermarktClient.exe.config | 14 + BuechermarktClient/bin/Debug/MongoDB.Bson.xml | 22445 ++++++++++++++++ .../bin/Debug/MongoDB.Driver.Core.xml | 13336 +++++++++ .../bin/Debug/MongoDB.Driver.xml | 17863 ++++++++++++ .../bin/Debug/Newtonsoft.Json.xml | 10760 ++++++++ BuechermarktClient/bin/Debug/RestSharp.xml | 3095 +++ BuechermarktClient/obj/Debug/App.g.cs | 70 + BuechermarktClient/obj/Debug/App.g.i.cs | 70 + .../obj/Debug/BookTypes - Kopieren.g.i.cs | 121 + BuechermarktClient/obj/Debug/BookTypes.baml | Bin 0 -> 1670 bytes BuechermarktClient/obj/Debug/BookTypes.g.cs | 121 + BuechermarktClient/obj/Debug/BookTypes.g.i.cs | 121 + .../obj/Debug/BookTypesEdit - Kopieren.g.i.cs | 94 + .../obj/Debug/BookTypesEdit.baml | Bin 0 -> 1665 bytes .../obj/Debug/BookTypesEdit.g.cs | 94 + .../obj/Debug/BookTypesEdit.g.i.cs | 94 + ...marktClient.Properties.Resources.resources | Bin 0 -> 180 bytes ...hermarktClient.csproj.FileListAbsolute.txt | 33 + .../obj/Debug/BuechermarktClient.g.resources | Bin 0 -> 9425 bytes .../BuechermarktClient_MarkupCompile.lref | 8 + BuechermarktClient/obj/Debug/Login.g.i.cs | 94 + BuechermarktClient/obj/Debug/MainWindow.baml | Bin 0 -> 1474 bytes BuechermarktClient/obj/Debug/MainWindow.g.cs | 102 + .../obj/Debug/MainWindow.g.i.cs | 102 + BuechermarktClient/obj/Debug/Students.baml | Bin 0 -> 1999 bytes BuechermarktClient/obj/Debug/Students.g.cs | 121 + BuechermarktClient/obj/Debug/Students.g.i.cs | 121 + .../obj/Debug/StudentsEdit.baml | Bin 0 -> 2193 bytes .../obj/Debug/StudentsEdit.g.cs | 94 + .../obj/Debug/StudentsEdit.g.i.cs | 94 + ...le_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs | 0 ...le_5937a670-0e60-4077-877b-f7221da3dda1.cs | 0 ...le_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs | 0 BuechermarktClient/packages.config | 9 + packages/MongoDB.Bson.2.4.3/License.rtf | Bin 0 -> 1064 bytes .../MongoDB.Bson.2.4.3.nupkg | Bin 0 -> 485418 bytes .../lib/net45/MongoDB.Bson.XML | 22445 ++++++++++++++++ .../lib/netstandard1.5/MongoDB.Bson.xml | 21631 +++++++++++++++ packages/MongoDB.Driver.2.4.3/License.rtf | Bin 0 -> 1064 bytes .../MongoDB.Driver.2.4.3.nupkg | Bin 0 -> 506786 bytes .../lib/net45/MongoDB.Driver.XML | 17863 ++++++++++++ .../lib/netstandard1.5/MongoDB.Driver.xml | 16378 +++++++++++ .../MongoDB.Driver.Core.2.4.3/License.rtf | Bin 0 -> 1064 bytes .../MongoDB.Driver.Core.2.4.3.nupkg | Bin 0 -> 532771 bytes .../lib/net45/MongoDB.Driver.Core.XML | 13336 +++++++++ .../netstandard1.5/MongoDB.Driver.Core.xml | 14211 ++++++++++ packages/Newtonsoft.Json.10.0.2/LICENSE.md | 20 + .../Newtonsoft.Json.10.0.2.nupkg | Bin 0 -> 2060233 bytes .../lib/net20/Newtonsoft.Json.xml | 9815 +++++++ .../lib/net35/Newtonsoft.Json.xml | 8944 ++++++ .../lib/net40/Newtonsoft.Json.xml | 9144 +++++++ .../lib/net45/Newtonsoft.Json.xml | 10760 ++++++++ .../lib/netstandard1.0/Newtonsoft.Json.xml | 10467 +++++++ .../lib/netstandard1.3/Newtonsoft.Json.xml | 10559 ++++++++ .../Newtonsoft.Json.xml | 8555 ++++++ .../Newtonsoft.Json.xml | 10467 +++++++ .../Newtonsoft.Json.10.0.2/tools/install.ps1 | 116 + .../RestSharp.105.2.3/RestSharp.105.2.3.nupkg | Bin 0 -> 1152099 bytes .../lib/MonoAndroid10/RestSharp.xml | 3020 +++ .../lib/MonoTouch10/RestSharp.xml | 3020 +++ .../lib/Xamarin.iOS10/RestSharp.xml | 3020 +++ .../RestSharp.105.2.3/lib/net35/RestSharp.xml | 2858 ++ .../lib/net4-client/RestSharp.xml | 3095 +++ .../RestSharp.105.2.3/lib/net4/RestSharp.xml | 3095 +++ .../RestSharp.105.2.3/lib/net45/RestSharp.xml | 3095 +++ .../lib/net451/RestSharp.xml | 3095 +++ .../lib/net452/RestSharp.xml | 3095 +++ .../RestSharp.105.2.3/lib/net46/RestSharp.xml | 3095 +++ .../RestSharp.105.2.3/lib/sl5/RestSharp.xml | 2649 ++ .../lib/windowsphone8/RestSharp.xml | 3866 +++ .../lib/windowsphone81/RestSharp.xml | 3866 +++ packages/RestSharp.105.2.3/readme.txt | 20 + ...ropServices.RuntimeInformation.4.3.0.nupkg | Bin 0 -> 169959 bytes .../ThirdPartyNotices.txt | 31 + .../dotnet_library_license.txt | 128 + .../lib/MonoAndroid10/_._ | 0 .../lib/MonoTouch10/_._ | 0 .../lib/xamarinios10/_._ | 0 .../lib/xamarinmac20/_._ | 0 .../lib/xamarintvos10/_._ | 0 .../lib/xamarinwatchos10/_._ | 0 .../ref/MonoAndroid10/_._ | 0 .../ref/MonoTouch10/_._ | 0 .../ref/xamarinios10/_._ | 0 .../ref/xamarinmac20/_._ | 0 .../ref/xamarintvos10/_._ | 0 .../ref/xamarinwatchos10/_._ | 0 110 files changed, 296056 insertions(+) create mode 100644 BuechermarktClient.sln create mode 100644 BuechermarktClient/App.config create mode 100644 BuechermarktClient/App.xaml create mode 100644 BuechermarktClient/App.xaml.cs create mode 100644 BuechermarktClient/BookTypes.xaml create mode 100644 BuechermarktClient/BookTypes.xaml.cs create mode 100644 BuechermarktClient/BookTypesEdit.xaml create mode 100644 BuechermarktClient/BookTypesEdit.xaml.cs create mode 100644 BuechermarktClient/BuechermarktClient.csproj create mode 100644 BuechermarktClient/MainWindow.xaml create mode 100644 BuechermarktClient/MainWindow.xaml.cs create mode 100644 BuechermarktClient/Models/Book.cs create mode 100644 BuechermarktClient/Models/BookType.cs create mode 100644 BuechermarktClient/Models/Student.cs create mode 100644 BuechermarktClient/Properties/AssemblyInfo.cs create mode 100644 BuechermarktClient/Properties/Resources.Designer.cs create mode 100644 BuechermarktClient/Properties/Resources.resx create mode 100644 BuechermarktClient/Properties/Settings.Designer.cs create mode 100644 BuechermarktClient/Properties/Settings.settings create mode 100644 BuechermarktClient/Students.xaml create mode 100644 BuechermarktClient/Students.xaml.cs create mode 100644 BuechermarktClient/StudentsEdit.xaml create mode 100644 BuechermarktClient/StudentsEdit.xaml.cs create mode 100644 BuechermarktClient/bin/Debug/BuechermarktClient.exe.config create mode 100644 BuechermarktClient/bin/Debug/MongoDB.Bson.xml create mode 100644 BuechermarktClient/bin/Debug/MongoDB.Driver.Core.xml create mode 100644 BuechermarktClient/bin/Debug/MongoDB.Driver.xml create mode 100644 BuechermarktClient/bin/Debug/Newtonsoft.Json.xml create mode 100644 BuechermarktClient/bin/Debug/RestSharp.xml create mode 100644 BuechermarktClient/obj/Debug/App.g.cs create mode 100644 BuechermarktClient/obj/Debug/App.g.i.cs create mode 100644 BuechermarktClient/obj/Debug/BookTypes - Kopieren.g.i.cs create mode 100644 BuechermarktClient/obj/Debug/BookTypes.baml create mode 100644 BuechermarktClient/obj/Debug/BookTypes.g.cs create mode 100644 BuechermarktClient/obj/Debug/BookTypes.g.i.cs create mode 100644 BuechermarktClient/obj/Debug/BookTypesEdit - Kopieren.g.i.cs create mode 100644 BuechermarktClient/obj/Debug/BookTypesEdit.baml create mode 100644 BuechermarktClient/obj/Debug/BookTypesEdit.g.cs create mode 100644 BuechermarktClient/obj/Debug/BookTypesEdit.g.i.cs create mode 100644 BuechermarktClient/obj/Debug/BuechermarktClient.Properties.Resources.resources create mode 100644 BuechermarktClient/obj/Debug/BuechermarktClient.csproj.FileListAbsolute.txt create mode 100644 BuechermarktClient/obj/Debug/BuechermarktClient.g.resources create mode 100644 BuechermarktClient/obj/Debug/BuechermarktClient_MarkupCompile.lref create mode 100644 BuechermarktClient/obj/Debug/Login.g.i.cs create mode 100644 BuechermarktClient/obj/Debug/MainWindow.baml create mode 100644 BuechermarktClient/obj/Debug/MainWindow.g.cs create mode 100644 BuechermarktClient/obj/Debug/MainWindow.g.i.cs create mode 100644 BuechermarktClient/obj/Debug/Students.baml create mode 100644 BuechermarktClient/obj/Debug/Students.g.cs create mode 100644 BuechermarktClient/obj/Debug/Students.g.i.cs create mode 100644 BuechermarktClient/obj/Debug/StudentsEdit.baml create mode 100644 BuechermarktClient/obj/Debug/StudentsEdit.g.cs create mode 100644 BuechermarktClient/obj/Debug/StudentsEdit.g.i.cs create mode 100644 BuechermarktClient/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs create mode 100644 BuechermarktClient/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs create mode 100644 BuechermarktClient/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs create mode 100644 BuechermarktClient/packages.config create mode 100644 packages/MongoDB.Bson.2.4.3/License.rtf create mode 100644 packages/MongoDB.Bson.2.4.3/MongoDB.Bson.2.4.3.nupkg create mode 100644 packages/MongoDB.Bson.2.4.3/lib/net45/MongoDB.Bson.XML create mode 100644 packages/MongoDB.Bson.2.4.3/lib/netstandard1.5/MongoDB.Bson.xml create mode 100644 packages/MongoDB.Driver.2.4.3/License.rtf create mode 100644 packages/MongoDB.Driver.2.4.3/MongoDB.Driver.2.4.3.nupkg create mode 100644 packages/MongoDB.Driver.2.4.3/lib/net45/MongoDB.Driver.XML create mode 100644 packages/MongoDB.Driver.2.4.3/lib/netstandard1.5/MongoDB.Driver.xml create mode 100644 packages/MongoDB.Driver.Core.2.4.3/License.rtf create mode 100644 packages/MongoDB.Driver.Core.2.4.3/MongoDB.Driver.Core.2.4.3.nupkg create mode 100644 packages/MongoDB.Driver.Core.2.4.3/lib/net45/MongoDB.Driver.Core.XML create mode 100644 packages/MongoDB.Driver.Core.2.4.3/lib/netstandard1.5/MongoDB.Driver.Core.xml create mode 100644 packages/Newtonsoft.Json.10.0.2/LICENSE.md create mode 100644 packages/Newtonsoft.Json.10.0.2/Newtonsoft.Json.10.0.2.nupkg create mode 100644 packages/Newtonsoft.Json.10.0.2/lib/net20/Newtonsoft.Json.xml create mode 100644 packages/Newtonsoft.Json.10.0.2/lib/net35/Newtonsoft.Json.xml create mode 100644 packages/Newtonsoft.Json.10.0.2/lib/net40/Newtonsoft.Json.xml create mode 100644 packages/Newtonsoft.Json.10.0.2/lib/net45/Newtonsoft.Json.xml create mode 100644 packages/Newtonsoft.Json.10.0.2/lib/netstandard1.0/Newtonsoft.Json.xml create mode 100644 packages/Newtonsoft.Json.10.0.2/lib/netstandard1.3/Newtonsoft.Json.xml create mode 100644 packages/Newtonsoft.Json.10.0.2/lib/portable-net40+sl5+win8+wpa81+wp8/Newtonsoft.Json.xml create mode 100644 packages/Newtonsoft.Json.10.0.2/lib/portable-net45+win8+wpa81+wp8/Newtonsoft.Json.xml create mode 100644 packages/Newtonsoft.Json.10.0.2/tools/install.ps1 create mode 100644 packages/RestSharp.105.2.3/RestSharp.105.2.3.nupkg create mode 100644 packages/RestSharp.105.2.3/lib/MonoAndroid10/RestSharp.xml create mode 100644 packages/RestSharp.105.2.3/lib/MonoTouch10/RestSharp.xml create mode 100644 packages/RestSharp.105.2.3/lib/Xamarin.iOS10/RestSharp.xml create mode 100644 packages/RestSharp.105.2.3/lib/net35/RestSharp.xml create mode 100644 packages/RestSharp.105.2.3/lib/net4-client/RestSharp.xml create mode 100644 packages/RestSharp.105.2.3/lib/net4/RestSharp.xml create mode 100644 packages/RestSharp.105.2.3/lib/net45/RestSharp.xml create mode 100644 packages/RestSharp.105.2.3/lib/net451/RestSharp.xml create mode 100644 packages/RestSharp.105.2.3/lib/net452/RestSharp.xml create mode 100644 packages/RestSharp.105.2.3/lib/net46/RestSharp.xml create mode 100644 packages/RestSharp.105.2.3/lib/sl5/RestSharp.xml create mode 100644 packages/RestSharp.105.2.3/lib/windowsphone8/RestSharp.xml create mode 100644 packages/RestSharp.105.2.3/lib/windowsphone81/RestSharp.xml create mode 100644 packages/RestSharp.105.2.3/readme.txt create mode 100644 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/System.Runtime.InteropServices.RuntimeInformation.4.3.0.nupkg create mode 100644 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/ThirdPartyNotices.txt create mode 100644 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/dotnet_library_license.txt create mode 100644 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/lib/MonoAndroid10/_._ create mode 100644 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/lib/MonoTouch10/_._ create mode 100644 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/lib/xamarinios10/_._ create mode 100644 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/lib/xamarinmac20/_._ create mode 100644 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/lib/xamarintvos10/_._ create mode 100644 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/lib/xamarinwatchos10/_._ create mode 100644 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/ref/MonoAndroid10/_._ create mode 100644 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/ref/MonoTouch10/_._ create mode 100644 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/ref/xamarinios10/_._ create mode 100644 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/ref/xamarinmac20/_._ create mode 100644 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/ref/xamarintvos10/_._ create mode 100644 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/ref/xamarinwatchos10/_._ diff --git a/BuechermarktClient.sln b/BuechermarktClient.sln new file mode 100644 index 0000000..c878023 --- /dev/null +++ b/BuechermarktClient.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26403.3 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BuechermarktClient", "BuechermarktClient\BuechermarktClient.csproj", "{4DE1DCAB-3872-42C8-8E47-A1ED6A7A56E7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4DE1DCAB-3872-42C8-8E47-A1ED6A7A56E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4DE1DCAB-3872-42C8-8E47-A1ED6A7A56E7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4DE1DCAB-3872-42C8-8E47-A1ED6A7A56E7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4DE1DCAB-3872-42C8-8E47-A1ED6A7A56E7}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/BuechermarktClient/App.config b/BuechermarktClient/App.config new file mode 100644 index 0000000..fb37333 --- /dev/null +++ b/BuechermarktClient/App.config @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BuechermarktClient/App.xaml b/BuechermarktClient/App.xaml new file mode 100644 index 0000000..d7edb4e --- /dev/null +++ b/BuechermarktClient/App.xaml @@ -0,0 +1,9 @@ + + + + + diff --git a/BuechermarktClient/App.xaml.cs b/BuechermarktClient/App.xaml.cs new file mode 100644 index 0000000..e8f18dc --- /dev/null +++ b/BuechermarktClient/App.xaml.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; + +namespace BuechermarktClient +{ + /// + /// Interaktionslogik für "App.xaml" + /// + public partial class App : Application + { + } +} diff --git a/BuechermarktClient/BookTypes.xaml b/BuechermarktClient/BookTypes.xaml new file mode 100644 index 0000000..7a6a4ea --- /dev/null +++ b/BuechermarktClient/BookTypes.xaml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/BuechermarktClient/BookTypes.xaml.cs b/BuechermarktClient/BookTypes.xaml.cs new file mode 100644 index 0000000..df2a5f9 --- /dev/null +++ b/BuechermarktClient/BookTypes.xaml.cs @@ -0,0 +1,80 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Shapes; +using BuechermarktClient.Models; +using System.Threading; +using MongoDB.Driver; + +namespace BuechermarktClient +{ + /// + /// Interaktionslogik für BookTypes.xaml + /// + public partial class BookTypes : Window + { + public Thread RefreshThread = null; + private bool ThreadRunning = true; + + public BookTypes() + { + InitializeComponent(); + RefreshThread = new Thread(RefreshThreadS); + RefreshThread.Start(); + RefreshThread.IsBackground = true; + Closing += BookTypes_Closing; + } + + private void BookTypes_Closing(object sender, System.ComponentModel.CancelEventArgs e) + { + ThreadRunning = false; + } + + public void RefreshThreadS() + { + while (ThreadRunning) + { + LoadList(); + Thread.Sleep(1000); + } + } + + public void LoadList() + { + var list = MainWindow.BookTypeCollection.FindSync((b)=>true).ToList(); + Dispatcher.BeginInvoke(new Action(delegate (){ + BookTypesList.ItemsSource = list; + })); + } + + private void AddNew_Click(object sender, RoutedEventArgs e) + { + var editWindow = new BookTypesEdit(null) + { + Owner = this + }; + editWindow.Show(); + } + + private void ListViewItem_PreviewMouseUp(object sender, MouseButtonEventArgs e) + { + var item = sender as ListViewItem; + if (item != null && item.IsSelected) + { + var editWindow = new BookTypesEdit(item.DataContext as BookType) { + Owner = this + }; + editWindow.Show(); + } + } + } +} diff --git a/BuechermarktClient/BookTypesEdit.xaml b/BuechermarktClient/BookTypesEdit.xaml new file mode 100644 index 0000000..93f6c41 --- /dev/null +++ b/BuechermarktClient/BookTypesEdit.xaml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + diff --git a/BuechermarktClient/BookTypesEdit.xaml.cs b/BuechermarktClient/BookTypesEdit.xaml.cs new file mode 100644 index 0000000..c12fc6a --- /dev/null +++ b/BuechermarktClient/BookTypesEdit.xaml.cs @@ -0,0 +1,93 @@ +using BuechermarktClient.Models; +using MongoDB.Driver; +using System.ComponentModel; +using System.Windows; + +namespace BuechermarktClient +{ + /// + /// Interaktionslogik für BookTypesEdit.xaml + /// + public partial class BookTypesEdit : Window, INotifyPropertyChanged + { + private bool New = false; + private BookType BookType = null; + private string _Name; + public string BName + { + get + { + return _Name; + } + set { + if(value != _Name) + { + _Name = value; + OnPropertyChanged("BName"); + } + } + } + + private string _ISBN; + public string BISBN + { + get + { + return _ISBN; + } + set + { + if (value != _ISBN) + { + _ISBN = value; + OnPropertyChanged("BISBN"); + } + } + } + + public event PropertyChangedEventHandler PropertyChanged; + protected void OnPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + public BookTypesEdit(BookType booktype) + { + DataContext = this; + InitializeComponent(); + if(booktype == null) + { + BookType = new BookType(); + New = true; + } else + { + BookType = booktype; + BName = booktype.Name; + BISBN = booktype.ISBN; + } + } + + private void Save_Click(object sender, RoutedEventArgs e) + { + BookType.Name = BName; + BookType.ISBN = BISBN; + if(New) + { + MainWindow.BookTypeCollection.InsertOne(BookType); + } else + { + MainWindow.BookTypeCollection.FindOneAndUpdate(bt => bt.ID == BookType.ID, Builders.Update.Set((bt) => bt.Name, BookType.Name).Set(bt => bt.ISBN, BookType.ISBN)); + } + Close(); + } + + private void Delete_Click(object sender, RoutedEventArgs e) + { + if(BookType.ID != null) + { + MainWindow.BookTypeCollection.DeleteOne(bt => bt.ID == BookType.ID); + } + Close(); + } + } +} diff --git a/BuechermarktClient/BuechermarktClient.csproj b/BuechermarktClient/BuechermarktClient.csproj new file mode 100644 index 0000000..26bf0f7 --- /dev/null +++ b/BuechermarktClient/BuechermarktClient.csproj @@ -0,0 +1,147 @@ + + + + + Debug + AnyCPU + {4DE1DCAB-3872-42C8-8E47-A1ED6A7A56E7} + WinExe + BuechermarktClient + BuechermarktClient + v4.5.2 + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\MongoDB.Bson.2.4.3\lib\net45\MongoDB.Bson.dll + + + ..\packages\MongoDB.Driver.2.4.3\lib\net45\MongoDB.Driver.dll + + + ..\packages\MongoDB.Driver.Core.2.4.3\lib\net45\MongoDB.Driver.Core.dll + + + ..\packages\Newtonsoft.Json.10.0.2\lib\net45\Newtonsoft.Json.dll + + + ..\packages\RestSharp.105.2.3\lib\net452\RestSharp.dll + + + + + ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll + + + + + + + + + 4.0 + + + + + + + + MSBuild:Compile + Designer + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + MSBuild:Compile + Designer + + + Designer + MSBuild:Compile + + + MSBuild:Compile + Designer + + + App.xaml + Code + + + BookTypes.xaml + + + Students.xaml + + + StudentsEdit.xaml + + + BookTypesEdit.xaml + + + MainWindow.xaml + Code + + + + + + + + Code + + + True + True + Resources.resx + + + True + Settings.settings + True + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + + + \ No newline at end of file diff --git a/BuechermarktClient/MainWindow.xaml b/BuechermarktClient/MainWindow.xaml new file mode 100644 index 0000000..3875efb --- /dev/null +++ b/BuechermarktClient/MainWindow.xaml @@ -0,0 +1,17 @@ + + + + + + + + + diff --git a/BuechermarktClient/Students.xaml.cs b/BuechermarktClient/Students.xaml.cs new file mode 100644 index 0000000..13454d5 --- /dev/null +++ b/BuechermarktClient/Students.xaml.cs @@ -0,0 +1,75 @@ +using System; +using System.Linq; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Input; +using BuechermarktClient.Models; +using System.Threading; +using MongoDB.Driver; + +namespace BuechermarktClient +{ + /// + /// Interaktionslogik für Students.xaml + /// + public partial class Students : Window + { + public Thread RefreshThread = null; + private bool ThreadRunning = true; + + public Students() + { + InitializeComponent(); + InitializeComponent(); + RefreshThread = new Thread(RefreshThreadS); + RefreshThread.Start(); + RefreshThread.IsBackground = true; + Closing += Students_Closing; + } + + + private void Students_Closing(object sender, System.ComponentModel.CancelEventArgs e) + { + ThreadRunning = false; + } + + public void RefreshThreadS() + { + while (ThreadRunning) + { + LoadList(); + Thread.Sleep(1000); + } + } + + public void LoadList() + { + var list = MainWindow.StudentCollection.FindSync((s) => true).ToList(); + Dispatcher.BeginInvoke(new Action(delegate () { + BookTypesList.ItemsSource = list; + })); + } + + private void AddNew_Click(object sender, RoutedEventArgs e) + { + var editWindow = new StudentsEdit(null) + { + Owner = this + }; + editWindow.Show(); + } + + private void ListViewItem_PreviewMouseUp(object sender, MouseButtonEventArgs e) + { + var item = sender as ListViewItem; + if (item != null && item.IsSelected) + { + var editWindow = new StudentsEdit(item.DataContext as Student) + { + Owner = this + }; + editWindow.Show(); + } + } + } +} diff --git a/BuechermarktClient/StudentsEdit.xaml b/BuechermarktClient/StudentsEdit.xaml new file mode 100644 index 0000000..fbf8aaa --- /dev/null +++ b/BuechermarktClient/StudentsEdit.xaml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/BuechermarktClient/StudentsEdit.xaml.cs b/BuechermarktClient/StudentsEdit.xaml.cs new file mode 100644 index 0000000..0ed9025 --- /dev/null +++ b/BuechermarktClient/StudentsEdit.xaml.cs @@ -0,0 +1,157 @@ +using BuechermarktClient.Models; +using MongoDB.Driver; +using System.ComponentModel; +using System.Windows; + +namespace BuechermarktClient +{ + /// + /// Interaktionslogik für BookTypesEdit.xaml + /// + public partial class StudentsEdit : Window, INotifyPropertyChanged + { + private bool New = false; + private Student Student = null; + public string Forname + { + get + { + return Student.Forname; + } + set { + if(value != Student.Forname) + { + Student.Forname = value; + OnPropertyChanged("Forname"); + } + } + } + + public string Lastname + { + get + { + return Student.Lastname; + } + set + { + if (value != Student.Lastname) + { + Student.Lastname = value; + OnPropertyChanged("Lastname"); + } + } + } + + public string EMail + { + get + { + return Student.EMail; + } + set + { + if (value != Student.EMail) + { + Student.EMail = value; + OnPropertyChanged("EMail"); + } + } + } + + public string PhoneNumber + { + get + { + return Student.PhoneNumber; + } + set + { + if (value != Student.PhoneNumber) + { + Student.PhoneNumber = value; + OnPropertyChanged("PhoneNumber"); + } + } + } + + public string LabelId + { + get + { + return Student.LabelId; + } + set + { + if (value != Student.LabelId) + { + Student.LabelId = value; + OnPropertyChanged("LabelId"); + } + } + } + + public string Form + { + get + { + return Student.Form; + } + set + { + if (value != Student.Form) + { + Student.Form = value; + OnPropertyChanged("Form"); + } + } + } + + public event PropertyChangedEventHandler PropertyChanged; + protected void OnPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + public StudentsEdit(Student student) + { + DataContext = this; + if(student == null) + { + Student = new Student(); + New = true; + } else + { + Student = student; + } + InitializeComponent(); + } + + private void Save_Click(object sender, RoutedEventArgs e) + { + if(New) + { + MainWindow.StudentCollection.InsertOne(Student); + } else + { + MainWindow.StudentCollection.FindOneAndUpdate(s => s.ID == Student.ID, Builders.Update + .Set(s => s.Forname, Student.Forname) + .Set(s => s.Lastname, Student.Lastname) + .Set(s => s.EMail, Student.EMail) + .Set(s => s.PhoneNumber, Student.PhoneNumber) + .Set(s => s.LabelId, Student.LabelId) + .Set(s=>s.Form, Student.Form)); + } + Close(); + } + + private void Delete_Click(object sender, RoutedEventArgs e) + { + if(Student.ID != null) + { + MainWindow.StudentCollection.DeleteOne(bt => bt.ID == Student.ID); + } + Close(); + } + } +} diff --git a/BuechermarktClient/bin/Debug/BuechermarktClient.exe.config b/BuechermarktClient/bin/Debug/BuechermarktClient.exe.config new file mode 100644 index 0000000..fb37333 --- /dev/null +++ b/BuechermarktClient/bin/Debug/BuechermarktClient.exe.config @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BuechermarktClient/bin/Debug/MongoDB.Bson.xml b/BuechermarktClient/bin/Debug/MongoDB.Bson.xml new file mode 100644 index 0000000..e38dd06 --- /dev/null +++ b/BuechermarktClient/bin/Debug/MongoDB.Bson.xml @@ -0,0 +1,22445 @@ + + + + MongoDB.Bson + + + + + Represents a BSON array. + + + + + Initializes a new instance of the BsonArray class. + + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + The initial capacity of the array. + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Gets the BsonType of this BsonValue. + + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Clears the array. + + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Compares the array to another array. + + The other array. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other. + + + + Compares the array to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Copies elements from this array to another array as raw values (see BsonValue.RawValue). + + The other array. + The zero based index of the other array at which to start copying. + + + + Gets the count of array elements. + + + + + Creates a new BsonArray. + + A value to be mapped to a BsonArray. + A BsonArray or null. + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Compares this array to another array. + + The other array. + True if the two arrays are equal. + + + + Compares this BsonArray to another object. + + The other object. + True if the other object is a BsonArray and equal to this one. + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Gets whether the array is read-only. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Compares two BsonArray values. + + The first BsonArray. + The other BsonArray. + True if the two BsonArray values are equal according to ==. + + + + Compares two BsonArray values. + + The first BsonArray. + The other BsonArray. + True if the two BsonArray values are not equal according to ==. + + + + Gets the array elements as raw values (see BsonValue.RawValue). + + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Gets the array elements. + + + + + Represents BSON binary data. + + + + + Initializes a new instance of the BsonBinaryData class. + + The binary data. + + + + Initializes a new instance of the BsonBinaryData class. + + The binary data. + The binary data subtype. + + + + Initializes a new instance of the BsonBinaryData class. + + The binary data. + The binary data subtype. + The representation for Guids. + + + + Initializes a new instance of the BsonBinaryData class. + + A Guid. + + + + Initializes a new instance of the BsonBinaryData class. + + A Guid. + The representation for Guids. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the binary data. + + + + + Compares this BsonBinaryData to another BsonBinaryData. + + The other BsonBinaryData. + A 32-bit signed integer that indicates whether this BsonBinaryData is less than, equal to, or greather than the other. + + + + Compares the BsonBinaryData to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonBinaryData is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonBinaryData. + + An object to be mapped to a BsonBinaryData. + A BsonBinaryData or null. + + + + Compares this BsonBinaryData to another BsonBinaryData. + + The other BsonBinaryData. + True if the two BsonBinaryData values are equal. + + + + Compares this BsonBinaryData to another object. + + The other object. + True if the other object is a BsonBinaryData and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Gets the representation to use when representing the Guid as BSON binary data. + + + + + Compares two BsonBinaryData values. + + The first BsonBinaryData. + The other BsonBinaryData. + True if the two BsonBinaryData values are equal according to ==. + + + + Converts a byte array to a BsonBinaryData. + + A byte array. + A BsonBinaryData. + + + + Converts a Guid to a BsonBinaryData. + + A Guid. + A BsonBinaryData. + + + + Compares two BsonBinaryData values. + + The first BsonBinaryData. + The other BsonBinaryData. + True if the two BsonBinaryData values are not equal according to ==. + + + + Gets the BsonBinaryData as a Guid if the subtype is UuidStandard or UuidLegacy, otherwise null. + + + + + Gets the binary data subtype. + + + + + Converts this BsonBinaryData to a Guid. + + A Guid. + + + + Converts this BsonBinaryData to a Guid. + + The representation for Guids. + A Guid. + + + + Returns a string representation of the binary data. + + A string representation of the binary data. + + + + Represents the binary data subtype of a BsonBinaryData. + + + + + Binary data. + + + + + A function. + + + + + Obsolete binary data subtype (use Binary instead). + + + + + A UUID in a driver dependent legacy byte order. + + + + + A UUID in standard network byte order. + + + + + An MD5 hash. + + + + + User defined binary data. + + + + + Represents a BSON boolean value. + + + + + Initializes a new instance of the BsonBoolean class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonBoolean to another BsonBoolean. + + The other BsonBoolean. + A 32-bit signed integer that indicates whether this BsonBoolean is less than, equal to, or greather than the other. + + + + Compares the BsonBoolean to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonBoolean is less than, equal to, or greather than the other BsonValue. + + + + Returns one of the two possible BsonBoolean values. + + An object to be mapped to a BsonBoolean. + A BsonBoolean or null. + + + + Compares this BsonBoolean to another BsonBoolean. + + The other BsonBoolean. + True if the two BsonBoolean values are equal. + + + + Compares this BsonBoolean to another object. + + The other object. + True if the other object is a BsonBoolean and equal to this one. + + + + Gets the instance of BsonBoolean that represents false. + + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Compares two BsonBoolean values. + + The first BsonBoolean. + The other BsonBoolean. + True if the two BsonBoolean values are equal according to ==. + + + + Converts a bool to a BsonBoolean. + + A bool. + A BsonBoolean. + + + + Compares two BsonBoolean values. + + The first BsonBoolean. + The other BsonBoolean. + True if the two BsonBoolean values are not equal according to ==. + + + + Gets the BsonBoolean as a bool. + + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets the instance of BsonBoolean that represents true. + + + + + Gets the value of this BsonBoolean. + + + + + A static class containing BSON constants. + + + + + Gets the number of milliseconds since the Unix epoch for DateTime.MaxValue. + + + + + Gets the number of milliseconds since the Unix epoch for DateTime.MinValue. + + + + + Gets the Unix Epoch for BSON DateTimes (1970-01-01). + + + + + Represents a BSON DateTime value. + + + + + Initializes a new instance of the BsonDateTime class. + + A DateTime. + + + + Initializes a new instance of the BsonDateTime class. + + Milliseconds since Unix Epoch. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonDateTime to another BsonDateTime. + + The other BsonDateTime. + A 32-bit signed integer that indicates whether this BsonDateTime is less than, equal to, or greather than the other. + + + + Compares the BsonDateTime to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDateTime is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonDateTime. + + An object to be mapped to a BsonDateTime. + A BsonDateTime or null. + + + + Compares this BsonDateTime to another BsonDateTime. + + The other BsonDateTime. + True if the two BsonDateTime values are equal. + + + + Compares this BsonDateTime to another object. + + The other object. + True if the other object is a BsonDateTime and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToDateTime method. + + The format provider. + A DateTime. + + + + Gets whether this BsonDateTime is a valid .NET DateTime. + + + + + Gets the number of milliseconds since the Unix Epoch. + + + + + Compares two BsonDateTime values. + + The first BsonDateTime. + The other BsonDateTime. + True if the two BsonDateTime values are equal according to ==. + + + + Converts a DateTime to a BsonDateTime. + + A DateTime. + A BsonDateTime. + + + + Compares two BsonDateTime values. + + The first BsonDateTime. + The other BsonDateTime. + True if the two BsonDateTime values are not equal according to ==. + + + + Gets the number of milliseconds since the Unix Epoch. + + + + + Converts this BsonValue to a DateTime in local time. + + A DateTime. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Converts this BsonValue to a DateTime in UTC. + + A DateTime. + + + + Gets the DateTime value. + + + + + Represents a BSON Decimal128 value. + + + + + Initializes a new instance of the class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonDecimal128 to another BsonDecimal128. + + The other BsonDecimal128. + A 32-bit signed integer that indicates whether this BsonDecimal128 is less than, equal to, or greather than the other. + + + + Compares this BsonValue to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonValue is less than, equal to, or greather than the other BsonValue. + + + + Creates a new instance of the BsonDecimal128 class. + + An object to be mapped to a BsonDecimal128. + A BsonDecimal128. + + + + Compares this BsonDecimal128 to another BsonDecimal128. + + The other BsonDecimal128. + True if the two BsonDecimal128 values are equal. + + + + Compares this BsonValue to another object. + + The other object. + True if the other object is a BsonValue and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Compares two BsonDecimal128 values. + + The first BsonDecimal128. + The other BsonDecimal128. + True if the two BsonDecimal128 values are equal according to ==. + + + + Converts a Decimal128 to a BsonDecimal128. + + A Decimal128. + A BsonDecimal128. + + + + Compares two BsonDecimal128 values. + + The first BsonDecimal128. + The other BsonDecimal128. + True if the two BsonDecimal128 values are not equal according to ==. + + + + Implementation of operator ==. + + The other BsonValue. + True if the two BsonValues are equal according to ==. + + + + Gets the raw value of this BsonValue (or null if this BsonValue doesn't have a single scalar value). + + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a Decimal. + + A Decimal. + + + + Converts this BsonValue to a Decimal128. + + A Decimal128. + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int64. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the value. + + + + + A static helper class containing BSON defaults. + + + + + Gets or sets the dynamic array serializer. + + + + + Gets or sets the dynamic document serializer. + + + + + Gets or sets the default representation to be used in serialization of + Guids to the database. + + + + + Gets or sets the default max document size. The default is 4MiB. + + + + + Gets or sets the default max serialization depth (used to detect circular references during serialization). The default is 100. + + + + + Represents a BSON document. + + + + + Initializes a new instance of the BsonDocument class. + + + + + Initializes a new instance of the BsonDocument class and adds one element. + + An element to add to the document. + + + + Initializes a new instance of the BsonDocument class and adds one or more elements. + + One or more elements to add to the document. + + + + Initializes a new instance of the BsonDocument class specifying whether duplicate element names are allowed + (allowing duplicate element names is not recommended). + + Whether duplicate element names are allowed. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + A list of keys to select values from the dictionary. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + A list of keys to select values from the dictionary. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a list of elements. + + A list of elements to add to the document. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + A list of keys to select values from the dictionary. + + + + Initializes a new instance of the BsonDocument class and creates and adds a new element. + + The name of the element to add to the document. + The value of the element to add to the document. + + + + Adds an element to the document. + + The element to add. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + If the condition is false the value factory is not called at all. + + The name of the element. + A delegate called to compute the value of the element if condition is true. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Gets or sets whether to allow duplicate names (allowing duplicate names is not recommended). + + + + + Gets the BsonType of this BsonValue. + + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + A shallow clone of the document. + + + + Compares this document to another document. + + The other document. + A 32-bit signed integer that indicates whether this document is less than, equal to, or greather than the other. + + + + Compares the BsonDocument to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDocument is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + True if the document contains an element with the specified name. + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + True if the document contains an element with the specified value. + + + + Creates a new BsonDocument by mapping an object to a BsonDocument. + + The object to be mapped to a BsonDocument. + A BsonDocument. + + + + Creates a deep clone of the document (see also Clone). + + A deep clone of the document. + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Compares this document to another document. + + The other document. + True if the two documents are equal. + + + + Compares this BsonDocument to another object. + + The other object. + True if the other object is a BsonDocument and equal to this one. + + + + Gets an element of this document. + + The zero based index of the element. + The element. + + + + Gets an element of this document. + + The name of the element. + A BsonElement. + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the value of an element. + + The zero based index of the element. + The value of the element. + + + + Gets the value of an element. + + The name of the element. + The value of the element. + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + The value of the element or the default value if the element is not found. + + + + Gets the index of an element. + + The name of the element. + The index of the element, or -1 if the element is not found. + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value to return if the element is not found. + Teh value of the element or a default value if the element is not found. + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + The document (so method calls can be chained). + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + The document (so method calls can be chained). + + + + Gets the element names. + + + + + Compares two BsonDocument values. + + The first BsonDocument. + The other BsonDocument. + True if the two BsonDocument values are equal according to ==. + + + + Compares two BsonDocument values. + + The first BsonDocument. + The other BsonDocument. + True if the two BsonDocument values are not equal according to ==. + + + + Parses a JSON string and returns a BsonDocument. + + The JSON string. + A BsonDocument. + + + + Gets the raw values (see BsonValue.RawValue). + + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + The document (so method calls can be chained). + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + The document (so method calls can be chained). + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + The document. + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + The document. + + + + Converts the BsonDocument to a Dictionary<string, object>. + + A dictionary. + + + + Converts the BsonDocument to a Hashtable. + + A hashtable. + + + + Returns a string representation of the document. + + A string representation of the document. + + + + Tries to get an element of this document. + + The name of the element. + The element. + True if an element with that name was found. + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + True if an element with that name was found. + + + + Tries to parse a JSON string and returns a value indicating whether it succeeded or failed. + + The JSON string. + The result. + Whether it succeeded or failed. + + + + Gets the values. + + + + + Represents a BsonDocument wrapper. + + + + + Initializes a new instance of the class. + + The value. + + + + Initializes a new instance of the class. + + The value. + The serializer. + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Creates a new instance of the BsonDocumentWrapper class. + + The nominal type of the wrapped object. + The wrapped object. + A BsonDocumentWrapper. + + + + Creates a new instance of the BsonDocumentWrapper class. + + The wrapped object. + The nominal type of the wrapped object. + A BsonDocumentWrapper. + + + + Creates a list of new instances of the BsonDocumentWrapper class. + + A list of wrapped objects. + The nominal type of the wrapped objects. + A list of BsonDocumentWrappers. + + + + Creates a list of new instances of the BsonDocumentWrapper class. + + The nominal type of the wrapped object. + A list of wrapped objects. + A list of BsonDocumentWrappers. + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Gets the serializer. + + + + + Gets the wrapped value. + + + + + Represents a BSON double value. + + + + + Initializes a new instance of the BsonDouble class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonDouble to another BsonDouble. + + The other BsonDouble. + A 32-bit signed integer that indicates whether this BsonDouble is less than, equal to, or greather than the other. + + + + Compares this BsonValue to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonValue is less than, equal to, or greather than the other BsonValue. + + + + Creates a new instance of the BsonDouble class. + + An object to be mapped to a BsonDouble. + A BsonDouble. + + + + Compares this BsonDouble to another BsonDouble. + + The other BsonDouble. + True if the two BsonDouble values are equal. + + + + Compares this BsonValue to another object. + + The other object. + True if the other object is a BsonValue and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Compares two BsonDouble values. + + The first BsonDouble. + The other BsonDouble. + True if the two BsonDouble values are equal according to ==. + + + + Converts a double to a BsonDouble. + + A double. + A BsonDouble. + + + + Compares two BsonDouble values. + + The first BsonDouble. + The other BsonDouble. + True if the two BsonDouble values are not equal according to ==. + + + + Implementation of operator ==. + + The other BsonValue. + True if the two BsonValues are equal according to ==. + + + + Gets the raw value of this BsonValue (or null if this BsonValue doesn't have a single scalar value). + + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a Decimal. + + A Decimal. + + + + Converts this BsonValue to a Decimal128. + + A Decimal128. + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int64. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the value of this BsonDouble. + + + + + Represents a BSON element. + + + + + Initializes a new instance of the BsonElement class. + + The name of the element. + The value of the element. + + + + Creates a shallow clone of the element (see also DeepClone). + + A shallow clone of the element. + + + + Compares this BsonElement to another BsonElement. + + The other BsonElement. + A 32-bit signed integer that indicates whether this BsonElement is less than, equal to, or greather than the other. + + + + Creates a deep clone of the element (see also Clone). + + A deep clone of the element. + + + + Compares this BsonElement to another BsonElement. + + The other BsonElement. + True if the two BsonElement values are equal. + + + + Compares this BsonElement to another object. + + The other object. + True if the other object is a BsonElement and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Gets the name of the element. + + + + + Compares two BsonElements. + + The first BsonElement. + The other BsonElement. + True if the two BsonElements are equal (or both null). + + + + Compares two BsonElements. + + The first BsonElement. + The other BsonElement. + True if the two BsonElements are not equal (or one is null and the other is not). + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets or sets the value of the element. + + + + + Represents a BSON exception. + + + + + Initializes a new instance of the BsonException class. + + + + + Initializes a new instance of the BsonException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the BsonException class. + + The error message. + + + + Initializes a new instance of the BsonException class. + + The error message. + The inner exception. + + + + Initializes a new instance of the BsonException class. + + The error message format string. + One or more args for the error message. + + + + A static class containing BSON extension methods. + + + + + Serializes an object to a BSON byte array. + + The object. + The nominal type of the object.. + The writer settings. + The serializer. + The serialization context configurator. + The serialization args. + A BSON byte array. + nominalType + serializer + + + + Serializes an object to a BSON byte array. + + The object. + The serializer. + The writer settings. + The serialization context configurator. + The serialization args. + The nominal type of the object. + A BSON byte array. + + + + Serializes an object to a BsonDocument. + + The object. + The nominal type of the object. + The serializer. + The serialization context configurator. + The serialization args. + A BsonDocument. + nominalType + serializer + + + + Serializes an object to a BsonDocument. + + The object. + The serializer. + The serialization context configurator. + The serialization args. + The nominal type of the object. + A BsonDocument. + + + + Serializes an object to a JSON string. + + The object. + The nominal type of the objectt. + The JsonWriter settings. + The serializer. + The serialization context configurator. + The serialization args. + + A JSON string. + + nominalType + serializer + + + + Serializes an object to a JSON string. + + The object. + The JsonWriter settings. + The serializer. + The serializastion context configurator. + The serialization args. + The nominal type of the object. + + A JSON string. + + + + + Represents a BSON int value. + + + + + Creates a new instance of the BsonInt32 class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonInt32 to another BsonInt32. + + The other BsonInt32. + A 32-bit signed integer that indicates whether this BsonInt32 is less than, equal to, or greather than the other. + + + + Compares the BsonInt32 to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonInt32 is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonInt32. + + An object to be mapped to a BsonInt32. + A BsonInt32 or null. + + + + Compares this BsonInt32 to another BsonInt32. + + The other BsonInt32. + True if the two BsonInt32 values are equal. + + + + Compares this BsonInt32 to another object. + + The other object. + True if the other object is a BsonInt32 and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToChar method. + + The format provider. + A char. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Gets an instance of BsonInt32 that represents -1. + + + + + Gets an instance of BsonInt32 that represents 1. + + + + + Compares two BsonInt32 values. + + The first BsonInt32. + The other BsonInt32. + True if the two BsonInt32 values are equal according to ==. + + + + Converts an int to a BsonInt32. + + An int. + A BsonInt32. + + + + Compares two BsonInt32 values. + + The first BsonInt32. + The other BsonInt32. + True if the two BsonInt32 values are not equal according to ==. + + + + Compares this BsonInt32 against another BsonValue. + + The other BsonValue. + True if this BsonInt32 and the other BsonValue are equal according to ==. + + + + Gets the BsonInt32 as an int. + + + + + Gets an instance of BsonInt32 that represents 3. + + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a Decimal. + + A Decimal. + + + + Converts this BsonValue to a Decimal128. + + A Decimal128. + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets an instance of BsonInt32 that represents 2. + + + + + Gets the value of this BsonInt32. + + + + + Gets an instance of BsonInt32 that represents -0. + + + + + Represents a BSON long value. + + + + + Initializes a new instance of the BsonInt64 class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonInt64 to another BsonInt64. + + The other BsonInt64. + A 32-bit signed integer that indicates whether this BsonInt64 is less than, equal to, or greather than the other. + + + + Compares the BsonInt64 to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonInt64 is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonInt64. + + An object to be mapped to a BsonInt64. + A BsonInt64 or null. + + + + Compares this BsonInt64 to another BsonInt64. + + The other BsonInt64. + True if the two BsonInt64 values are equal. + + + + Compares this BsonInt64 to another object. + + The other object. + True if the other object is a BsonInt64 and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToChar method. + + The format provider. + A char. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Compares two BsonInt64 values. + + The first BsonInt64. + The other BsonInt64. + True if the two BsonInt64 values are equal according to ==. + + + + Converts a long to a BsonInt64. + + A long. + A BsonInt64. + + + + Compares two BsonInt64 values. + + The first BsonInt64. + The other BsonInt64. + True if the two BsonInt64 values are not equal according to ==. + + + + Compares this BsonInt32 against another BsonValue. + + The other BsonValue. + True if this BsonInt64 and the other BsonValue are equal according to ==. + + + + Gets the BsonInt64 as a long. + + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a Decimal. + + A Decimal. + + + + Converts this BsonValue to a Decimal128. + + A Decimal128. + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets the value of this BsonInt64. + + + + + Represents a BSON internal exception (almost surely the result of a bug). + + + + + Initializes a new instance of the BsonInternalException class. + + + + + Initializes a new instance of the BsonInternalException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the BsonInternalException class. + + The error message. + + + + Initializes a new instance of the BsonInternalException class. + + The error message. + The inner exception. + + + + Represents a BSON JavaScript value. + + + + + Initializes a new instance of the BsonJavaScript class. + + The JavaScript code. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the JavaScript code. + + + + + Compares this BsonJavaScript to another BsonJavaScript. + + The other BsonJavaScript. + A 32-bit signed integer that indicates whether this BsonJavaScript is less than, equal to, or greather than the other. + + + + Compares the BsonJavaScript to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonJavaScript is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonJavaScript. + + An object to be mapped to a BsonJavaScript. + A BsonJavaScript or null. + + + + Compares this BsonJavaScript to another BsonJavaScript. + + The other BsonJavaScript. + True if the two BsonJavaScript values are equal. + + + + Compares this BsonJavaScript to another object. + + The other object. + True if the other object is a BsonJavaScript and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Compares two BsonJavaScript values. + + The first BsonJavaScript. + The other BsonJavaScript. + True if the two BsonJavaScript values are equal according to ==. + + + + Converts a string to a BsonJavaScript. + + A string. + A BsonJavaScript. + + + + Compares two BsonJavaScript values. + + The first BsonJavaScript. + The other BsonJavaScript. + True if the two BsonJavaScript values are not equal according to ==. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON JavaScript value with a scope. + + + + + Initializes a new instance of the BsonJavaScriptWithScope class. + + The JavaScript code. + A scope (a set of variables with values). + + + + Gets the BsonType of this BsonValue. + + + + + Creates a shallow clone of the BsonJavaScriptWithScope (see also DeepClone). + + A shallow clone of the BsonJavaScriptWithScope. + + + + Compares this BsonJavaScriptWithScope to another BsonJavaScriptWithScope. + + The other BsonJavaScriptWithScope. + A 32-bit signed integer that indicates whether this BsonJavaScriptWithScope is less than, equal to, or greather than the other. + + + + Compares the BsonJavaScriptWithScope to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonJavaScriptWithScope is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonJavaScriptWithScope. + + An object to be mapped to a BsonJavaScriptWithScope. + A BsonJavaScriptWithScope or null. + + + + Creates a deep clone of the BsonJavaScriptWithScope (see also Clone). + + A deep clone of the BsonJavaScriptWithScope. + + + + Compares this BsonJavaScriptWithScope to another BsonJavaScriptWithScope. + + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are equal. + + + + Compares this BsonJavaScriptWithScope to another object. + + The other object. + True if the other object is a BsonJavaScriptWithScope and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Compares two BsonJavaScriptWithScope values. + + The first BsonJavaScriptWithScope. + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are equal according to ==. + + + + Compares two BsonJavaScriptWithScope values. + + The first BsonJavaScriptWithScope. + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are not equal according to ==. + + + + Gets the scope (a set of variables with values). + + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the BSON MaxKey value. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonMaxKey to another BsonMaxKey. + + The other BsonMaxKey. + A 32-bit signed integer that indicates whether this BsonMaxKey is less than, equal to, or greather than the other. + + + + Compares the BsonMaxKey to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonMaxKey is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonMaxKey to another BsonMaxKey. + + The other BsonMaxKey. + True if the two BsonMaxKey values are equal. + + + + Compares this BsonMaxKey to another object. + + The other object. + True if the other object is a BsonMaxKey and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Compares two BsonMaxKey values. + + The first BsonMaxKey. + The other BsonMaxKey. + True if the two BsonMaxKey values are equal according to ==. + + + + Compares two BsonMaxKey values. + + The first BsonMaxKey. + The other BsonMaxKey. + True if the two BsonMaxKey values are not equal according to ==. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets the singleton instance of BsonMaxKey. + + + + + Represents the BSON MinKey value. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonMinKey to another BsonMinKey. + + The other BsonMinKey. + A 32-bit signed integer that indicates whether this BsonMinKey is less than, equal to, or greather than the other. + + + + Compares the BsonMinKey to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonMinKey is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonMinKey to another BsonMinKey. + + The other BsonMinKey. + True if the two BsonMinKey values are equal. + + + + Compares this BsonMinKey to another object. + + The other object. + True if the other object is a BsonMinKey and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Compares two BsonMinKey values. + + The first BsonMinKey. + The other BsonMinKey. + True if the two BsonMinKey values are equal according to ==. + + + + Compares two BsonMinKey values. + + The first BsonMinKey. + The other BsonMinKey. + True if the two BsonMinKey values are not equal according to ==. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets the singleton instance of BsonMinKey. + + + + + Represents the BSON Null value. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonNull to another BsonNull. + + The other BsonNull. + A 32-bit signed integer that indicates whether this BsonNull is less than, equal to, or greather than the other. + + + + Compares the BsonNull to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonNull is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonNull to another BsonNull. + + The other BsonNull. + True if the two BsonNull values are equal. + + + + Compares this BsonNull to another object. + + The other object. + True if the other object is a BsonNull and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Compares two BsonNull values. + + The first BsonNull. + The other BsonNull. + True if the two BsonNull values are equal according to ==. + + + + Compares two BsonNull values. + + The first BsonNull. + The other BsonNull. + True if the two BsonNull values are not equal according to ==. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets the singleton instance of BsonNull. + + + + + Represents a BSON ObjectId value (see also ObjectId). + + + + + Initializes a new instance of the BsonObjectId class. + + The value. + + + + Initializes a new instance of the BsonObjectId class. + + The bytes. + + + + Initializes a new instance of the BsonObjectId class. + + The timestamp (expressed as a DateTime). + The machine hash. + The PID. + The increment. + + + + Initializes a new instance of the BsonObjectId class. + + The timestamp. + The machine hash. + The PID. + The increment. + + + + Initializes a new instance of the BsonObjectId class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonObjectId to another BsonObjectId. + + The other BsonObjectId. + A 32-bit signed integer that indicates whether this BsonObjectId is less than, equal to, or greather than the other. + + + + Compares the BsonObjectId to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonObjectId is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonObjectId. + + An object to be mapped to a BsonObjectId. + A BsonObjectId or null. + + + + Gets the creation time (derived from the timestamp). + + + + + Gets an instance of BsonObjectId where the value is empty. + + + + + Compares this BsonObjectId to another BsonObjectId. + + The other BsonObjectId. + True if the two BsonObjectId values are equal. + + + + Compares this BsonObjectId to another object. + + The other object. + True if the other object is a BsonObjectId and equal to this one. + + + + Generates a new BsonObjectId with a unique value. + + A BsonObjectId. + + + + Generates a new BsonObjectId with a unique value (with the timestamp component based on a given DateTime). + + The timestamp component (expressed as a DateTime). + A BsonObjectId. + + + + Generates a new BsonObjectId with a unique value (with the given timestamp). + + The timestamp component. + A BsonObjectId. + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Gets the increment. + + + + + Gets the machine. + + + + + Compares two BsonObjectId values. + + The first BsonObjectId. + The other BsonObjectId. + True if the two BsonObjectId values are equal according to ==. + + + + Converts an ObjectId to a BsonObjectId. + + An ObjectId. + A BsonObjectId. + + + + Compares two BsonObjectId values. + + The first BsonObjectId. + The other BsonObjectId. + True if the two BsonObjectId values are not equal according to ==. + + + + Parses a string and creates a new BsonObjectId. + + The string value. + A BsonObjectId. + + + + Gets the PID. + + + + + Gets the BsonObjectId as an ObjectId. + + + + + Gets the timestamp. + + + + + Converts the BsonObjectId to a byte array. + + A byte array. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Tries to parse a string and create a new BsonObjectId. + + The string value. + The new BsonObjectId. + True if the string was parsed successfully. + + + + Gets the value of this BsonObjectId. + + + + + Represents a BSON regular expression value. + + + + + Initializes a new instance of the BsonRegularExpression class. + + A regular expression pattern. + + + + Initializes a new instance of the BsonRegularExpression class. + + A regular expression pattern. + Regular expression options. + + + + Initializes a new instance of the BsonRegularExpression class. + + A Regex. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonRegularExpression to another BsonRegularExpression. + + The other BsonRegularExpression. + A 32-bit signed integer that indicates whether this BsonRegularExpression is less than, equal to, or greather than the other. + + + + Compares the BsonRegularExpression to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonRegularExpression is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonRegularExpression. + + An object to be mapped to a BsonRegularExpression. + A BsonRegularExpression or null. + + + + Compares this BsonRegularExpression to another BsonRegularExpression. + + The other BsonRegularExpression. + True if the two BsonRegularExpression values are equal. + + + + Compares this BsonRegularExpression to another object. + + The other object. + True if the other object is a BsonRegularExpression and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Compares two BsonRegularExpression values. + + The first BsonRegularExpression. + The other BsonRegularExpression. + True if the two BsonRegularExpression values are equal according to ==. + + + + Converts a string to a BsonRegularExpression. + + A string. + A BsonRegularExpression. + + + + Converts a Regex to a BsonRegularExpression. + + A Regex. + A BsonRegularExpression. + + + + Compares two BsonRegularExpression values. + + The first BsonRegularExpression. + The other BsonRegularExpression. + True if the two BsonRegularExpression values are not equal according to ==. + + + + Gets the regular expression options. + + + + + Gets the regular expression pattern. + + + + + Converts the BsonRegularExpression to a Regex. + + A Regex. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON serialization exception. + + + + + Initializes a new instance of the BsonSerializationException class. + + + + + Initializes a new instance of the BsonSerializationException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the BsonSerializationException class. + + The error message. + + + + Initializes a new instance of the BsonSerializationException class. + + The error message. + The inner exception. + + + + Represents a BSON string value. + + + + + Initializes a new instance of the BsonString class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonString to another BsonString. + + The other BsonString. + A 32-bit signed integer that indicates whether this BsonString is less than, equal to, or greather than the other. + + + + Compares the BsonString to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonString is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonString. + + An object to be mapped to a BsonString. + A BsonString or null. + + + + Gets an instance of BsonString that represents an empty string. + + + + + Compares this BsonString to another BsonString. + + The other BsonString. + True if the two BsonString values are equal. + + + + Compares this BsonString to another object. + + The other object. + True if the other object is a BsonString and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToChar method. + + The format provider. + A char. + + + + Implementation of the IConvertible ToDateTime method. + + The format provider. + A DateTime. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Compares two BsonString values. + + The first BsonString. + The other BsonString. + True if the two BsonString values are equal according to ==. + + + + Converts a string to a BsonString. + + A string. + A BsonString. + + + + Compares two BsonString values. + + The first BsonString. + The other BsonString. + True if the two BsonString values are not equal according to ==. + + + + Gets the BsonString as a string. + + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a Decimal. + + A Decimal. + + + + Converts this BsonValue to a Decimal128. + + A Decimal128. + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets the value of this BsonString. + + + + + Represents a BSON symbol value. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonSymbol to another BsonSymbol. + + The other BsonSymbol. + A 32-bit signed integer that indicates whether this BsonSymbol is less than, equal to, or greather than the other. + + + + Compares the BsonSymbol to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonSymbol is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonSymbol. + + An object to be mapped to a BsonSymbol. + A BsonSymbol or null. + + + + Compares this BsonSymbol to another BsonSymbol. + + The other BsonSymbol. + True if the two BsonSymbol values are equal. + + + + Compares this BsonSymbol to another object. + + The other object. + True if the other object is a BsonSymbol and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Gets the name of the symbol. + + + + + Compares two BsonSymbol values. + + The first BsonSymbol. + The other BsonSymbol. + True if the two BsonSymbol values are equal according to ==. + + + + Converts a string to a BsonSymbol. + + A string. + A BsonSymbol. + + + + Compares two BsonSymbol values. + + The first BsonSymbol. + The other BsonSymbol. + True if the two BsonSymbol values are not equal according to ==. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the symbol table of BsonSymbols. + + + + + Looks up a symbol (and creates a new one if necessary). + + The name of the symbol. + The symbol. + + + + Represents a BSON timestamp value. + + + + + Initializes a new instance of the BsonTimestamp class. + + The timestamp. + The increment. + + + + Initializes a new instance of the BsonTimestamp class. + + The combined timestamp/increment value. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonTimestamp to another BsonTimestamp. + + The other BsonTimestamp. + A 32-bit signed integer that indicates whether this BsonTimestamp is less than, equal to, or greather than the other. + + + + Compares the BsonTimestamp to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonTimestamp is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonTimestamp. + + An object to be mapped to a BsonTimestamp. + A BsonTimestamp or null. + + + + Compares this BsonTimestamp to another BsonTimestamp. + + The other BsonTimestamp. + True if the two BsonTimestamp values are equal. + + + + Compares this BsonTimestamp to another object. + + The other object. + True if the other object is a BsonTimestamp and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Gets the increment. + + + + + Compares two BsonTimestamp values. + + The first BsonTimestamp. + The other BsonTimestamp. + True if the two BsonTimestamp values are equal according to ==. + + + + Compares two BsonTimestamp values. + + The first BsonTimestamp. + The other BsonTimestamp. + True if the two BsonTimestamp values are not equal according to ==. + + + + Gets the timestamp. + + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets the value of this BsonTimestamp. + + + + + Represents the type of a BSON element. + + + + + Not a real BSON type. Used to signal the end of a document. + + + + + A BSON double. + + + + + A BSON string. + + + + + A BSON document. + + + + + A BSON array. + + + + + BSON binary data. + + + + + A BSON undefined value. + + + + + A BSON ObjectId. + + + + + A BSON bool. + + + + + A BSON DateTime. + + + + + A BSON null value. + + + + + A BSON regular expression. + + + + + BSON JavaScript code. + + + + + A BSON symbol. + + + + + BSON JavaScript code with a scope (a set of variables with values). + + + + + A BSON 32-bit integer. + + + + + A BSON timestamp. + + + + + A BSON 64-bit integer. + + + + + A BSON 128-bit decimal. + + + + + A BSON MinKey value. + + + + + A BSON MaxKey value. + + + + + A static class that maps between .NET objects and BsonValues. + + + + + Maps an object to an instance of the closest BsonValue class. + + An object. + A BsonValue. + + + + Maps an object to a specific BsonValue type. + + An object. + The BsonType to map to. + A BsonValue of the desired type (or BsonNull.Value if value is null and bsonType is Null). + + + + Maps a BsonValue to a .NET value using the default BsonTypeMapperOptions. + + The BsonValue. + The mapped .NET value. + + + + Maps a BsonValue to a .NET value. + + The BsonValue. + The BsonTypeMapperOptions. + The mapped .NET value. + + + + Registers a custom type mapper. + + The type. + A custom type mapper. + + + + Tries to map an object to an instance of the closest BsonValue class. + + An object. + The BsonValue. + True if the mapping was successfull. + + + + Represents options used by the BsonTypeMapper. + + + + + Initializes a new instance of the BsonTypeMapperOptions class. + + + + + Clones the BsonTypeMapperOptions. + + The cloned BsonTypeMapperOptions. + + + + Gets or sets the default BsonTypeMapperOptions. + + + + + Gets or sets how duplicate names should be handled. + + + + + Freezes the BsonTypeMapperOptions. + + The frozen BsonTypeMapperOptions. + + + + Gets whether the BsonTypeMapperOptions is frozen. + + + + + Gets or sets the type that a BsonArray should be mapped to. + + + + + Gets or sets the type that a BsonDocument should be mapped to. + + + + + Gets or sets whether binary sub type OldBinary should be mapped to byte[] the way sub type Binary is. + + + + + Represents the BSON undefined value. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonUndefined to another BsonUndefined. + + The other BsonUndefined. + A 32-bit signed integer that indicates whether this BsonUndefined is less than, equal to, or greather than the other. + + + + Compares the BsonUndefined to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonUndefined is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonUndefined to another BsonUndefined. + + The other BsonUndefined. + True if the two BsonUndefined values are equal. + + + + Compares this BsonUndefined to another object. + + The other object. + True if the other object is a BsonUndefined and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Compares two BsonUndefined values. + + The first BsonUndefined. + The other BsonUndefined. + True if the two BsonUndefined values are equal according to ==. + + + + Compares two BsonUndefined values. + + The first BsonUndefined. + The other BsonUndefined. + True if the two BsonUndefined values are not equal according to ==. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets the singleton instance of BsonUndefined. + + + + + A static class containing BSON utility methods. + + + + + Gets a friendly class name suitable for use in error messages. + + The type. + A friendly class name. + + + + Parses a hex string into its equivalent byte array. + + The hex string to parse. + The byte equivalent of the hex string. + + + + Converts from number of milliseconds since Unix epoch to DateTime. + + The number of milliseconds since Unix epoch. + A DateTime. + + + + Converts a byte array to a hex string. + + The byte array. + A hex string. + + + + Converts a DateTime to local time (with special handling for MinValue and MaxValue). + + A DateTime. + The DateTime in local time. + + + + Converts a DateTime to number of milliseconds since Unix epoch. + + A DateTime. + Number of seconds since Unix epoch. + + + + Converts a DateTime to UTC (with special handling for MinValue and MaxValue). + + A DateTime. + The DateTime in UTC. + + + + Tries to parse a hex string to a byte array. + + The hex string. + A byte array. + True if the hex string was successfully parsed. + + + + Represents a BSON value (this is an abstract class, see the various subclasses). + + + + + + + MongoDB.Bson.BsonValue + + + + + + + Casts the BsonValue to a Boolean (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonArray (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonBinaryData (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonDateTime (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonDocument (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonJavaScript (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonJavaScriptWithScope (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonMaxKey (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonMinKey (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonNull (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonRegularExpression (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonSymbol (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonTimestamp (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonUndefined (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonValue (a way of upcasting subclasses of BsonValue to BsonValue at compile time). + + + + + Casts the BsonValue to a Byte[] (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a DateTime in UTC (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Double (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Guid (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to an Int32 (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Int64 (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a DateTime in the local timezone (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Boolean} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{DateTime} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Decimal} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Decimal128} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Double} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Guid} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Int32} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Int64} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{ObjectId} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to an ObjectId (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Regex (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a String (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a DateTime in UTC (throws an InvalidCastException if the cast is not valid). + + + + + Gets the BsonType of this BsonValue. + + + + + Creates a shallow clone of the BsonValue (see also DeepClone). + + A shallow clone of the BsonValue. + + + + Compares this BsonValue to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonValue is less than, equal to, or greather than the other BsonValue. + + + + Compares the type of this BsonValue to the type of another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether the type of this BsonValue is less than, equal to, or greather than the type of the other BsonValue. + + + + Creates a new instance of the BsonValue class. + + A value to be mapped to a BsonValue. + A BsonValue. + + + + Creates a deep clone of the BsonValue (see also Clone). + + A deep clone of the BsonValue. + + + + Compares this BsonValue to another BsonValue. + + The other BsonValue. + True if the two BsonValue values are equal. + + + + Compares this BsonValue to another object. + + The other object. + True if the other object is a BsonValue and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToChar method. + + The format provider. + A char. + + + + Implementation of the IConvertible ToDateTime method. + + The format provider. + A DateTime. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Tests whether this BsonValue is a Boolean. + + + + + Tests whether this BsonValue is a BsonArray. + + + + + Tests whether this BsonValue is a BsonBinaryData. + + + + + Tests whether this BsonValue is a BsonDateTime. + + + + + Tests whether this BsonValue is a BsonDocument. + + + + + Tests whether this BsonValue is a BsonJavaScript. + + + + + Tests whether this BsonValue is a BsonJavaScriptWithScope. + + + + + Tests whether this BsonValue is a BsonMaxKey. + + + + + Tests whether this BsonValue is a BsonMinKey. + + + + + Tests whether this BsonValue is a BsonNull. + + + + + Tests whether this BsonValue is a BsonRegularExpression. + + + + + Tests whether this BsonValue is a BsonSymbol . + + + + + Tests whether this BsonValue is a BsonTimestamp. + + + + + Tests whether this BsonValue is a BsonUndefined. + + + + + Tests whether this BsonValue is a DateTime. + + + + + Tests whether this BsonValue is a Decimal128. + + + + + Tests whether this BsonValue is a Double. + + + + + Tests whether this BsonValue is a Guid. + + + + + Tests whether this BsonValue is an Int32. + + + + + Tests whether this BsonValue is an Int64. + + + + + Tests whether this BsonValue is a numeric value. + + + + + Tests whether this BsonValue is an ObjectId . + + + + + Tests whether this BsonValue is a String. + + + + + Tests whether this BsonValue is a valid DateTime. + + + + + Gets or sets a value by position (only applies to BsonDocument and BsonArray). + + The position. + The value. + + + + Gets or sets a value by name (only applies to BsonDocument). + + The name. + The value. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the two BsonValues are equal according to ==. + + + + Casts a BsonValue to a bool. + + The BsonValue. + A bool. + + + + Casts a BsonValue to a bool?. + + The BsonValue. + A bool?. + + + + Casts a BsonValue to a byte[]. + + The BsonValue. + A byte[]. + + + + Casts a BsonValue to a DateTime. + + The BsonValue. + A DateTime. + + + + Casts a BsonValue to a DateTime?. + + The BsonValue. + A DateTime?. + + + + Casts a BsonValue to a decimal. + + The BsonValue. + A decimal. + + + + Casts a BsonValue to a decimal?. + + The BsonValue. + A decimal?. + + + + Casts a BsonValue to a . + + The BsonValue. + A . + + + + Casts a BsonValue to a nullable ?. + + The BsonValue. + A nullable . + + + + Casts a BsonValue to a double. + + The BsonValue. + A double. + + + + Casts a BsonValue to a double?. + + The BsonValue. + A double?. + + + + Casts a BsonValue to a Guid. + + The BsonValue. + A Guid. + + + + Casts a BsonValue to a Guid?. + + The BsonValue. + A Guid?. + + + + Casts a BsonValue to an int. + + The BsonValue. + An int. + + + + Casts a BsonValue to an int?. + + The BsonValue. + An int?. + + + + Casts a BsonValue to a long. + + The BsonValue. + A long. + + + + Casts a BsonValue to a long?. + + The BsonValue. + A long?. + + + + Casts a BsonValue to an ObjectId. + + The BsonValue. + An ObjectId. + + + + Casts a BsonValue to an ObjectId?. + + The BsonValue. + An ObjectId?. + + + + Casts a BsonValue to a Regex. + + The BsonValue. + A Regex. + + + + Casts a BsonValue to a string. + + The BsonValue. + A string. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is greater than the other one. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is greater than or equal to the other one. + + + + Converts a to a BsonValue. + + A Decimal128. + A BsonValue. + + + + Converts an ObjectId to a BsonValue. + + An ObjectId. + A BsonValue. + + + + Converts a bool to a BsonValue. + + A bool. + A BsonValue. + + + + Converts a byte[] to a BsonValue. + + A byte[]. + A BsonValue. + + + + Converts a DateTime to a BsonValue. + + A DateTime. + A BsonValue. + + + + Converts a decimal to a BsonValue. + + A decimal. + A BsonValue. + + + + Converts a double to a BsonValue. + + A double. + A BsonValue. + + + + Converts an Enum to a BsonValue. + + An Enum. + A BsonValue. + + + + Converts a Guid to a BsonValue. + + A Guid. + A BsonValue. + + + + Converts an int to a BsonValue. + + An int. + A BsonValue. + + + + Converts a long to a BsonValue. + + A long. + A BsonValue. + + + + Converts a nullable to a BsonValue. + + A Decimal128?. + A BsonValue. + + + + Converts an ObjectId? to a BsonValue. + + An ObjectId?. + A BsonValue. + + + + Converts a bool? to a BsonValue. + + A bool?. + A BsonValue. + + + + Converts a DateTime? to a BsonValue. + + A DateTime?. + A BsonValue. + + + + Converts a decimal? to a BsonValue. + + A decimal?. + A BsonValue. + + + + Converts a double? to a BsonValue. + + A double?. + A BsonValue. + + + + Converts a Guid? to a BsonValue. + + A Guid?. + A BsonValue. + + + + Converts an int? to a BsonValue. + + An int?. + A BsonValue. + + + + Converts a long? to a BsonValue. + + A long?. + A BsonValue. + + + + Converts a string to a BsonValue. + + A string. + A BsonValue. + + + + Converts a Regex to a BsonValue. + + A Regex. + A BsonValue. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the two BsonValues are not equal according to ==. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is less than the other one. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is less than or equal to the other one. + + + + Implementation of operator ==. + + The other BsonValue. + True if the two BsonValues are equal according to ==. + + + + Gets the raw value of this BsonValue (or null if this BsonValue doesn't have a single scalar value). + + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a Decimal. + + A Decimal. + + + + Converts this BsonValue to a Decimal128. + + A Decimal128. + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int64. + + + + Converts this BsonValue to a DateTime in local time. + + A DateTime. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Converts this BsonValue to a DateTime in UTC. + + A DateTime. + + + + Represents a Decimal128 value. + + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Compares two specified Decimal128 values and returns an integer that indicates whether the first value + is greater than, less than, or equal to the second value. + + The first value. + The second value. + Less than zero if x < y, zero if x == y, and greater than zero if x > y. + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + An object to compare with this instance. + A value that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance precedes in the sort order. Zero This instance occurs in the same position in the sort order as . Greater than zero This instance follows in the sort order. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + + Determines whether the specified Decimal128 instances are considered equal. + + The first Decimal128 object to compare. + The second Decimal128 object to compare. + True if the objects are considered equal; otherwise false. If both x and y are null, the method returns true. + + + Indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if and this instance are the same type and represent the same value; otherwise, false. + + + + Creates a new Decimal128 value from its components. + + if set to true [is negative]. + The exponent. + The signficand high bits. + The significand low bits. + A Decimal128 value. + + + + Creates a new Decimal128 value from the IEEE encoding bits. + + The high bits. + The low bits. + A Decimal128 value. + + + + Gets the exponent of a Decimal128 value. + + The Decimal128 value. + The exponent. + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + + Gets the high order 64 bits of the binary representation of this instance. + + The high order 64 bits of the binary representation of this instance. + + + + Gets the low order 64 bits of the binary representation of this instance. + + The low order 64 bits of the binary representation of this instance. + + + + Gets the high bits of the significand of a Decimal128 value. + + The Decimal128 value. + The high bits of the significand. + + + + Gets the high bits of the significand of a Decimal128 value. + + The Decimal128 value. + The high bits of the significand. + + + + Returns a value indicating whether the specified number evaluates to negative or positive infinity. + + A 128-bit decimal. + true if evaluates to negative or positive infinity; otherwise, false. + + + + Returns a value indicating whether the specified number is not a number. + + A 128-bit decimal. + true if is not a number; otherwise, false. + + + + Returns a value indicating whether the specified number is negative. + + A 128-bit decimal. + true if is negative; otherwise, false. + + + + Returns a value indicating whether the specified number evaluates to negative infinity. + + A 128-bit decimal. + true if evaluates to negative infinity; otherwise, false. + + + + Returns a value indicating whether the specified number evaluates to positive infinity. + + A 128-bit decimal. + true if evaluates to positive infinity; otherwise, false. + + + + Returns a value indicating whether the specified number is a quiet not a number. + + A 128-bit decimal. + true if is a quiet not a number; otherwise, false. + + + + Returns a value indicating whether the specified number is a signaled not a number. + + A 128-bit decimal. + true if is a signaled not a number; otherwise, false. + + + + Gets a value indicating whether this instance is zero. + + + + + param + d + M:MongoDB.Bson.Decimal128.IsZero(MongoDB.Bson.Decimal128) + + + + + true if this instance is zero; otherwise, false. + + + + + Gets the maximum value. + + + + + Gets the minimum value. + + + + + Negates the specified x. + + The x. + The result of multiplying the value by negative one. + + + + Represents negative infinity. + + + + + Represents one. + + + + + Implements the operator ==. + + The LHS. + The RHS. + + The result of the operator. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Returns a value indicating whether a specified Decimal128 is greater than another specified Decimal128. + + The first value. + The second value. + + true if x > y; otherwise, false. + + + + + Returns a value indicating whether a specified Decimal128 is greater than or equal to another another specified Decimal128. + + The first value. + The second value. + + true if x >= y; otherwise, false. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Implements the operator !=. + + The LHS. + The RHS. + + The result of the operator. + + + + + Returns a value indicating whether a specified Decimal128 is less than another specified Decimal128. + + The first value. + The second value. + + true if x < y; otherwise, false. + + + + + Returns a value indicating whether a specified Decimal128 is less than or equal to another another specified Decimal128. + + The first value. + The second value. + + true if x <= y; otherwise, false. + + + + + Converts the string representation of a number to its equivalent. + + The string representation of the number to convert. + + The equivalent to the number contained in . + + + + + Represents positive infinity. + + + + + Represents a value that is not a number. + + + + + Represents a value that is not a number and raises errors when used in calculations. + + + + + Converts the value of the specified to the equivalent 8-bit unsigned integer. + + The number to convert. + A 8-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + + Converts the value of the specified to the equivalent 16-bit signed integer. + + The number to convert. + A 16-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 32-bit signed integer. + + The number to convert. + A 32-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 64-bit signed integer. + + The number to convert. + A 64-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 8-bit signed integer. + + The number to convert. + A 8-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + Returns the fully qualified type name of this instance. + A containing a fully qualified type name. + + + + Converts the value of the specified to the equivalent 16-bit unsigned integer. + + The number to convert. + A 16-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent 32-bit unsigned integer. + + The number to convert. + A 32-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent 64-bit unsigned integer. + + The number to convert. + A 64-bit unsigned integer equivalent to . + + + + Converts the string representation of a number to its equivalent. A return value indicates whether the conversion succeeded or failed. + + The string representation of the number to convert. + When this method returns, contains the number that is equivalent to the numeric value contained in , if the conversion succeeded, or is zero if the conversion failed. The conversion fails if the parameter is null, is not a number in a valid format, or represents a number less than the min value or greater than the max value. This parameter is passed uninitialized. + + true if was converted successfully; otherwise, false. + + + + + Represents zero. + + + + + Indicates that an attribute restricted to one member has been applied to multiple members. + + + + + Initializes a new instance of the class. + + The info. + The context. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Represents how duplicate names should be handled. + + + + + Overwrite original value with new value. + + + + + Ignore duplicate name and keep original value. + + + + + Throw an exception. + + + + + A static class containing methods to convert to and from Guids and byte arrays in various byte orders. + + + + + Converts a byte array to a Guid. + + The byte array. + The representation of the Guid in the byte array. + A Guid. + + + + Converts a Guid to a byte array. + + The Guid. + The representation of the Guid in the byte array. + A byte array. + + + + Represents the representation to use when converting a Guid to a BSON binary value. + + + + + The representation for Guids is unspecified, so conversion between Guids and Bson binary data is not possible. + + + + + Use the new standard representation for Guids (binary subtype 4 with bytes in network byte order). + + + + + Use the representation used by older versions of the C# driver (including most community provided C# drivers). + + + + + Use the representation used by older versions of the Java driver. + + + + + Use the representation used by older versions of the Python driver. + + + + + An interface implemented by objects that convert themselves to a BsonDocument. + + + + + Converts this object to a BsonDocument. + + A BsonDocument. + + + + An interface for custom mappers that map an object to a BsonValue. + + + + + Tries to map an object to a BsonValue. + + An object. + The BsonValue. + True if the mapping was successfull. + + + + Represents a BSON array that is deserialized lazily. + + + + + Initializes a new instance of the class. + + The slice. + slice + LazyBsonArray cannot be used with an IByteBuffer that needs disposing. + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonArray. + + + The materialized values. + + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Gets the slice. + + + + + Represents a BSON document that is deserialized lazily. + + + + + Initializes a new instance of the class. + + The slice. + slice + LazyBsonDocument cannot be used with an IByteBuffer that needs disposing. + + + + Initializes a new instance of the class. + + The bytes. + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Gets the slice. + + + + + Represents a BSON array that is not materialized until you start using it. + + + + + Initializes a new instance of the class. + + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Clears the array. + + + + + Creates a shallow clone of the array (see also DeepClone). + + + A shallow clone of the array. + + + + + Compares the array to another array. + + The other array. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other. + + + + Compares the array to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Copies elements from this array to another array as raw values (see BsonValue.RawValue). + + The other array. + The zero based index of the other array at which to start copying. + + + + Gets the count of array elements. + + + + + Creates a deep clone of the array (see also Clone). + + + A deep clone of the array. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Gets a value indicating whether this instance is disposed. + + + + + Gets a value indicating whether this instance is materialized. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Materializes the BsonArray. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Gets the array elements as raw values (see BsonValue.RawValue). + + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Throws if disposed. + + + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Gets the array elements. + + + + + Represents a BSON document that is not materialized until you start using it. + + + + + Initializes a new instance of the class. + + + + + Adds an element to the document. + + The element to add. + + The document (so method calls can be chained). + + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + If the condition is false the value factory is not called at all. + + The name of the element. + A delegate called to compute the value of the element if condition is true. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds a list of elements to the document. + + The list of elements. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Compares this document to another document. + + The other document. + + A 32-bit signed integer that indicates whether this document is less than, equal to, or greather than the other. + + + + + Compares the BsonDocument to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDocument is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + + True if the document contains an element with the specified name. + + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + + True if the document contains an element with the specified value. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets an element of this document. + + The zero based index of the element. + + The element. + + + + + Gets an element of this document. + + The name of the element. + + A BsonElement. + + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + + An enumerator. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the value of an element. + + The zero based index of the element. + + The value of the element. + + + + + Gets the value of an element. + + The name of the element. + + The value of the element. + + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + + The value of the element or the default value if the element is not found. + + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Gets a value indicating whether this instance is disposed. + + + + + Gets a value indicating whether this instance is materialized. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value to return if the element is not found. + Teh value of the element or a default value if the element is not found. + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + + The document (so method calls can be chained). + + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + + The document (so method calls can be chained). + + + + + Gets the element names. + + + + + Gets the raw values (see BsonValue.RawValue). + + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + + The document. + + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + + The document. + + + + + Throws if disposed. + + + + + + Tries to get an element of this document. + + The name of the element. + The element. + + True if an element with that name was found. + + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + + True if an element with that name was found. + + + + + Gets the values. + + + + + Represents an ObjectId (see also BsonObjectId). + + + + + Initializes a new instance of the ObjectId class. + + The bytes. + + + + Initializes a new instance of the ObjectId class. + + The timestamp (expressed as a DateTime). + The machine hash. + The PID. + The increment. + + + + Initializes a new instance of the ObjectId class. + + The timestamp. + The machine hash. + The PID. + The increment. + + + + Initializes a new instance of the ObjectId class. + + The value. + + + + Compares this ObjectId to another ObjectId. + + The other ObjectId. + A 32-bit signed integer that indicates whether this ObjectId is less than, equal to, or greather than the other. + + + + Gets the creation time (derived from the timestamp). + + + + + Gets an instance of ObjectId where the value is empty. + + + + + Compares this ObjectId to another ObjectId. + + The other ObjectId. + True if the two ObjectIds are equal. + + + + Compares this ObjectId to another object. + + The other object. + True if the other object is an ObjectId and equal to this one. + + + + Generates a new ObjectId with a unique value. + + An ObjectId. + + + + Generates a new ObjectId with a unique value (with the timestamp component based on a given DateTime). + + The timestamp component (expressed as a DateTime). + An ObjectId. + + + + Generates a new ObjectId with a unique value (with the given timestamp). + + The timestamp component. + An ObjectId. + + + + Gets the hash code. + + The hash code. + + + + Gets the increment. + + + + + Gets the machine. + + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId. + True if the two ObjectIds are equal. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is greather than the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is greather than or equal to the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId. + True if the two ObjectIds are not equal. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is less than the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is less than or equal to the second ObjectId. + + + + Packs the components of an ObjectId into a byte array. + + The timestamp. + The machine hash. + The PID. + The increment. + A byte array. + + + + Parses a string and creates a new ObjectId. + + The string value. + A ObjectId. + + + + Gets the PID. + + + + + Gets the timestamp. + + + + + Converts the ObjectId to a byte array. + + A byte array. + + + + Converts the ObjectId to a byte array. + + The destination. + The offset. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Tries to parse a string and create a new ObjectId. + + The string value. + The new ObjectId. + True if the string was parsed successfully. + + + + Unpacks a byte array into the components of an ObjectId. + + A byte array. + The timestamp. + The machine hash. + The PID. + The increment. + + + + Represents an immutable BSON array that is represented using only the raw bytes. + + + + + Initializes a new instance of the class. + + The slice. + slice + RawBsonArray cannot be used with an IByteBuffer that needs disposing. + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Clears the array. + + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Copies elements from this array to another array as raw values (see BsonValue.RawValue). + + The other array. + The zero based index of the other array at which to start copying. + + + + Gets the count of array elements. + + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Gets whether the array is read-only. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets the array elements as raw values (see BsonValue.RawValue). + + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Gets the slice. + + + + + Throws if disposed. + + + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Gets the array elements. + + + + + Represents an immutable BSON document that is represented using only the raw bytes. + + + + + Initializes a new instance of the class. + + The slice. + slice + RawBsonDocument cannot be used with an IByteBuffer that needs disposing. + + + + Initializes a new instance of the class. + + The bytes. + + + + Adds an element to the document. + + The element to add. + + The document (so method calls can be chained). + + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds a list of elements to the document. + + The list of elements. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + + True if the document contains an element with the specified name. + + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + + True if the document contains an element with the specified value. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Gets an element of this document. + + The zero based index of the element. + + The element. + + + + + Gets an element of this document. + + The name of the element. + + A BsonElement. + + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + + An enumerator. + + + + + Gets the value of an element. + + The zero based index of the element. + + The value of the element. + + + + + Gets the value of an element. + + The name of the element. + + The value of the element. + + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + + The value of the element or the default value if the element is not found. + + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value to return if the element is not found. + Teh value of the element or a default value if the element is not found. + + + + Materializes the RawBsonDocument into a regular BsonDocument. + + The binary reader settings. + A BsonDocument. + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + + The document (so method calls can be chained). + + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + + The document (so method calls can be chained). + + + + + Gets the element names. + + + + + Gets the raw values (see BsonValue.RawValue). + + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + + The document. + + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + + The document. + + + + + Gets the slice. + + + + + Throws if disposed. + + RawBsonDocument + + + + Tries to get an element of this document. + + The name of the element. + The element. + + True if an element with that name was found. + + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + + True if an element with that name was found. + + + + + Gets the values. + + + + + Represents a truncation exception. + + + + + Initializes a new instance of the TruncationException class. + + + + + Initializes a new instance of the TruncationException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the TruncationException class. + + The error message. + + + + Initializes a new instance of the TruncationException class. + + The error message. + The inner exception. + + + + Represents a BSON reader for a binary BSON byte array. + + + + + Initializes a new instance of the BsonBinaryReader class. + + A stream (BsonBinary does not own the stream and will not Dispose it). + + + + Initializes a new instance of the BsonBinaryReader class. + + A stream (BsonBinary does not own the stream and will not Dispose it). + A BsonBinaryReaderSettings. + + + + Gets the base stream. + + + + + Gets the BSON stream. + + + + + Closes the reader. + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 from the reader. + + A . + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + The name of the element. + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + + The raw BSON array. + + + + + Reads a raw BSON document. + + + The raw BSON document. + + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Represents settings for a BsonBinaryReader. + + + + + Initializes a new instance of the BsonBinaryReaderSettings class. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Gets or sets the default settings for a BsonBinaryReader. + + + + + Gets or sets the Encoding. + + + + + Gets or sets whether to fix occurrences of the old binary subtype on input. + + + + + Gets or sets whether to fix occurrences of the old representation of DateTime.MaxValue on input. + + + + + Gets or sets the max document size. + + + + + Represents a BSON writer to a BSON Stream. + + + + + Initializes a new instance of the BsonBinaryWriter class. + + A stream. The BsonBinaryWriter does not own the stream and will not Dispose it. + + + + Initializes a new instance of the BsonBinaryWriter class. + + A stream. The BsonBinaryWriter does not own the stream and will not Dispose it. + The BsonBinaryWriter settings. + + + + Gets the base stream. + + + + + Gets the BSON stream. + + + + + Closes the writer. Also closes the base stream. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Flushes any pending data to the output destination. + + + + + Pops the max document size stack, restoring the previous max document size. + + + + + Pushes a new max document size onto the max document size stack. + + The maximum size of the document. + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 to the writer. + + The value. + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Represents settings for a BsonBinaryWriter. + + + + + Initializes a new instance of the BsonBinaryWriterSettings class. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Gets or sets the default BsonBinaryWriter settings. + + + + + Gets or sets the Encoding. + + + + + Gets or sets whether to fix the old binary data subtype on output. + + + + + Gets or sets the max document size. + + + + + Represents a pool of chunks. + + + + + Initializes a new instance of the class. + + The maximum number of chunks to keep in the pool. + The size of each chunk. + + + + Gets the size of the pool. + + + + + Gets the chunk size. + + + + + Gets or sets the default chunk pool. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets the chunk. + + Size of the requested. + A chunk. + + + + Gets the maximum size of the pool. + + + + + Represents a BSON reader for a BsonDocument. + + + + + Initializes a new instance of the BsonDocumentReader class. + + A BsonDocument. + + + + Initializes a new instance of the BsonDocumentReader class. + + A BsonDocument. + The reader settings. + + + + Closes the reader. + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 from the reader. + + A . + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Represents settings for a BsonDocumentReader. + + + + + Initializes a new instance of the BsonDocumentReaderSettings class. + + + + + Initializes a new instance of the BsonDocumentReaderSettings class. + + The representation for Guids. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Gets or sets the default settings for a BsonDocumentReader. + + + + + Represents a BSON writer to a BsonDocument. + + + + + Initializes a new instance of the BsonDocumentWriter class. + + The document to write to (normally starts out as an empty document). + + + + Initializes a new instance of the BsonDocumentWriter class. + + The document to write to (normally starts out as an empty document). + The settings. + + + + Closes the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Gets the BsonDocument being written to. + + + + + Flushes any pending data to the output destination. + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 to the writer. + + The value. + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Represents settings for a BsonDocumentWriter. + + + + + Initializes a new instance of the BsonDocumentWriterSettings class. + + + + + Initializes a new instance of the BsonDocumentWriterSettings class. + + The representation for Guids. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Gets or sets the default BsonDocumentWriter settings. + + + + + Represents a BSON reader for some external format (see subclasses). + + + + + Initializes a new instance of the BsonReader class. + + The reader settings. + + + + Closes the reader. + + + + + Gets the current BsonType. + + + + + Gets the current name. + + + + + Disposes of any resources used by the reader. + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Gets whether the BsonReader has been disposed. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Gets the current BsonType (calls ReadBsonType if necessary). + + The current BsonType. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 from the reader. + + A . + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name of the element. + + + + Reads the name of an element from the reader (using the provided name decoder). + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + The raw BSON array. + + + + Reads a raw BSON document. + + The raw BSON document. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Gets the settings of the reader. + + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Gets the current state of the reader. + + + + + Throws an InvalidOperationException when the method called is not valid for the current ContextType. + + The name of the method. + The actual ContextType. + The valid ContextTypes. + + + + Throws an InvalidOperationException when the method called is not valid for the current state. + + The name of the method. + The valid states. + + + + Throws an ObjectDisposedException. + + + + + Verifies the current state and BsonType of the reader. + + The name of the method calling this one. + The required BSON type. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Initializes a new instance of the BsonReaderBookmark class. + + The state of the reader. + The current BSON type. + The name of the current element. + + + + Gets the current BsonType; + + + + + Gets the name of the current element. + + + + + Gets the current state of the reader. + + + + + Represents settings for a BsonReader. + + + + + Initializes a new instance of the BsonReaderSettings class. + + + + + Initializes a new instance of the BsonReaderSettings class. + + The representation for Guids. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets or sets the representation for Guids. + + + + + Gets whether the settings are frozen. + + + + + Throws an InvalidOperationException when an attempt is made to change a setting after the settings are frozen. + + + + + Represents the state of a reader. + + + + + The initial state. + + + + + The reader is positioned at the type of an element or value. + + + + + The reader is positioned at the name of an element. + + + + + The reader is positioned at a value. + + + + + The reader is positioned at a scope document. + + + + + The reader is positioned at the end of a document. + + + + + The reader is positioned at the end of an array. + + + + + The reader has finished reading a document. + + + + + The reader is closed. + + + + + Represents a Stream has additional methods to suport reading and writing BSON values. + + + + + + + MongoDB.Bson.IO.BsonStream + + + + + + + Reads a BSON CString from the stream. + + The encoding. + A string. + + + + Reads a BSON CString from the stream. + + An ArraySegment containing the CString bytes (without the null byte). + + + + Reads a BSON Decimal128 from the stream. + + A . + + + + Reads a BSON double from the stream. + + A double. + + + + Reads a 32-bit BSON integer from the stream. + + An int. + + + + Reads a 64-bit BSON integer from the stream. + + A long. + + + + Reads a BSON ObjectId from the stream. + + An ObjectId. + + + + Reads a raw length prefixed slice from the stream. + + A slice. + + + + Reads a BSON string from the stream. + + The encoding. + A string. + + + + Skips over a BSON CString leaving the stream positioned just after the terminating null byte. + + + + + Writes a BSON CString to the stream. + + The value. + + + + Writes the CString bytes to the stream. + + The value. + + + + Writes a BSON Decimal128 to the stream. + + The value. + + + + Writes a BSON double to the stream. + + The value. + + + + Writes a 32-bit BSON integer to the stream. + + The value. + + + + Writes a 64-bit BSON integer to the stream. + + The value. + + + + Writes a BSON ObjectId to the stream. + + The value. + + + + Writes a BSON string to the stream. + + The value. + The encoding. + + + + A Stream that wraps another Stream while implementing the BsonStream abstract methods. + + + + + Initializes a new instance of the class. + + The stream. + if set to true [owns stream]. + stream + + + + Gets the base stream. + + + + Begins an asynchronous read operation. (Consider using instead; see the Remarks section.) + The buffer to read the data into. + The byte offset in at which to begin writing data read from the stream. + The maximum number of bytes to read. + An optional asynchronous callback, to be called when the read is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. + An that represents the asynchronous read, which could still be pending. + Attempted an asynchronous read past the end of the stream, or a disk error occurs. + One or more of the arguments is invalid. + Methods were called after the stream was closed. + The current Stream implementation does not support the read operation. + + + Begins an asynchronous write operation. (Consider using instead; see the Remarks section.) + The buffer to write data from. + The byte offset in from which to begin writing. + The maximum number of bytes to write. + An optional asynchronous callback, to be called when the write is complete. + A user-provided object that distinguishes this particular asynchronous write request from other requests. + An IAsyncResult that represents the asynchronous write, which could still be pending. + Attempted an asynchronous write past the end of the stream, or a disk error occurs. + One or more of the arguments is invalid. + Methods were called after the stream was closed. + The current Stream implementation does not support the write operation. + + + When overridden in a derived class, gets a value indicating whether the current stream supports reading. + true if the stream supports reading; otherwise, false. + + + When overridden in a derived class, gets a value indicating whether the current stream supports seeking. + true if the stream supports seeking; otherwise, false. + + + Gets a value that determines whether the current stream can time out. + A value that determines whether the current stream can time out. + + + When overridden in a derived class, gets a value indicating whether the current stream supports writing. + true if the stream supports writing; otherwise, false. + + + Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. Instead of calling this method, ensure that the stream is properly disposed. + + + Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token. + The stream to which the contents of the current stream will be copied. + The size, in bytes, of the buffer. This value must be greater than zero. The default size is 81920. + The token to monitor for cancellation requests. The default value is . + A task that represents the asynchronous copy operation. + + is null. + + is negative or zero. + Either the current stream or the destination stream is disposed. + The current stream does not support reading, or the destination stream does not support writing. + + + Waits for the pending asynchronous read to complete. (Consider using instead; see the Remarks section.) + The reference to the pending asynchronous request to finish. + The number of bytes read from the stream, between zero (0) and the number of bytes you requested. Streams return zero (0) only at the end of the stream, otherwise, they should block until at least one byte is available. + + is null. + A handle to the pending read operation is not available.-or-The pending operation does not support reading. + + did not originate from a method on the current stream. + The stream is closed or an internal error has occurred. + + + Ends an asynchronous write operation. (Consider using instead; see the Remarks section.) + A reference to the outstanding asynchronous I/O request. + + is null. + A handle to the pending write operation is not available.-or-The pending operation does not support writing. + + did not originate from a method on the current stream. + The stream is closed or an internal error has occurred. + + + When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device. + An I/O error occurs. + + + Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests. + The token to monitor for cancellation requests. The default value is . + A task that represents the asynchronous flush operation. + The stream has been disposed. + + + When overridden in a derived class, gets the length in bytes of the stream. + A long value representing the length of the stream in bytes. + A class derived from Stream does not support seeking. + Methods were called after the stream was closed. + + + When overridden in a derived class, gets or sets the position within the current stream. + The current position within the stream. + An I/O error occurs. + The stream does not support seeking. + Methods were called after the stream was closed. + + + When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + An array of bytes. When this method returns, the buffer contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source. + The zero-based byte offset in at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. + The sum of and is larger than the buffer length. + + is null. + + or is negative. + An I/O error occurs. + The stream does not support reading. + Methods were called after the stream was closed. + + + Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests. + The buffer to write the data into. + The byte offset in at which to begin writing data from the stream. + The maximum number of bytes to read. + The token to monitor for cancellation requests. The default value is . + A task that represents the asynchronous read operation. The value of the parameter contains the total number of bytes read into the buffer. The result value can be less than the number of bytes requested if the number of bytes currently available is less than the requested number, or it can be 0 (zero) if the end of the stream has been reached. + + is null. + + or is negative. + The sum of and is larger than the buffer length. + The stream does not support reading. + The stream has been disposed. + The stream is currently in use by a previous read operation. + + + Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream. + The unsigned byte cast to an Int32, or -1 if at the end of the stream. + The stream does not support reading. + Methods were called after the stream was closed. + + + + Reads a BSON CString from the stream. + + The encoding. + A string. + + + + Reads a BSON CString from the stream. + + An ArraySegment containing the CString bytes (without the null byte). + + + + Reads a BSON Decimal128 from the stream. + + A . + + + + Reads a BSON double from the stream. + + A double. + + + + Reads a 32-bit BSON integer from the stream. + + An int. + + + + Reads a 64-bit BSON integer from the stream. + + A long. + + + + Reads a BSON ObjectId from the stream. + + An ObjectId. + + + + Reads a raw length prefixed slice from the stream. + + A slice. + + + + Reads a BSON string from the stream. + + The encoding. + A string. + + + Gets or sets a value, in miliseconds, that determines how long the stream will attempt to read before timing out. + A value, in miliseconds, that determines how long the stream will attempt to read before timing out. + The method always throws an . + + + When overridden in a derived class, sets the position within the current stream. + A byte offset relative to the parameter. + A value of type indicating the reference point used to obtain the new position. + The new position within the current stream. + An I/O error occurs. + The stream does not support seeking, such as if the stream is constructed from a pipe or console output. + Methods were called after the stream was closed. + + + When overridden in a derived class, sets the length of the current stream. + The desired length of the current stream in bytes. + An I/O error occurs. + The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. + Methods were called after the stream was closed. + + + + Skips over a BSON CString leaving the stream positioned just after the terminating null byte. + + + + When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + The sum of  and  is greater than the buffer length. + + is null. + + or  is negative. + An I/O error occured, such as the specified file cannot be found. + The stream does not support writing. + + was called after the stream was closed. + + + Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests. + The buffer to write data from. + The zero-based byte offset in from which to begin copying bytes to the stream. + The maximum number of bytes to write. + The token to monitor for cancellation requests. The default value is . + A task that represents the asynchronous write operation. + + is null. + + or is negative. + The sum of and is larger than the buffer length. + The stream does not support writing. + The stream has been disposed. + The stream is currently in use by a previous write operation. + + + Writes a byte to the current position in the stream and advances the position within the stream by one byte. + The byte to write to the stream. + An I/O error occurs. + The stream does not support writing, or the stream is already closed. + Methods were called after the stream was closed. + + + + Writes a BSON CString to the stream. + + The value. + + + + Writes the CString bytes to the stream. + + The value. + + + + Writes a BSON Decimal128 to the stream. + + The value. + + + + Writes a BSON double to the stream. + + The value. + + + + Writes a 32-bit BSON integer to the stream. + + The value. + + + + Writes a 64-bit BSON integer to the stream. + + The value. + + + + Writes a BSON ObjectId to the stream. + + The value. + + + + Writes a BSON string to the stream. + + The value. + The encoding. + + + Gets or sets a value, in miliseconds, that determines how long the stream will attempt to write before timing out. + A value, in miliseconds, that determines how long the stream will attempt to write before timing out. + The method always throws an . + + + + Represents extension methods on BsonStream. + + + + + Backpatches the size. + + The stream. + The start position. + + + + Reads the binary sub type. + + The stream. + The binary sub type. + + + + Reads a boolean from the stream. + + The stream. + A boolean. + + + + Reads the BSON type. + + The stream. + The BSON type. + + + + Reads bytes from the stream. + + The stream. + The buffer. + The offset. + The count. + + + + Reads bytes from the stream. + + The stream. + The count. + The bytes. + + + + Writes a binary sub type to the stream. + + The stream. + The value. + + + + Writes a boolean to the stream. + + The stream. + The value. + + + + Writes a BsonType to the stream. + + The stream. + The value. + + + + Writes bytes to the stream. + + The stream. + The buffer. + The offset. + The count. + + + + Writes a slice to the stream. + + The stream. + The slice. + + + + Represents a mapping from a set of UTF8 encoded strings to a set of elementName/value pairs, implemented as a trie. + + The type of the BsonTrie values. + + + + Initializes a new instance of the BsonTrie class. + + + + + Adds the specified elementName (after encoding as a UTF8 byte sequence) and value to the trie. + + The element name to add. + The value to add. The value can be null for reference types. + + + + Gets the root node. + + + + + Tries to get the node associated with a name read from a stream. + + The stream. + The node. + + True if the node was found. + If the node was found the stream is advanced over the name, otherwise + the stream is repositioned to the beginning of the name. + + + + + Gets the node associated with the specified element name. + + The element name. + + When this method returns, contains the node associated with the specified element name, if the key is found; + otherwise, null. This parameter is passed unitialized. + + True if the node was found; otherwise, false. + + + + Gets the value associated with the specified element name. + + The element name. + + When this method returns, contains the value associated with the specified element name, if the key is found; + otherwise, the default value for the type of the value parameter. This parameter is passed unitialized. + + True if the value was found; otherwise, false. + + + + Gets the value associated with the specified element name. + + The element name. + + When this method returns, contains the value associated with the specified element name, if the key is found; + otherwise, the default value for the type of the value parameter. This parameter is passed unitialized. + + True if the value was found; otherwise, false. + + + + Represents a node in a BsonTrie. + + The type of the BsonTrie values. + + + + Gets the element name for this node. + + + + + Gets the child of this node for a given key byte. + + The key byte. + The child node if it exists; otherwise, null. + + + + Gets whether this node has a value. + + + + + Gets the value for this node. + + + + + Represents a BSON writer for some external format (see subclasses). + + + + + Initializes a new instance of the BsonWriter class. + + The writer settings. + + + + Closes the writer. + + + + + Disposes of any resources used by the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Gets whether the BsonWriter has been disposed. + + + + + Flushes any pending data to the output destination. + + + + + Gets the name of the element being written. + + + + + Pops the element name validator. + + The popped element validator. + + + + Pushes the element name validator. + + The validator. + + + + Gets the current serialization depth. + + + + + Gets the settings of the writer. + + + + + Gets the current state of the writer. + + + + + Throws an InvalidOperationException when the method called is not valid for the current ContextType. + + The name of the method. + The actual ContextType. + The valid ContextTypes. + + + + Throws an InvalidOperationException when the method called is not valid for the current state. + + The name of the method. + The valid states. + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 to the writer. + + The value. + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Represents settings for a BsonWriter. + + + + + Initializes a new instance of the BsonWriterSettings class. + + + + + Initializes a new instance of the BsonWriterSettings class. + + The representation for Guids. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets or sets the representation for Guids. + + + + + Gets whether the settings are frozen. + + + + + Gets or sets the max serialization depth allowed (used to detect circular references). + + + + + Throws an InvalidOperationException when an attempt is made to change a setting after the settings are frozen. + + + + + Represents the state of a BsonWriter. + + + + + The initial state. + + + + + The writer is positioned to write a name. + + + + + The writer is positioned to write a value. + + + + + The writer is positioned to write a scope document (call WriteStartDocument to start writing the scope document). + + + + + The writer is done. + + + + + The writer is closed. + + + + + An IByteBuffer that is backed by a contiguous byte array. + + + + + Initializes a new instance of the class. + + The bytes. + Whether the buffer is read only. + + + + Initializes a new instance of the class. + + The bytes. + The length. + Whether the buffer is read only. + + + + Access the backing bytes directly. The returned ArraySegment will point to the desired position and contain + as many bytes as possible up to the next chunk boundary (if any). If the returned ArraySegment does not + contain enough bytes for your needs you will have to call ReadBytes instead. + + The position. + + An ArraySegment pointing directly to the backing bytes for the position. + + + + + Gets the capacity. + + + + + Clears the specified bytes. + + The position. + The count. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Ensure that the buffer has a minimum capacity. Depending on the buffer allocation strategy + calling this method may result in a higher capacity than the minimum (but never lower). + + The minimum capacity. + + + + Gets a byte. + + The position. + A byte. + + + + Gets bytes. + + The position. + The destination. + The destination offset. + The count. + + + + Gets a slice of this buffer. + + The position of the start of the slice. + The length of the slice. + A slice of this buffer. + + + + Gets a value indicating whether this instance is read only. + + + + + Gets or sets the length. + + + + + Makes this buffer read only. + + + + + Sets a byte. + + The position. + The value. + + + + Sets bytes. + + The position. + The bytes. + The offset. + The count. + + + + Represents a chunk backed by a byte array. + + + + + Initializes a new instance of the class. + + The bytes. + bytes + + + + Initializes a new instance of the class. + + The size. + + + + Gets the bytes. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Returns a new reference to the same chunk that can be independently disposed. + + A new reference to the same chunk. + + + + Represents a factory for IBsonBuffers. + + + + + Creates a buffer of the specified length. Depending on the length, either a SingleChunkBuffer or a MultiChunkBuffer will be created. + + The chunk pool. + The minimum capacity. + A buffer with at least the minimum capacity. + + + + Represents a slice of a byte buffer. + + + + + Initializes a new instance of the class. + + The byte buffer. + The offset of the slice. + The length of the slice. + + + + Access the backing bytes directly. The returned ArraySegment will point to the desired position and contain + as many bytes as possible up to the next chunk boundary (if any). If the returned ArraySegment does not + contain enough bytes for your needs you will have to call ReadBytes instead. + + The position. + + An ArraySegment pointing directly to the backing bytes for the position. + + + + + Gets the buffer. + + + + + Gets the capacity. + + + + + Clears the specified bytes. + + The position. + The count. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Ensure that the buffer has a minimum capacity. Depending on the buffer allocation strategy + calling this method may result in a higher capacity than the minimum (but never lower). + + The minimum capacity. + + + + Gets a byte. + + The position. + A byte. + + + + Gets bytes. + + The position. + The destination. + The destination offset. + The count. + + + + Gets a slice of this buffer. + + The position of the start of the slice. + The length of the slice. + A slice of this buffer. + + + + Gets a value indicating whether this instance is read only. + + + + + Gets or sets the length. + + + + + Makes this buffer read only. + + + + + Sets a byte. + + The position. + The value. + + + + Sets bytes. + + The position. + The bytes. + The offset. + The count. + + + + Represents a Stream backed by an IByteBuffer. Similar to MemoryStream but backed by an IByteBuffer + instead of a byte array and also implements the BsonStream interface for higher performance BSON I/O. + + + + + Initializes a new instance of the class. + + The buffer. + Whether the stream owns the buffer and should Dispose it when done. + + + + Gets the buffer. + + + + When overridden in a derived class, gets a value indicating whether the current stream supports reading. + true if the stream supports reading; otherwise, false. + + + When overridden in a derived class, gets a value indicating whether the current stream supports seeking. + true if the stream supports seeking; otherwise, false. + + + Gets a value that determines whether the current stream can time out. + A value that determines whether the current stream can time out. + + + When overridden in a derived class, gets a value indicating whether the current stream supports writing. + true if the stream supports writing; otherwise, false. + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device. + An I/O error occurs. + + + When overridden in a derived class, gets the length in bytes of the stream. + A long value representing the length of the stream in bytes. + A class derived from Stream does not support seeking. + Methods were called after the stream was closed. + + + When overridden in a derived class, gets or sets the position within the current stream. + The current position within the stream. + An I/O error occurs. + The stream does not support seeking. + Methods were called after the stream was closed. + + + When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + An array of bytes. When this method returns, the buffer contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source. + The zero-based byte offset in at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. + The sum of and is larger than the buffer length. + + is null. + + or is negative. + An I/O error occurs. + The stream does not support reading. + Methods were called after the stream was closed. + + + Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream. + The unsigned byte cast to an Int32, or -1 if at the end of the stream. + The stream does not support reading. + Methods were called after the stream was closed. + + + + Reads a BSON CString from the stream. + + The encoding. + A string. + + + + Reads a BSON CString from the stream. + + An ArraySegment containing the CString bytes (without the null byte). + + + + Reads a BSON Decimal128 from the stream. + + A . + + + + Reads a BSON double from the stream. + + A double. + + + + Reads a 32-bit BSON integer from the stream. + + An int. + + + + Reads a 64-bit BSON integer from the stream. + + A long. + + + + Reads a BSON ObjectId from the stream. + + An ObjectId. + + + + Reads a raw length prefixed slice from the stream. + + A slice. + + + + Reads a BSON string from the stream. + + The encoding. + A string. + + + When overridden in a derived class, sets the position within the current stream. + A byte offset relative to the parameter. + A value of type indicating the reference point used to obtain the new position. + The new position within the current stream. + An I/O error occurs. + The stream does not support seeking, such as if the stream is constructed from a pipe or console output. + Methods were called after the stream was closed. + + + When overridden in a derived class, sets the length of the current stream. + The desired length of the current stream in bytes. + An I/O error occurs. + The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. + Methods were called after the stream was closed. + + + + Skips over a BSON CString leaving the stream positioned just after the terminating null byte. + + + + When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + The sum of  and  is greater than the buffer length. + + is null. + + or  is negative. + An I/O error occured, such as the specified file cannot be found. + The stream does not support writing. + + was called after the stream was closed. + + + Writes a byte to the current position in the stream and advances the position within the stream by one byte. + The byte to write to the stream. + An I/O error occurs. + The stream does not support writing, or the stream is already closed. + Methods were called after the stream was closed. + + + + Writes a BSON CString to the stream. + + The value. + + + + Writes the CString bytes to the stream. + + The value. + + + + Writes a BSON Decimal128 to the stream. + + The value. + + + + Writes a BSON double to the stream. + + The value. + + + + Writes a 32-bit BSON integer to the stream. + + The value. + + + + Writes a 64-bit BSON integer to the stream. + + The value. + + + + Writes a BSON ObjectId to the stream. + + The value. + + + + Writes a BSON string to the stream. + + The value. + The encoding. + + + + Used by BsonReaders and BsonWriters to represent the current context. + + + + + The top level of a BSON document. + + + + + A (possibly embedded) BSON document. + + + + + A BSON array. + + + + + A JavaScriptWithScope BSON value. + + + + + The scope document of a JavaScriptWithScope BSON value. + + + + + Represents a DateTime JSON token. + + + + + Initializes a new instance of the DateTimeJsonToken class. + + The lexeme. + The DateTime value. + + + + Gets the value of a DateTime token. + + + + + Represents a Double JSON token. + + + + + Initializes a new instance of the DoubleJsonToken class. + + The lexeme. + The Double value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + + + Represents a chunk of bytes. + + + + + Gets the bytes. + + + + + Returns a new reference to the same chunk that can be independently disposed. + + A new reference to the same chunk. + + + + Represents a source of chunks. + + + + + Gets the chunk. + + Size of the requested. + A chunk. + + + + Represents a BSON reader. + + + + + Closes the reader. + + + + + Gets the current BsonType. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Gets the current BsonType (calls ReadBsonType if necessary). + + The current BsonType. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 from the reader. + + A . + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader (using the provided name decoder). + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + The raw BSON array. + + + + Reads a raw BSON document. + + The raw BSON document. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Gets the current state of the reader. + + + + + Contains extensions methods for IBsonReader. + + + + + Positions the reader to an element by name. + + The reader. + The name of the element. + True if the element was found. + + + + Positions the reader to a string element by name. + + The reader. + The name of the element. + True if the element was found. + + + + Reads a BSON binary data element from the reader. + + The reader. + The name of the element. + A BsonBinaryData. + + + + Reads a BSON boolean element from the reader. + + The reader. + The name of the element. + A Boolean. + + + + Reads a BSON binary data element from the reader. + + The reader. + The name of the element. + A byte array. + + + + Reads a BSON DateTime element from the reader. + + The reader. + The name of the element. + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 element from the reader. + + The reader. + The name of the element. + A . + + + + Reads a BSON Double element from the reader. + + The reader. + The name of the element. + A Double. + + + + Reads a BSON Int32 element from the reader. + + The reader. + The name of the element. + An Int32. + + + + Reads a BSON Int64 element from the reader. + + The reader. + The name of the element. + An Int64. + + + + Reads a BSON JavaScript element from the reader. + + The reader. + The name of the element. + A string. + + + + Reads a BSON JavaScript with scope element from the reader (call ReadStartDocument next to read the scope). + + The reader. + The name of the element. + A string. + + + + Reads a BSON MaxKey element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON MinKey element from the reader. + + The reader. + The name of the element. + + + + Reads the name of an element from the reader. + + The reader. + The name of the element. + + + + Reads the name of an element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON null element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON ObjectId element from the reader. + + The reader. + The name of the element. + An ObjectId. + + + + Reads a raw BSON array. + + The reader. + The name. + + The raw BSON array. + + + + + Reads a raw BSON document. + + The reader. + The name. + The raw BSON document. + + + + Reads a BSON regular expression element from the reader. + + The reader. + The name of the element. + A BsonRegularExpression. + + + + Reads a BSON string element from the reader. + + The reader. + The name of the element. + A String. + + + + Reads a BSON symbol element from the reader. + + The reader. + The name of the element. + A string. + + + + Reads a BSON timestamp element from the reader. + + The reader. + The name of the element. + The combined timestamp/increment. + + + + Reads a BSON undefined element from the reader. + + The reader. + The name of the element. + + + + Represents a BSON writer. + + + + + Closes the writer. + + + + + Flushes any pending data to the output destination. + + + + + Pops the element name validator. + + The popped element validator. + + + + Pushes the element name validator. + + The validator. + + + + Gets the current serialization depth. + + + + + Gets the settings of the writer. + + + + + Gets the current state of the writer. + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 to the writer. + + The value. + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Contains extension methods for IBsonWriter. + + + + + Writes a BSON binary data element to the writer. + + The writer. + The name of the element. + The binary data. + + + + Writes a BSON Boolean element to the writer. + + The writer. + The name of the element. + The Boolean value. + + + + Writes a BSON binary data element to the writer. + + The writer. + The name of the element. + The bytes. + + + + Writes a BSON DateTime element to the writer. + + The writer. + The name of the element. + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 element to the writer. + + The writer. + The name of the element. + The value. + + + + Writes a BSON Double element to the writer. + + The writer. + The name of the element. + The Double value. + + + + Writes a BSON Int32 element to the writer. + + The writer. + The name of the element. + The Int32 value. + + + + Writes a BSON Int64 element to the writer. + + The writer. + The name of the element. + The Int64 value. + + + + Writes a BSON JavaScript element to the writer. + + The writer. + The name of the element. + The JavaScript code. + + + + Writes a BSON JavaScript element to the writer (call WriteStartDocument to start writing the scope). + + The writer. + The name of the element. + The JavaScript code. + + + + Writes a BSON MaxKey element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON MinKey element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON null element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON ObjectId element to the writer. + + The writer. + The name of the element. + The ObjectId. + + + + Writes a raw BSON array. + + The writer. + The name. + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The writer. + The name. + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression element to the writer. + + The writer. + The name of the element. + A BsonRegularExpression. + + + + Writes the start of a BSON array element to the writer. + + The writer. + The name of the element. + + + + Writes the start of a BSON document element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON String element to the writer. + + The writer. + The name of the element. + The String value. + + + + Writes a BSON Symbol element to the writer. + + The writer. + The name of the element. + The symbol. + + + + Writes a BSON timestamp element to the writer. + + The writer. + The name of the element. + The combined timestamp/increment value. + + + + Writes a BSON undefined element to the writer. + + The writer. + The name of the element. + + + + Represents a byte buffer (backed by various means depending on the implementation). + + + + + Access the backing bytes directly. The returned ArraySegment will point to the desired position and contain + as many bytes as possible up to the next chunk boundary (if any). If the returned ArraySegment does not + contain enough bytes for your needs you will have to call ReadBytes instead. + + The position. + + An ArraySegment pointing directly to the backing bytes for the position. + + + + + Gets the capacity. + + + + + Clears the specified bytes. + + The position. + The count. + + + + Ensure that the buffer has a minimum capacity. Depending on the buffer allocation strategy + calling this method may result in a higher capacity than the minimum (but never lower). + + The minimum capacity. + + + + Gets a byte. + + The position. + A byte. + + + + Gets bytes. + + The position. + The destination. + The destination offset. + The count. + + + + Gets a slice of this buffer. + + The position of the start of the slice. + The length of the slice. + A slice of this buffer. + + + + Gets a value indicating whether this instance is read only. + + + + + Gets or sets the length. + + + + + Makes this buffer read only. + + + + + Sets a byte. + + The position. + The value. + + + + Sets bytes. + + The position. + The bytes. + The offset. + The count. + + + + Represents an element name validator. Used by BsonWriters when WriteName is called + to determine if the element name is valid. + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents a name decoder. + + + + + Decodes the name. + + The stream. + The encoding. + + The name. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + Represents a source of chunks optimized for input buffers. + + + + + Initializes a new instance of the class. + + The chunk source. + The maximum size of an unpooled chunk. + The minimum size of a chunk. + The maximum size of a chunk. + + + + Gets the base source. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets the chunk. + + Size of the requested. + A chunk. + + + + Gets the maximum size of a chunk. + + + + + Gets the maximum size of an unpooled chunk. + + + + + Gets the minimum size of a chunk. + + + + + Represents an Int32 JSON token. + + + + + Initializes a new instance of the Int32JsonToken class. + + The lexeme. + The Int32 value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int32 token as an Int64. + + + + + Gets a value indicating whether this token is number. + + + + + Represents an Int64 JSON token. + + + + + Initializes a new instance of the Int64JsonToken class. + + The lexeme. + The Int64 value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + + + Encodes and decodes scalar values to JSON compatible strings. + + + + + Converts a string to a Boolean. + + The value. + A Boolean. + + + + Converts a string to a DateTime. + + The value. + A DateTime. + + + + Converts a string to a DateTimeOffset. + + The value. + A DateTimeOffset. + + + + Converts a string to a Decimal. + + The value. + A Decimal. + + + + Converts a string to a . + + The value. + A . + + + + Converts a string to a Double. + + The value. + A Double. + + + + Converts a string to an Int16. + + The value. + An Int16. + + + + Converts a string to an Int32. + + The value. + An Int32. + + + + Converts a string to an Int64. + + The value. + An Int64. + + + + Converts a string to a Single. + + The value. + A Single. + + + + Converts a to a string. + + The value. + A string. + + + + Converts a Boolean to a string. + + The value. + A string. + + + + Converts a DateTime to a string. + + The value. + A string. + + + + Converts a DateTimeOffset to a string. + + The value. + A string. + + + + Converts a Decimal to a string. + + The value. + A string. + + + + Converts a Double to a string. + + The value. + A string. + + + + Converts an Int16 to a string. + + The value. + A string. + + + + Converts an Int32 to a string. + + The value. + A string. + + + + Converts an Int64 to a string. + + The value. + A string. + + + + Converts a Single to a string. + + The value. + A string. + + + + Converts a UInt16 to a string. + + The value. + A string. + + + + Converts a UInt32 to a string. + + The value. + A string. + + + + Converts a UInt64 to a string. + + The value. + A string. + + + + Converts a string to a UInt16. + + The value. + A UInt16. + + + + Converts a string to a UInt32. + + The value. + A UInt32. + + + + Converts a string to a UInt64. + + The value. + A UInt64. + + + + Represents the output mode of a JsonWriter. + + + + + Output strict JSON. + + + + + Use a format that can be pasted in to the MongoDB shell. + + + + + Use JavaScript data types for some values. + + + + + Use JavaScript and MongoDB data types for some values. + + + + + Represents a BSON reader for a JSON string. + + + + + Initializes a new instance of the JsonReader class. + + The TextReader. + + + + Initializes a new instance of the JsonReader class. + + The TextReader. + The reader settings. + + + + Initializes a new instance of the JsonReader class. + + The JSON string. + + + + Initializes a new instance of the JsonReader class. + + The JSON string. + The reader settings. + + + + Closes the reader. + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 from the reader. + + A . + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Represents settings for a JsonReader. + + + + + Initializes a new instance of the JsonReaderSettings class. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Gets or sets the default settings for a JsonReader. + + + + + Represents a JSON token. + + + + + Initializes a new instance of the JsonToken class. + + The token type. + The lexeme. + + + + Gets the value of a DateTime token. + + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + + + Gets the lexeme. + + + + + Gets the value of an ObjectId token. + + + + + Gets the value of a regular expression token. + + + + + Gets the value of a string token. + + + + + Gets the token type. + + + + + Represents a JSON token type. + + + + + An invalid token. + + + + + A begin array token (a '['). + + + + + A begin object token (a '{'). + + + + + An end array token (a ']'). + + + + + A left parenthesis (a '('). + + + + + A right parenthesis (a ')'). + + + + + An end object token (a '}'). + + + + + A colon token (a ':'). + + + + + A comma token (a ','). + + + + + A DateTime token. + + + + + A Double token. + + + + + An Int32 token. + + + + + And Int64 token. + + + + + An ObjectId token. + + + + + A regular expression token. + + + + + A string token. + + + + + An unquoted string token. + + + + + An end of file token. + + + + + Represents a BSON writer to a TextWriter (in JSON format). + + + + + Initializes a new instance of the JsonWriter class. + + A TextWriter. + + + + Initializes a new instance of the JsonWriter class. + + A TextWriter. + Optional JsonWriter settings. + + + + Gets the base TextWriter. + + + + + Closes the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Flushes any pending data to the output destination. + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 to the writer. + + The value. + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Represents settings for a JsonWriter. + + + + + Initializes a new instance of the JsonWriterSettings class. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Gets or sets the default JsonWriterSettings. + + + + + Gets or sets the output Encoding. + + + + + Gets or sets whether to indent the output. + + + + + Gets or sets the indent characters. + + + + + Gets or sets the new line characters. + + + + + Gets or sets the output mode. + + + + + Gets or sets the shell version (used with OutputMode Shell). + + + + + An IByteBuffer that is backed by multiple chunks. + + + + + Initializes a new instance of the class. + + The chunk pool. + chunkPool + + + + Initializes a new instance of the class. + + The chunks. + The length. + Whether the buffer is read only. + chunks + + + + Access the backing bytes directly. The returned ArraySegment will point to the desired position and contain + as many bytes as possible up to the next chunk boundary (if any). If the returned ArraySegment does not + contain enough bytes for your needs you will have to call ReadBytes instead. + + The position. + + An ArraySegment pointing directly to the backing bytes for the position. + + + + + Gets the capacity. + + + + + Gets the chunk source. + + + + + Clears the specified bytes. + + The position. + The count. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Ensure that the buffer has a minimum capacity. Depending on the buffer allocation strategy + calling this method may result in a higher capacity than the minimum (but never lower). + + The minimum capacity. + + + + Gets a byte. + + The position. + A byte. + + + + Gets bytes. + + The position. + The destination. + The destination offset. + The count. + + + + Gets a slice of this buffer. + + The position of the start of the slice. + The length of the slice. + A slice of this buffer. + + + + Gets a value indicating whether this instance is read only. + + + + + Gets or sets the length. + + + + + Makes this buffer read only. + + + + + Sets a byte. + + The position. + The value. + + + + Sets bytes. + + The position. + The bytes. + The offset. + The count. + + + + Represents an element name validator that does no validation. + + + + + + + MongoDB.Bson.IO.NoOpElementNameValidator + + + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Gets the instance. + + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents an ObjectId JSON token. + + + + + Initializes a new instance of the ObjectIdJsonToken class. + + The lexeme. + The ObjectId value. + + + + Gets the value of an ObjectId token. + + + + + Represents a source of chunks optimized for output buffers. + + + + + Initializes a new instance of the class. + + The chunk source. + The size of the initial unpooled chunk. + The minimum size of a chunk. + The maximum size of a chunk. + + + + Gets the base source. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets the chunk. + + Size of the requested. + A chunk. + + + + Gets the initial unpooled chunk size. + + + + + Gets the maximum size of a chunk. + + + + + Gets the minimum size of a chunk. + + + + + Represents a regular expression JSON token. + + + + + Initializes a new instance of the RegularExpressionJsonToken class. + + The lexeme. + The BsonRegularExpression value. + + + + Gets the value of a regular expression token. + + + + + An IByteBuffer that is backed by a single chunk. + + + + + Initializes a new instance of the class. + + The chuns. + The length. + Whether the buffer is read only. + + + + Access the backing bytes directly. The returned ArraySegment will point to the desired position and contain + as many bytes as possible up to the next chunk boundary (if any). If the returned ArraySegment does not + contain enough bytes for your needs you will have to call ReadBytes instead. + + The position. + + An ArraySegment pointing directly to the backing bytes for the position. + + + + + Gets the capacity. + + + + + Clears the specified bytes. + + The position. + The count. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Ensure that the buffer has a minimum capacity. Depending on the buffer allocation strategy + calling this method may result in a higher capacity than the minimum (but never lower). + + The minimum capacity. + + + + Gets a byte. + + The position. + A byte. + + + + Gets bytes. + + The position. + The destination. + The destination offset. + The count. + + + + Gets a slice of this buffer. + + The position of the start of the slice. + The length of the slice. + A slice of this buffer. + + + + Gets a value indicating whether this instance is read only. + + + + + Gets or sets the length. + + + + + Makes this buffer read only. + + + + + Sets a byte. + + The position. + The value. + + + + Sets bytes. + + The position. + The bytes. + The offset. + The count. + + + + Represents a String JSON token. + + + + + Initializes a new instance of the StringJsonToken class. + + The token type. + The lexeme. + The String value. + + + + Gets the value of an String token. + + + + + Represents a Trie-based name decoder that also provides a value. + + The type of the value. + + + + Initializes a new instance of the class. + + The trie. + + + + Reads the name. + + The stream. + The encoding. + + The name. + + + + + Gets a value indicating whether this is found. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + Gets the value. + + + + + Represents a singleton instance of a strict UTF8Encoding. + + + + + Gets the lenient instance. + + + + + Gets the strict instance. + + + + + Represents a class that has some helper methods for decoding UTF8 strings. + + + + + Decodes a UTF8 string. + + The bytes. + The index. + The count. + The encoding. + The decoded string. + + + + Represents a UTF8 name decoder. + + + + + + + MongoDB.Bson.IO.Utf8NameDecoder + + + + + + + Decodes the name. + + The stream. + The encoding. + + The name. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + Gets the instance. + + + + + Provides serializers based on an attribute. + + + + + + + MongoDB.Bson.Serialization.AttributedSerializationProvider + + + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + Represents a mapping between a class and a BSON document. + + + + + Initializes a new instance of the BsonClassMap class. + + The class type. + + + + Initializes a new instance of the class. + + Type of the class. + The base class map. + + + + Adds a known type to the class map. + + The known type. + + + + Gets all the member maps (including maps for inherited members). + + + + + Automaps the class. + + + + + Gets the base class map. + + + + + Gets the class type. + + + + + Gets the conventions used for auto mapping. + + + + + Creates an instance of the class. + + An object. + + + + Gets the constructor maps. + + + + + Gets the declared member maps (only for members declared in this class). + + + + + Gets the discriminator. + + + + + Gets whether a discriminator is required when serializing this class. + + + + + Gets the member map of the member used to hold extra elements. + + + + + Freezes the class map. + + The frozen class map. + + + + Gets the type of a member. + + The member info. + The type of the member. + + + + Gets a member map (only considers members declared in this class). + + The member name. + The member map (or null if the member was not found). + + + + Gets the member map for a BSON element. + + The name of the element. + The member map. + + + + Gets all registered class maps. + + All registered class maps. + + + + Gets whether this class map has any creator maps. + + + + + Gets whether this class has a root class ancestor. + + + + + Gets the Id member map (null if none). + + + + + Gets whether extra elements should be ignored when deserializing. + + + + + Gets whether the IgnoreExtraElements value should be inherited by derived classes. + + + + + Gets whether this class is anonymous. + + + + + Checks whether a class map is registered for a type. + + The type to check. + True if there is a class map registered for the type. + + + + Gets whether the class map is frozen. + + + + + Gets whether this class is a root class. + + + + + Gets the known types of this class. + + + + + Looks up a class map (will AutoMap the class if no class map is registered). + + The class type. + The class map. + + + + Creates a creator map for a constructor and adds it to the class map. + + The constructor info. + The creator map (so method calls can be chained). + + + + Creates a creator map for a constructor and adds it to the class map. + + The constructor info. + The argument names. + The creator map (so method calls can be chained). + + + + Creates a creator map and adds it to the class. + + The delegate. + The factory method map (so method calls can be chained). + + + + Creates a creator map and adds it to the class. + + The delegate. + The argument names. + The factory method map (so method calls can be chained). + + + + Creates a member map for the extra elements field and adds it to the class map. + + The name of the extra elements field. + The member map (so method calls can be chained). + + + + Creates a member map for the extra elements member and adds it to the class map. + + The member info for the extra elements member. + The member map (so method calls can be chained). + + + + Creates a member map for the extra elements property and adds it to the class map. + + The name of the property. + The member map (so method calls can be chained). + + + + Creates a creator map for a factory method and adds it to the class. + + The method info. + The creator map (so method calls can be chained). + + + + Creates a creator map for a factory method and adds it to the class. + + The method info. + The argument names. + The creator map (so method calls can be chained). + + + + Creates a member map for a field and adds it to the class map. + + The name of the field. + The member map (so method calls can be chained). + + + + Creates a member map for the Id field and adds it to the class map. + + The name of the Id field. + The member map (so method calls can be chained). + + + + Creates a member map for the Id member and adds it to the class map. + + The member info for the Id member. + The member map (so method calls can be chained). + + + + Creates a member map for the Id property and adds it to the class map. + + The name of the Id property. + The member map (so method calls can be chained). + + + + Creates a member map for a member and adds it to the class map. + + The member info. + The member map (so method calls can be chained). + + + + Creates a member map for a property and adds it to the class map. + + The name of the property. + The member map (so method calls can be chained). + + + + Creates and registers a class map. + + The class. + The class map. + + + + Registers a class map. + + The class map. + + + + Creates and registers a class map. + + The class map initializer. + The class. + The class map. + + + + Resets the class map back to its initial state. + + + + + Sets the creator for the object. + + The creator. + The class map (so method calls can be chained). + + + + Sets the discriminator. + + The discriminator. + + + + Sets whether a discriminator is required when serializing this class. + + Whether a discriminator is required. + + + + Sets the member map of the member used to hold extra elements. + + The extra elements member map. + + + + Sets the Id member. + + The Id member (null if none). + + + + Sets whether extra elements should be ignored when deserializing. + + Whether extra elements should be ignored when deserializing. + + + + Sets whether the IgnoreExtraElements value should be inherited by derived classes. + + Whether the IgnoreExtraElements value should be inherited by derived classes. + + + + Sets whether this class is a root class. + + Whether this class is a root class. + + + + Removes a creator map for a constructor from the class map. + + The constructor info. + + + + Removes a creator map for a factory method from the class map. + + The method info. + + + + Removes the member map for a field from the class map. + + The name of the field. + + + + Removes a member map from the class map. + + The member info. + + + + Removes the member map for a property from the class map. + + The name of the property. + + + + Represents a mapping between a class and a BSON document. + + The class. + + + + Initializes a new instance of the BsonClassMap class. + + + + + Initializes a new instance of the BsonClassMap class. + + The class map initializer. + + + + Creates an instance. + + An instance. + + + + Gets a member map. + + A lambda expression specifying the member. + The member type. + The member map. + + + + Creates a creator map and adds it to the class map. + + Lambda expression specifying the creator code and parameters to use. + The member map. + + + + Creates a member map for the extra elements field and adds it to the class map. + + A lambda expression specifying the extra elements field. + The member type. + The member map. + + + + Creates a member map for the extra elements member and adds it to the class map. + + A lambda expression specifying the extra elements member. + The member type. + The member map. + + + + Creates a member map for the extra elements property and adds it to the class map. + + A lambda expression specifying the extra elements property. + The member type. + The member map. + + + + Creates a member map for a field and adds it to the class map. + + A lambda expression specifying the field. + The member type. + The member map. + + + + Creates a member map for the Id field and adds it to the class map. + + A lambda expression specifying the Id field. + The member type. + The member map. + + + + Creates a member map for the Id member and adds it to the class map. + + A lambda expression specifying the Id member. + The member type. + The member map. + + + + Creates a member map for the Id property and adds it to the class map. + + A lambda expression specifying the Id property. + The member type. + The member map. + + + + Creates a member map and adds it to the class map. + + A lambda expression specifying the member. + The member type. + The member map. + + + + Creates a member map for the Id property and adds it to the class map. + + A lambda expression specifying the Id property. + The member type. + The member map. + + + + Removes the member map for a field from the class map. + + A lambda expression specifying the field. + The member type. + + + + Removes a member map from the class map. + + A lambda expression specifying the member. + The member type. + + + + Removes a member map for a property from the class map. + + A lambda expression specifying the property. + The member type. + + + + Represents a serializer for a class map. + + The type of the class. + + + + Initializes a new instance of the BsonClassMapSerializer class. + + The class map. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a value. + + The deserialization context. + A deserialized value. + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Sets the document Id. + + The document. + The Id. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a mapping to a delegate and its arguments. + + + + + Initializes a new instance of the BsonCreatorMap class. + + The class map. + The member info (null if none). + The delegate. + + + + Gets the arguments. + + + + + Gets the class map that this creator map belongs to. + + + + + Gets the delegeate + + + + + Gets the element names. + + + + + Freezes the creator map. + + + + + Gets whether there is a default value for a missing element. + + The element name. + True if there is a default value for element name; otherwise, false. + + + + Gets the member info (null if none). + + + + + Sets the arguments for the creator map. + + The arguments. + The creator map. + + + + Sets the arguments for the creator map. + + The argument names. + The creator map. + + + + Represents args common to all serializers. + + + + + Gets or sets the nominal type. + + + + + Represents all the contextual information needed by a serializer to deserialize a value. + + + + + Gets a value indicating whether to allow duplicate element names. + + + + + Creates a root context. + + The reader. + The configurator. + + A root context. + + + + + Gets the dynamic array serializer. + + + + + Gets the dynamic document serializer. + + + + + Gets the reader. + + + + + Creates a new context with some values changed. + + The configurator. + + A new context. + + + + + Represents a builder for a BsonDeserializationContext. + + + + + Gets or sets a value indicating whether to allow duplicate element names. + + + + + Gets or sets the dynamic array serializer. + + + + + Gets or sets the dynamic document serializer. + + + + + Gets the reader. + + + + + A class backed by a BsonDocument. + + + + + Initializes a new instance of the class. + + The backing document. + The serializer. + + + + Initializes a new instance of the class. + + The serializer. + + + + Gets the backing document. + + + + + Gets the value from the backing document. + + The member name. + The type of the value. + The value. + + + + Gets the value from the backing document. + + The member name. + The default value. + The type of the value. + The value. + + + + Sets the value in the backing document. + + The member name. + The value. + + + + Represents a serializer for TClass (a subclass of BsonDocumentBackedClass). + + The subclass of BsonDocumentBackedClass. + + + + Initializes a new instance of the class. + + + + + Creates the instance. + + The backing document. + An instance of TClass. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Registers a member. + + The member name. + The element name. + The serializer. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents the mapping between a field or property and a BSON element. + + + + + Initializes a new instance of the BsonMemberMap class. + + The class map this member map belongs to. + The member info. + + + + Applies the default value to the member of an object. + + The object. + + + + Gets the class map that this member map belongs to. + + + + + Gets the default value. + + + + + Gets the name of the element. + + + + + Freezes this instance. + + + + + Gets the serializer. + + The serializer. + + + + Gets the getter function. + + + + + Gets the Id generator. + + + + + Gets whether default values should be ignored when serialized. + + + + + Gets whether null values should be ignored when serialized. + + + + + Gets whether a default value was specified. + + + + + Gets whether the member is readonly. + + + + + Gets whether an element is required for this member when deserialized. + + + + + Gets the member info. + + + + + Gets the name of the member. + + + + + Gets the type of the member. + + + + + Gets whether the member type is a BsonValue. + + + + + Gets the serialization order. + + + + + Resets the member map back to its initial state. + + The member map. + + + + Sets the default value creator. + + The default value creator (note: the supplied delegate must be thread safe). + The member map. + + + + Sets the default value. + + The default value. + The member map. + + + + Sets the name of the element. + + The name of the element. + The member map. + + + + Sets the Id generator. + + The Id generator. + The member map. + + + + Sets whether default values should be ignored when serialized. + + Whether default values should be ignored when serialized. + The member map. + + + + Sets whether null values should be ignored when serialized. + + Wether null values should be ignored when serialized. + The member map. + + + + Sets whether an element is required for this member when deserialized + + Whether an element is required for this member when deserialized + The member map. + + + + Sets the serialization order. + + The serialization order. + The member map. + + + + Sets the serializer. + + The serializer. + + The member map. + + serializer + serializer + + + + Sets the method that will be called to determine whether the member should be serialized. + + The method. + The member map. + + + + Gets the setter function. + + + + + Determines whether a value should be serialized + + The object. + The value. + True if the value should be serialized. + + + + Gets the method that will be called to determine whether the member should be serialized. + + + + + Indicates the usage restrictions for the attribute. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether the attribute this attribute applies to is allowed to be applied + to more than one member. + + + + + Provides serializers for BsonValue and its derivations. + + + + + + + MongoDB.Bson.Serialization.BsonObjectModelSerializationProvider + + + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + Represents args common to all serializers. + + + + + Initializes a new instance of the struct. + + The nominal type. + Whether to serialize as the nominal type. + Whether to serialize the id first. + + + + Gets or sets the nominal type. + + + + + Gets or sets a value indicating whether to serialize the value as if it were an instance of the nominal type. + + + + + Gets or sets a value indicating whether to serialize the id first. + + + + + Represents all the contextual information needed by a serializer to serialize a value. + + + + + Creates a root context. + + The writer. + The serialization context configurator. + + A root context. + + + + + Gets a function that, when executed, will indicate whether the type + is a dynamic type. + + + + + Creates a new context with some values changed. + + The serialization context configurator. + + A new context. + + + + + Gets the writer. + + + + + Represents a builder for a BsonSerializationContext. + + + + + Gets or sets the function used to determine if a type is a dynamic type. + + + + + Gets the writer. + + + + + Represents the information needed to serialize a member. + + + + + Initializes a new instance of the BsonSerializationInfo class. + + The element name. + The serializer. + The nominal type. + + + + Deserializes the value. + + The value. + A deserialized value. + + + + Gets or sets the dotted element name. + + + + + Merges the new BsonSerializationInfo by taking its properties and concatenating its ElementName. + + The new info. + A new BsonSerializationInfo. + + + + Gets or sets the nominal type. + + + + + Gets or sets the serializer. + + + + + Serializes the value. + + The value. + The serialized value. + + + + Serializes the values. + + The values. + The serialized values. + + + + Creates a new BsonSerializationInfo object using the elementName provided and copying all other attributes. + + Name of the element. + A new BsonSerializationInfo. + + + + Base class for serialization providers. + + + + + + + MongoDB.Bson.Serialization.BsonSerializationProviderBase + + + + + + + Creates the serializer from a serializer type definition and type arguments. + + The serializer type definition. + The type arguments. + A serializer. + + + + Creates the serializer from a serializer type definition and type arguments. + + The serializer type definition. + The type arguments. + The serializer registry. + + A serializer. + + + + + Creates the serializer. + + The serializer type. + A serializer. + + + + Creates the serializer. + + The serializer type. + The serializer registry. + + A serializer. + + + + + Gets a serializer for a type. + + The type. + A serializer. + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + A static class that represents the BSON serialization functionality. + + + + + Deserializes an object from a BsonDocument. + + The BsonDocument. + The configurator. + The nominal type of the object. + A deserialized value. + + + + Deserializes an object from a BsonDocument. + + The BsonDocument. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes a value. + + The BsonReader. + The configurator. + The nominal type of the object. + A deserialized value. + + + + Deserializes a value. + + The BsonReader. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON byte array. + + The BSON byte array. + The configurator. + The nominal type of the object. + A deserialized value. + + + + Deserializes an object from a BSON byte array. + + The BSON byte array. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON Stream. + + The BSON Stream. + The configurator. + The nominal type of the object. + A deserialized value. + + + + Deserializes an object from a BSON Stream. + + The BSON Stream. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON TextReader. + + The JSON TextReader. + The configurator. + The nominal type of the object. + A deserialized value. + + + + Deserializes an object from a JSON TextReader. + + The JSON TextReader. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON string. + + The JSON string. + The configurator. + The nominal type of the object. + A deserialized value. + + + + Deserializes an object from a JSON string. + + The JSON string. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Returns whether the given type has any discriminators registered for any of its subclasses. + + A Type. + True if the type is discriminated. + + + + Looks up the actual type of an object to be deserialized. + + The nominal type of the object. + The discriminator. + The actual type of the object. + + + + Looks up the discriminator convention for a type. + + The type. + A discriminator convention. + + + + Looks up an IdGenerator. + + The Id type. + An IdGenerator for the Id type. + + + + Looks up a serializer for a Type. + + The type. + A serializer for type T. + + + + Looks up a serializer for a Type. + + The Type. + A serializer for the Type. + + + + Registers the discriminator for a type. + + The type. + The discriminator. + + + + Registers the discriminator convention for a type. + + Type type. + The discriminator convention. + + + + Registers a generic serializer definition for a generic type. + + The generic type. + The generic serializer definition. + + + + Registers an IdGenerator for an Id Type. + + The Id Type. + The IdGenerator for the Id Type. + + + + Registers a serialization provider. + + The serialization provider. + + + + Registers a serializer for a type. + + The serializer. + The type. + + + + Registers a serializer for a type. + + The type. + The serializer. + + + + Serializes a value. + + The BsonWriter. + The nominal type of the object. + The object. + The serialization context configurator. + The serialization args. + + + + Serializes a value. + + The BsonWriter. + The object. + The serialization context configurator. + The serialization args. + The nominal type of the object. + + + + Gets the serializer registry. + + + + + Gets or sets whether to use the NullIdChecker on reference Id types that don't have an IdGenerator registered. + + + + + Gets or sets whether to use the ZeroIdChecker on value Id types that don't have an IdGenerator registered. + + + + + Default, global implementation of an . + + + + + Initializes a new instance of the class. + + + + + Gets the serializer for the specified . + + + + The serializer. + + + + + Gets the serializer for the specified . + + The type. + + The serializer. + + + + + Registers the serialization provider. This behaves like a stack, so the + last provider registered is the first provider consulted. + + The serialization provider. + + + + Registers the serializer. + + The type. + The serializer. + + + + Provides serializers for collections. + + + + + + + MongoDB.Bson.Serialization.CollectionsSerializationProvider + + + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + A helper class used to create and compile delegates for creator maps. + + + + + + + MongoDB.Bson.Serialization.CreatorMapDelegateCompiler + + + + + + + Creates and compiles a delegate that calls a constructor. + + The constructor. + A delegate that calls the constructor. + + + + Creates and compiles a delegate from a lambda expression. + + The lambda expression. + The arguments for the delegate's parameters. + The type of the class. + A delegate. + + + + Creates and compiles a delegate that calls a factory method. + + the method. + A delegate that calls the factory method. + + + + Visits a MemberExpression. + + The MemberExpression. + The MemberExpression (possibly modified). + + + + Visits a ParameterExpression. + + The ParameterExpression. + The ParameterExpression (possibly modified). + + + + Provides a serializer for interfaces. + + + + + + + MongoDB.Bson.Serialization.DiscriminatedInterfaceSerializationProvider + + + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + An abstract base class for an Expression visitor. + + + + + Initializes a new instance of the ExpressionVisitor class. + + + + + Visits an Expression list. + + The Expression list. + The Expression list (possibly modified). + + + + Visits an Expression. + + The Expression. + The Expression (posibly modified). + + + + Visits a BinaryExpression. + + The BinaryExpression. + The BinaryExpression (possibly modified). + + + + Visits a ConditionalExpression. + + The ConditionalExpression. + The ConditionalExpression (possibly modified). + + + + Visits a ConstantExpression. + + The ConstantExpression. + The ConstantExpression (possibly modified). + + + + Visits an ElementInit. + + The ElementInit. + The ElementInit (possibly modified). + + + + Visits an ElementInit list. + + The ElementInit list. + The ElementInit list (possibly modified). + + + + Visits an InvocationExpression. + + The InvocationExpression. + The InvocationExpression (possibly modified). + + + + Visits a LambdaExpression. + + The LambdaExpression. + The LambdaExpression (possibly modified). + + + + Visits a ListInitExpression. + + The ListInitExpression. + The ListInitExpression (possibly modified). + + + + Visits a MemberExpression. + + The MemberExpression. + The MemberExpression (possibly modified). + + + + Visits a MemberAssignment. + + The MemberAssignment. + The MemberAssignment (possibly modified). + + + + Visits a MemberBinding. + + The MemberBinding. + The MemberBinding (possibly modified). + + + + Visits a MemberBinding list. + + The MemberBinding list. + The MemberBinding list (possibly modified). + + + + Visits a MemberInitExpression. + + The MemberInitExpression. + The MemberInitExpression (possibly modified). + + + + Visits a MemberListBinding. + + The MemberListBinding. + The MemberListBinding (possibly modified). + + + + Visits a MemberMemberBinding. + + The MemberMemberBinding. + The MemberMemberBinding (possibly modified). + + + + Visits a MethodCallExpression. + + The MethodCallExpression. + The MethodCallExpression (possibly modified). + + + + Visits a NewExpression. + + The NewExpression. + The NewExpression (possibly modified). + + + + Visits a NewArrayExpression. + + The NewArrayExpression. + The NewArrayExpression (possibly modified). + + + + Visits a ParameterExpression. + + The ParameterExpression. + The ParameterExpression (possibly modified). + + + + Visits a TypeBinaryExpression. + + The TypeBinaryExpression. + The TypeBinaryExpression (possibly modified). + + + + Visits a UnaryExpression. + + The UnaryExpression. + The UnaryExpression (possibly modified). + + + + Contract for serializers to implement if they serialize an array of items. + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents an attribute used to modify a class map. + + + + + Applies the attribute to the class map. + + The class map. + + + + Represents an attribute used to modify a creator map. + + + + + Applies the attribute to the creator map. + + The creator map. + + + + Represents a dictionary serializer that can be used in LINQ queries. + + + + + Gets the dictionary representation. + + + + + Gets the key serializer. + + + + + Gets the value serializer. + + + + + Contract for composite serializers that contain a number of named serializers. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + Contract for serializers that can get and set Id values. + + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Sets the document Id. + + The document. + The Id. + + + + Represents an attribute used to modify a member map. + + + + + Applies the attribute to the member map. + + The member map. + + + + An interface implemented by a polymorphic serializer. + + + + + Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. + + + + + Represents an attribute used to post process a class map. + + + + + Applies the post processing attribute to the class map. + + The class map. + + + + An interface implemented by serialization providers. + + + + + Gets a serializer for a type. + + The type. + A serializer. + + + + An interface implemented by a serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Gets the type of the value. + + + + + An interface implemented by a serializer for values of type TValue. + + The type that this serializer knows how to serialize. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Extensions methods for IBsonSerializer. + + + + + Deserializes a value. + + The serializer. + The deserialization context. + A deserialized value. + + + + Deserializes a value. + + The serializer. + The deserialization context. + The type that this serializer knows how to serialize. + A deserialized value. + + + + Serializes a value. + + The serializer. + The serialization context. + The value. + + + + Serializes a value. + + The serializer. + The serialization context. + The value. + The type that this serializer knows how to serialize. + + + + Converts a value to a BsonValue by serializing it. + + The serializer. + The value. + The serialized value. + + + + Converts a value to a BsonValue by serializing it. + + The serializer. + The value. + The type of the value. + The serialized value. + + + + A serializer registry. + + + + + Gets the serializer for the specified . + + + The serializer. + + + + Gets the serializer for the specified . + + The type. + The serializer. + + + + Represents a serializer that has a child serializer that configuration attributes can be forwarded to. + + + + + Gets the child serializer. + + + + + Returns a serializer that has been reconfigured with the specified child serializer. + + The child serializer. + The reconfigured serializer. + + + + Represents a serializer that has a DictionaryRepresentation property. + + + + + Gets the dictionary representation. + + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Represents a serializer that has a DictionaryRepresentation property. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + An interface implemented by Id generators. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + An interface implemented by serialization providers that are aware of registries. + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + Represents a serializer that has a Representation property. + + + + + Gets the representation. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer that has a Representation property. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer that has a representation converter. + + + + + Gets the converter. + + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Represents a serializer that has a representation converter. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Provides serializers for primitive types. + + + + + + + MongoDB.Bson.Serialization.PrimitiveSerializationProvider + + + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + Represents a serialization provider based on a mapping from value types to serializer types. + + + + + Initializes a new instance of the class. + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + Registers the serializer mapping. + + The type. + Type of the serializer. + + + + Supports using type names as discriminators. + + + + + Resolves a type name discriminator. + + The type name. + The type if type type name can be resolved; otherwise, null. + + + + Gets a type name to be used as a discriminator (like AssemblyQualifiedName but shortened for common DLLs). + + The type. + The type name. + + + + Specifies that this constructor should be used for creator-based deserialization. + + + + + Initializes a new instance of the BsonConstructorAttribute class. + + + + + Initializes a new instance of the BsonConstructorAttribute class. + + The names of the members that the creator argument values come from. + + + + Applies a modification to the creator map. + + The creator map. + + + + Gets the names of the members that the creator arguments values come from. + + + + + Specifies serialization options for a DateTime field or property. + + + + + Initializes a new instance of the BsonDateTimeOptionsAttribute class. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Gets or sets whether the DateTime consists of a Date only. + + + + + Gets or sets the DateTimeKind (Local, Unspecified or Utc). + + + + + Gets or sets the external representation. + + + + + Specifies the default value for a field or property. + + + + + Initializes a new instance of the BsonDefaultValueAttribute class. + + The default value. + + + + Applies a modification to the member map. + + The member map. + + + + Gets the default value. + + + + + Gets or sets whether to serialize the default value. + + + + + Specifies serialization options for a Dictionary field or property. + + + + + Initializes a new instance of the BsonDictionaryOptionsAttribute class. + + + + + Initializes a new instance of the BsonDictionaryOptionsAttribute class. + + The representation to use for the Dictionary. + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Gets or sets the external representation. + + + + + Specifies the discriminator and related options for a class. + + + + + Initializes a new instance of the BsonDiscriminatorAttribute class. + + + + + Initializes a new instance of the BsonDiscriminatorAttribute class. + + The discriminator. + + + + Applies a modification to the class map. + + The class map. + + + + Gets the discriminator. + + + + + Gets or sets whether the discriminator is required. + + + + + Gets or sets whether this is a root class. + + + + + Specifies the element name and related options for a field or property. + + + + + Initializes a new instance of the BsonElementAttribute class. + + + + + Initializes a new instance of the BsonElementAttribute class. + + The name of the element. + + + + Applies a modification to the member map. + + The member map. + + + + Gets the element name. + + + + + Gets the element serialization order. + + + + + Indicates that this property or field will be used to hold any extra elements found during deserialization. + + + + + + + MongoDB.Bson.Serialization.Attributes.BsonExtraElementsAttribute + + + + + + + Applies a modification to the member map. + + The member map. + + + + Specifies that this factory method should be used for creator-based deserialization. + + + + + Initializes a new instance of the BsonFactoryMethodAttribute class. + + + + + Initializes a new instance of the BsonFactoryMethodAttribute class. + + The names of the members that the creator argument values come from. + + + + Applies a modification to the creator map. + + The creator map. + + + + Gets the names of the members that the creator arguments values come from. + + + + + Specifies that this is the Id field or property. + + + + + Initializes a new instance of the BsonIdAttribute class. + + + + + Applies a modification to the member map. + + The member map. + + + + Gets or sets the Id generator for the Id. + + + + + Gets or sets the Id element serialization order. + + + + + Indicates that this field or property should be ignored when this class is serialized. + + + + + + + MongoDB.Bson.Serialization.Attributes.BsonIgnoreAttribute + + + + + + + Specifies whether extra elements should be ignored when this class is deserialized. + + + + + Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. + + + + + Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. + + Whether extra elements should be ignored when this class is deserialized. + + + + Applies a modification to the class map. + + The class map. + + + + Gets whether extra elements should be ignored when this class is deserialized. + + + + + Gets whether extra elements should also be ignored when any class derived from this one is deserialized. + + + + + Indicates whether a field or property equal to the default value should be ignored when serializing this class. + + + + + Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. + + + + + Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. + + Whether a field or property equal to the default value should be ignored when serializing this class. + + + + Applies a modification to the member map. + + The member map. + + + + Gets whether a field or property equal to the default value should be ignored when serializing this class. + + + + + Indicates whether a field or property equal to null should be ignored when serializing this class. + + + + + Initializes a new instance of the BsonIgnoreIfNullAttribute class. + + + + + Initializes a new instance of the BsonIgnoreIfNullAttribute class. + + Whether a field or property equal to null should be ignored when serializing this class. + + + + Applies a modification to the member map. + + The member map. + + + + Gets whether a field or property equal to null should be ignored when serializing this class. + + + + + Specifies the known types for this class (the derived classes). + + + + + Initializes a new instance of the BsonKnownTypesAttribute class. + + A known types. + + + + Initializes a new instance of the BsonKnownTypesAttribute class. + + One or more known types. + + + + Applies a modification to the class map. + + The class map. + + + + Gets a list of the known types. + + + + + Specifies that the class's IdMember should be null. + + + + + + + MongoDB.Bson.Serialization.Attributes.BsonNoIdAttribute + + + + + + + Applies the post processing attribute to the class map. + + The class map. + + + + Specifies the external representation and related options for this field or property. + + + + + Initializes a new instance of the BsonRepresentationAttribute class. + + The external representation. + + + + Gets or sets whether to allow overflow. + + + + + Gets or sets whether to allow truncation. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Gets the external representation. + + + + + Indicates that a field or property is required. + + + + + + + MongoDB.Bson.Serialization.Attributes.BsonRequiredAttribute + + + + + + + Applies a modification to the member map. + + The member map. + + + + Abstract base class for serialization options attributes. + + + + + Initializes a new instance of the BsonSerializationOptionsAttribute class. + + + + + Applies a modification to the member map. + + The member map. + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + + Specifies the type of the serializer to use for a class. + + + + + Initializes a new instance of the BsonSerializerAttribute class. + + + + + Initializes a new instance of the BsonSerializerAttribute class. + + The type of the serializer to use for a class. + + + + Applies a modification to the member map. + + The member map. + + + + Gets or sets the type of the serializer to use for a class. + + + + + Specifies the external representation and related options for this field or property. + + + + + Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + + The external representation. + + + + Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + + The external representation. + The TimeSpanUnits. + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Gets the external representation. + + + + + Gets or sets the TimeSpanUnits. + + + + + Convention pack for applying attributes. + + + + + Gets the conventions. + + + + + Gets the instance. + + + + + A convention that sets the element name the same as the member name with the first character lower cased. + + + + + + + MongoDB.Bson.Serialization.Conventions.CamelCaseElementNameConvention + + + + + + + Applies a modification to the member map. + + The member map. + + + + Base class for a convention. + + + + + Initializes a new instance of the ConventionBase class. + + + + + Initializes a new instance of the ConventionBase class. + + The name of the convention. + + + + Gets the name of the convention. + + + + + A mutable pack of conventions. + + + + + Initializes a new instance of the class. + + + + + Adds the specified convention. + + The convention. + + + + + Adds a class map convention created using the specified action upon a class map. + + The name of the convention. + The action the convention should take upon the class map. + + + + Adds a member map convention created using the specified action upon a member map. + + The name of the convention. + The action the convention should take upon the member map. + + + + Adds a post processing convention created using the specified action upon a class map. + + The name of the convention. + The action the convention should take upon the class map. + + + + Adds a range of conventions. + + The conventions. + + + + + Appends the conventions in another pack to the end of this pack. + + The other pack. + + + + Gets the conventions. + + + + + Gets an enumerator for the conventions. + + An enumerator. + + + + Inserts the convention after another convention specified by the name. + + The name. + The convention. + + + + Inserts the convention before another convention specified by the name. + + The name. + The convention. + + + + Removes the named convention. + + The name of the convention. + + + + Represents a registry of conventions. + + + + + Looks up the effective set of conventions that apply to a type. + + The type. + The conventions for that type. + + + + Registers the conventions. + + The name. + The conventions. + The filter. + + + + Removes the conventions specified by the given name. + + The name. + + + + Runs the conventions against a BsonClassMap and its BsonMemberMaps. + + + + + Initializes a new instance of the class. + + The conventions. + + + + Applies a modification to the class map. + + The class map. + + + + Convention pack of defaults. + + + + + Gets the conventions. + + + + + Gets the instance. + + + + + A class map convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a modification to the class map. + + The class map. + + + + A member map convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a modification to the member map. + + The member map. + + + + A post processing convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a post processing modification to the class map. + + The class map. + + + + A convention that allows you to set the Enum serialization representation + + + + + Initializes a new instance of the class. + + The serialization representation. 0 is used to detect representation + from the enum itself. + + + + Applies a modification to the member map. + + The member map. + + + + Gets the representation. + + + + + Represents a discriminator convention where the discriminator is an array of all the discriminators provided by the class maps of the root class down to the actual type. + + + + + Initializes a new instance of the HierarchicalDiscriminatorConvention class. + + The element name. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + Represents a convention that applies to a BsonClassMap. + + + + + Applies a modification to the class map. + + The class map. + + + + Represents a convention. + + + + + Gets the name of the convention. + + + + + Represents a grouping of conventions. + + + + + Gets the conventions. + + + + + Represents a convention that applies to a BsonCreatorMap. + + + + + Applies a modification to the creator map. + + The creator map. + + + + Represents a discriminator convention. + + + + + Gets the discriminator element name. + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + A convention that sets whether to ignore extra elements encountered during deserialization. + + + + + Initializes a new instance of the class. + + Whether to ignore extra elements encountered during deserialization. + + + + Applies a modification to the class map. + + The class map. + + + + A convention that sets whether to ignore default values during serialization. + + + + + Initializes a new instance of the class. + + Whether to ignore default values during serialization. + + + + Applies a modification to the member map. + + The member map. + + + + A convention that sets whether to ignore nulls during serialization. + + + + + Initializes a new instance of the class. + + Whether to ignore nulls during serialization. + + + + Applies a modification to the member map. + + The member map. + + + + Represents a convention that applies to a BsonMemberMap. + + + + + Applies a modification to the member map. + + The member map. + + + + Maps a fully immutable type. This will include anonymous types. + + + + + + + MongoDB.Bson.Serialization.Conventions.ImmutableTypeClassMapConvention + + + + + + + Applies a modification to the class map. + + The class map. + + + + Represents a post processing convention that applies to a BsonClassMap. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + A convention that looks up an id generator for the id member. + + + + + + + MongoDB.Bson.Serialization.Conventions.LookupIdGeneratorConvention + + + + + + + Applies a post processing modification to the class map. + + The class map. + + + + A convention that sets the default value for members of a given type. + + + + + Initializes a new instance of the class. + + The type of the member. + The default value for members of this type. + + + + Applies a modification to the member map. + + The member map. + + + + A convention that sets the element name the same as the member name. + + + + + + + MongoDB.Bson.Serialization.Conventions.MemberNameElementNameConvention + + + + + + + Applies a modification to the member map. + + The member map. + + + + A convention that finds the extra elements member by name (and that is also of type or ). + + + + + Initializes a new instance of the class. + + The names. + + + + Initializes a new instance of the class. + + The names. + The binding flags. + + + + Initializes a new instance of the class. + + The names. + The member types. + + + + Initializes a new instance of the class. + + The names. + The member types. + The binding flags. + + + + + Initializes a new instance of the NamedExtraElementsMemberConvention class. + + The name of the extra elements member. + + + + Applies a modification to the class map. + + The class map. + + + + A convention that finds the id member by name. + + + + + Initializes a new instance of the class. + + The names. + + + + Initializes a new instance of the class. + + The names. + The binding flags. + + + + Initializes a new instance of the class. + + The names. + The member types. + + + + Initializes a new instance of the class. + + The names. + The member types. + The binding flags. + + + + + Initializes a new instance of the class. + + The names. + + + + Applies a modification to the class map. + + The class map. + + + + A convention that uses the names of the creator parameters to find the matching members. + + + + + + + MongoDB.Bson.Serialization.Conventions.NamedParameterCreatorMapConvention + + + + + + + Applies a modification to the creator map. + + The creator map. + + + + A convention that sets a class's IdMember to null. + + + + + + + MongoDB.Bson.Serialization.Conventions.NoIdMemberConvention + + + + + + + Applies a post processing modification to the class map. + + The class map. + + + + Represents the object discriminator convention. + + + + + Initializes a new instance of the ObjectDiscriminatorConvention class. + + The element name. + + + + Gets the discriminator element name. + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + Gets an instance of the ObjectDiscriminatorConvention. + + + + + A convention that finds readable and writeable members and adds them to the class map. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The binding flags. + + + + Initializes a new instance of the class. + + The member types. + + + + Initializes a new instance of the class. + + The member types. + The binding flags. + + + + Applies a modification to the class map. + + The class map. + + + + A convention that resets a class map (resetting any changes that earlier conventions may have applied). + + + + + + + MongoDB.Bson.Serialization.Conventions.ResetClassMapConvention + + + + + + + Applies a modification to the class map. + + The class map. + + + + A convention that resets class members (resetting any changes that earlier conventions may have applied). + + + + + + + MongoDB.Bson.Serialization.Conventions.ResetMemberMapsConvention + + + + + + + Applies a modification to the member map. + + The member map. + + + + Represents a discriminator convention where the discriminator is provided by the class map of the actual type. + + + + + Initializes a new instance of the ScalarDiscriminatorConvention class. + + The element name. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + Represents the standard discriminator conventions (see ScalarDiscriminatorConvention and HierarchicalDiscriminatorConvention). + + + + + Initializes a new instance of the StandardDiscriminatorConvention class. + + The element name. + + + + Gets the discriminator element name. + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + Gets an instance of the HierarchicalDiscriminatorConvention. + + + + + Gets an instance of the ScalarDiscriminatorConvention. + + + + + A convention that sets the id generator for a string member with a BSON representation of ObjectId. + + + + + + + MongoDB.Bson.Serialization.Conventions.StringObjectIdIdGeneratorConvention + + + + + + + Applies a post processing modification to the class map. + + The class map. + + + + A GUID generator that generates GUIDs in ascending order. To enable + an index to make use of the ascending nature make sure to use + GuidRepresentation.Standard + as the storage representation. + Internally the GUID is of the form + 8 bytes: Ticks from DateTime.UtcNow.Ticks + 3 bytes: hash of machine name + 2 bytes: low order bytes of process Id + 3 bytes: increment + + + + + + + MongoDB.Bson.Serialization.IdGenerators.AscendingGuidGenerator + + + + + + + Generates a Guid for a document. Note - this is purely used for + unit testing + + The time portion of the Guid + A 5 byte array with the first 3 bytes + representing a machine id and the next 2 representing a process + id + The increment portion of the Guid. Used + to distinguish between 2 Guids that have the timestamp. Note + only the least significant 3 bytes are used. + A Guid. + + + + Generates an ascending Guid for a document. Consecutive invocations + should generate Guids that are ascending from a MongoDB perspective + + The container of the document (will be a + MongoCollection when called from the driver). + The document it was generated for. + A Guid. + + + + Gets an instance of AscendingGuidGenerator. + + + + + Tests whether an id is empty. + + The id to test. + True if the Id is empty. False otherwise + + + + Represents an Id generator for Guids stored in BsonBinaryData values. + + + + + Initializes a new instance of the BsonBinaryDataGuidGenerator class. + + The GuidRepresentation to use when generating new Id values. + + + + Gets an instance of BsonBinaryDataGuidGenerator for CSharpLegacy GuidRepresentation. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Gets the instance of BsonBinaryDataGuidGenerator for a GuidRepresentation. + + The GuidRepresentation. + The instance of BsonBinaryDataGuidGenerator for a GuidRepresentation. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Gets an instance of BsonBinaryDataGuidGenerator for JavaLegacy GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for PythonLegacy GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for Standard GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for Unspecifed GuidRepresentation. + + + + + Represents an Id generator for BsonObjectIds. + + + + + Initializes a new instance of the BsonObjectIdGenerator class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Gets an instance of ObjectIdGenerator. + + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for Guids using the COMB algorithm. + + + + + Initializes a new instance of the CombGuidGenerator class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Gets an instance of CombGuidGenerator. + + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Create a new CombGuid from a given Guid and timestamp. + + The base Guid. + The timestamp. + A new CombGuid created by combining the base Guid with the timestamp. + + + + Represents an Id generator for Guids. + + + + + Initializes a new instance of the GuidGenerator class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Gets an instance of GuidGenerator. + + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator that only checks that the Id is not null. + + + + + Initializes a new instance of the NullIdChecker class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Gets an instance of NullIdChecker. + + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for ObjectIds. + + + + + Initializes a new instance of the ObjectIdGenerator class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Gets an instance of ObjectIdGenerator. + + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for ObjectIds represented internally as strings. + + + + + Initializes a new instance of the StringObjectIdGenerator class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Gets an instance of StringObjectIdGenerator. + + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator that only checks that the Id is not all zeros. + + The type of the Id. + + + + Initializes a new instance of the ZeroIdChecker class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents the representation to use for dictionaries. + + + + + Represent the dictionary as a Document. + + + + + Represent the dictionary as an array of arrays. + + + + + Represent the dictionary as an array of documents. + + + + + Represents the external representation of a field or property. + + + + + Initializes a new instance of the RepresentationConverter class. + + Whether to allow overflow. + Whether to allow truncation. + + + + Gets whether to allow overflow. + + + + + Gets whether to allow truncation. + + + + + Converts a Decimal128 to a Decimal. + + A Decimal128. + A Decimal. + + + + Converts a Double to a Decimal. + + A Double. + A Decimal. + + + + Converts an Int32 to a Decimal. + + An Int32. + A Decimal. + + + + Converts an Int64 to a Decimal. + + An Int64. + A Decimal. + + + + Converts a decimal to a Decimal128. + + A decimal. + A Decimal128. + + + + Converts a Double to a Decimal128. + + A Double. + A Decimal128. + + + + Converts an Int32 to a Decimal128. + + An Int32. + A Decimal128. + + + + Converts an Int64 to a Decimal128. + + An Int64. + A Decimal128. + + + + Converts a UInt64 to a Decimal128. + + A UInt64. + A Decimal128. + + + + Converts a Decimal128 to a Double. + + A Decimal. + A Double. + + + + Converts a Decimal to a Double. + + A Decimal. + A Double. + + + + Converts a Double to a Double. + + A Double. + A Double. + + + + Converts an Int16 to a Double. + + An Int16. + A Double. + + + + Converts an Int32 to a Double. + + An Int32. + A Double. + + + + Converts an Int64 to a Double. + + An Int64. + A Double. + + + + Converts a Single to a Double. + + A Single. + A Double. + + + + Converts a UInt16 to a Double. + + A UInt16. + A Double. + + + + Converts a UInt32 to a Double. + + A UInt32. + A Double. + + + + Converts a UInt64 to a Double. + + A UInt64. + A Double. + + + + Converts a Decimal128 to an Int16. + + A Decimal128. + An Int16. + + + + Converts a Double to an Int16. + + A Double. + An Int16. + + + + Converts an Int32 to an Int16. + + An Int32. + An Int16. + + + + Converts an Int64 to an Int16. + + An Int64. + An Int16. + + + + Converts a Decimal128 to an Int32. + + A Decimal128. + An Int32. + + + + Converts a Decimal to an Int32. + + A Decimal. + An Int32. + + + + Converts a Double to an Int32. + + A Double. + An Int32. + + + + Converts an Int16 to an Int32. + + An Int16. + An Int32. + + + + Converts an Int32 to an Int32. + + An Int32. + An Int32. + + + + Converts an Int64 to an Int32. + + An Int64. + An Int32. + + + + Converts a Single to an Int32. + + A Single. + An Int32. + + + + Converts a UInt16 to an Int32. + + A UInt16. + An Int32. + + + + Converts a UInt32 to an Int32. + + A UInt32. + An Int32. + + + + Converts a UInt64 to an Int32. + + A UInt64. + An Int32. + + + + Converts a Decimal128 to an Int64. + + A Decimal128. + An Int64. + + + + Converts a Decimal to an Int64. + + A Decimal. + An Int64. + + + + Converts a Double to an Int64. + + A Double. + An Int64. + + + + Converts an Int16 to an Int64. + + An Int16. + An Int64. + + + + Converts an Int32 to an Int64. + + An Int32. + An Int64. + + + + Converts an Int64 to an Int64. + + An Int64. + An Int64. + + + + Converts a Single to an Int64. + + A Single. + An Int64. + + + + Converts a UInt16 to an Int64. + + A UInt16. + An Int64. + + + + Converts a UInt32 to an Int64. + + A UInt32. + An Int64. + + + + Converts a UInt64 to an Int64. + + A UInt64. + An Int64. + + + + Converts a Decimal128 to a Single. + + A Decimal128. + A Single. + + + + Converts a Double to a Single. + + A Double. + A Single. + + + + Converts an Int32 to a Single. + + An Int32. + A Single. + + + + Converts an Int64 to a Single. + + An Int64. + A Single. + + + + Converts a Decimal128 to a UInt16. + + A Decimal128. + A UInt16. + + + + Converts a Double to a UInt16. + + A Double. + A UInt16. + + + + Converts an Int32 to a UInt16. + + An Int32. + A UInt16. + + + + Converts an Int64 to a UInt16. + + An Int64. + A UInt16. + + + + Converts a Decimal128 to a UInt32. + + A Decimal128. + A UInt32. + + + + Converts a Double to a UInt32. + + A Double. + A UInt32. + + + + Converts an Int32 to a UInt32. + + An Int32. + A UInt32. + + + + Converts an Int64 to a UInt32. + + An Int64. + A UInt32. + + + + Converts a Decimal128 to a UInt64. + + A Decimal128. + A UInt64. + + + + Converts a Double to a UInt64. + + A Double. + A UInt64. + + + + Converts an Int32 to a UInt64. + + An Int32. + A UInt64. + + + + Converts an Int64 to a UInt64. + + An Int64. + A UInt64. + + + + Represents the units a TimeSpan is serialized in. + + + + + Use ticks as the units. + + + + + Use days as the units. + + + + + Use hours as the units. + + + + + Use minutes as the units. + + + + + Use seconds as the units. + + + + + Use milliseconds as the units. + + + + + Use microseconds as the units. + + + + + Use nanoseconds as the units. + + + + + Represents a serializer for an abstract class. + + The type of the class. + + + + + + MongoDB.Bson.Serialization.Serializers.AbstractClassSerializer`1 + + + + + + + Represents a serializer for one-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for BitArrays. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Booleans. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for BsonArrays. + + + + + Initializes a new instance of the BsonArraySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonArraySerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for BsonBinaryDatas. + + + + + Initializes a new instance of the BsonBinaryDataSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonBinaryDataSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonBooleans. + + + + + Initializes a new instance of the BsonBooleanSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonBooleanSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDateTimes. + + + + + Initializes a new instance of the BsonDateTimeSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonDateTimeSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDecimal128s. + + + + + Initializes a new instance of the BsonBooleanSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonBooleanSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDocuments. + + + + + Initializes a new instance of the BsonDocumentSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Gets an instance of the BsonDocumentSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Sets the document Id. + + The document. + The Id. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for BsonDocumentWrappers. + + + + + Initializes a new instance of the BsonDocumentWrapperSerializer class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Gets an instance of the BsonDocumentWrapperSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDoubles. + + + + + Initializes a new instance of the BsonDoubleSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonDoubleSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonInt32s. + + + + + Initializes a new instance of the BsonInt32Serializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonInt32Serializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonInt64s. + + + + + Initializes a new instance of the BsonInt64Serializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonInt64Serializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonJavaScripts. + + + + + Initializes a new instance of the BsonJavaScriptSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonJavaScriptSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonJavaScriptWithScopes. + + + + + Initializes a new instance of the BsonJavaScriptWithScopeSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonJavaScriptWithScopeSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonMaxKeys. + + + + + Initializes a new instance of the BsonMaxKeySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonMaxKeySerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonMinKeys. + + + + + Initializes a new instance of the BsonMinKeySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonMinKeySerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonNulls. + + + + + Initializes a new instance of the BsonNullSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonNullSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonObjectIds. + + + + + Initializes a new instance of the BsonObjectIdSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonObjectIdSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonRegularExpressions. + + + + + Initializes a new instance of the BsonRegularExpressionSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonRegularExpressionSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonStrings. + + + + + Initializes a new instance of the BsonStringSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonStringSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonSymbols. + + + + + Initializes a new instance of the BsonSymbolSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonSymbolSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonTimestamps. + + + + + Initializes a new instance of the BsonTimestampSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonTimestampSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonUndefineds. + + + + + Initializes a new instance of the BsonUndefinedSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonUndefinedSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonArraySerializer and IBsonDocumentSerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + The serialization info for the items. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonArraySerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonDocumentSerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for a BsonValue that can round trip C# null. + + The type of the BsonValue. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonValues. + + + + + Initializes a new instance of the BsonValueSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonValueSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a base class for BsonValue serializers. + + The type of the BsonValue. + + + + Initializes a new instance of the class. + + The Bson type. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for ByteArrays. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Chars. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for class serializers. + + The type of the value. + + + + + + MongoDB.Bson.Serialization.Serializers.ClassSerializerBase`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the actual type. + + The context. + The actual type. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Serializes a value of type {TValue}. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for CultureInfos. + + + + + Initializes a new instance of the CultureInfoSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for DateTimeOffsets. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for DateTimes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + if set to true [date only]. + + + + Initializes a new instance of the class. + + if set to true [date only]. + The representation. + + + + Initializes a new instance of the class. + + The kind. + + + + Initializes a new instance of the class. + + The kind. + The representation. + + + + Gets whether this DateTime consists of a Date only. + + + + + Gets an instance of DateTimeSerializer with DateOnly=true. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the DateTimeKind (Local, Unspecified or Utc). + + + + + Gets an instance of DateTimeSerializer with Kind=Local. + + + + + Gets the external representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Gets an instance of DateTimeSerializer with Kind=Utc. + + + + + Returns a serializer that has been reconfigured with the specified dateOnly value. + + if set to true the values will be required to be Date's only (zero time component). + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified dateOnly value and representation. + + if set to true the values will be required to be Date's only (zero time component). + The representation. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified DateTimeKind value. + + The DateTimeKind. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified DateTimeKind value and representation. + + The DateTimeKind. + The representation. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Decimal128s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Decimals. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for a class that implements IDictionary. + + The type of the dictionary. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Creates the instance. + + The instance. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + + The dictionary representation. + The key serializer. + The value serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified key serializer. + + The key serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified value serializer. + + The value serializer. + The reconfigured serializer. + + + + Represents a serializer for a class that implements . + + The type of the dictionary. + The type of the key. + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Creates the instance. + + The instance. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + + The dictionary representation. + The key serializer. + The value serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified key serializer. + + The key serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified value serializer. + + The value serializer. + The reconfigured serializer. + + + + Represents a serializer for dictionaries. + + The type of the dictionary. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Creates the instance. + + The instance. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the dictionary representation. + + + + + Gets the key serializer. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + Gets the value serializer. + + + + + Represents a serializer for dictionaries. + + The type of the dictionary. + The type of the keys. + The type of the values. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Initializes a new instance of the class. + + The dictionary representation. + The serializer registry. + + + + Creates the instance. + + The instance. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the dictionary representation. + + + + + Gets the key serializer. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + Gets the value serializer. + + + + + Represents a serializer for Interfaces. + + The type of the interface. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The discriminator convention. + interfaceType + interfaceType + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + Represents a serializer that serializes values as a discriminator/value pair. + + The type of the value. + + + + Initializes a new instance of the class. + + The discriminator convention. + The wrapped serializer. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Determines whether the reader is positioned at a discriminated wrapper. + + The context. + True if the reader is positioned at a discriminated wrapper. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for Doubles. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Base serializer for dynamic types. + + The dynamic type. + + + + Initializes a new instance of the class. + + + + + Configures the deserialization context. + + The builder. + + + + Configures the serialization context. + + The builder. + + + + Creates the document. + + A + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Sets the value for the member. + + The document. + Name of the member. + The value. + + + + Tries to get the value for a member. Returns true if the member should be serialized. + + The document. + Name of the member. + The value. + + true if the member should be serialized; otherwise false. + + + + Represents a serializer for a class that implements IEnumerable. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + + + + + Creates the accumulator. + + The accumulator. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for a class that implementes . + + The type of the value. + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for enumerable values. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for enumerable values. + + The type of the value. + The type of the items. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a base serializer for enumerable values. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Gets the item serializer. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for enumerable values. + + The type of the value. + The type of the items. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Gets the item serializer. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + The serialization info for the items. + + + + + Represents a serializer for enums. + + The type of the enum. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Serializer for . + + + + + Initializes a new instance of the class. + + + + + Configures the deserialization context. + + The builder. + + + + Configures the serialization context. + + The builder. + + + + Creates the document. + + + A . + + + + + Sets the value for the member. + + The document. + Name of the member. + The value. + + + + Tries to get the value for a member. Returns true if the member should be serialized. + + The value. + Name of the member. + The member value. + + true if the member should be serialized; otherwise false. + + + + Represents a serializer for Guids. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Interfaces. + + The type of the interface. + The type of the implementation. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The implementation serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + Gets the dictionary representation. + + + + + + Gets the implementation serializer. + + + + + Gets the key serializer. + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Gets the value serializer. + + + + + + Returns a serializer that has been reconfigured with the specified implementation serializer. + + The implementation serializer. + + The reconfigured serializer. + + + + + Represents a serializer for Int16s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Int32. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Int64s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for IPAddresses. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for IPEndPoints. + + + + + Initializes a new instance of the IPEndPointSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for KeyValuePairs. + + The type of the keys. + The type of the values. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The key serializer. + The value serializer. + + + + Initializes a new instance of the class. + + The representation. + The serializer registry. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the key serializer. + + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + Gets the value serializer. + + + + + Represents a serializer for LazyBsonArrays. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for LazyBsonDocuments. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for nullable values. + + The underlying type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified serializer. + + The serializer. + + The reconfigured serializer. + + + + + Represents a serializer for ObjectIds. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for objects. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The discriminator convention. + discriminatorConvention + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the standard instance. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for a BsonDocument with some parts raw. + + + + + Initializes a new instance of the class. + + The name. + The raw serializer. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Wraps a serializer and projects using a function. + + The type of from. + The type of to. + + + + Initializes a new instance of the class. + + From serializer. + The projector. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Represents a serializer for Queues. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items. + + The value. + The items. + + + + Finalizes the result. + + The instance. + The result. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for Queues. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for RawBsonArrays. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for RawBsonDocuments. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the instance. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for readonly collection. + + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for a subclass of ReadOnlyCollection. + + The type of the value. + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for SBytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for sealed class serializers. + + The type of the value. + + + + + + MongoDB.Bson.Serialization.Serializers.SealedClassSerializerBase`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Serializes a value of type {TValue}. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a class that will be serialized as if it were one of its base classes. + + The actual type. + The nominal type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base class serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents an abstract base class for serializers. + + The type of the value. + + + + + + MongoDB.Bson.Serialization.Serializers.SerializerBase`1 + + + + + + + Creates an exception to throw when a type cannot be deserialized. + + An exception. + + + + Creates an exception to throw when a type cannot be deserialized. + + An exception. + + + + Creates an exception to throw when a type cannot be deserialized from a BsonType. + + The BSON type. + An exception. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Ensures that the BsonType equals the expected type. + + The reader. + The expected type. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Gets the type of the values. + + + + + Represents a helper for serializers. + + + + + Initializes a new instance of the class. + + The members. + + + + Deserializes the members. + + The deserialization context. + The member handler. + The found member flags. + + + + Represents information about a member. + + + + + Initializes a new instance of the class. + + The name of the element. + The flag. + Whether the member is optional. + + + + Gets the name of the element. + + + + + Gets the flag. + + + + + Gets a value indicating whether this member is optional. + + + + + Represents a serializer for Singles. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Stacks. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for Stacks. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for Strings. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for struct serializers. + + The type of the value. + + + + + + MongoDB.Bson.Serialization.Serializers.StructSerializerBase`1 + + + + + + + Represents a serializer for three-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the item serializer. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for Timespans. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The units. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Gets the units. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation and units. + + The representation. + The units. + + The reconfigured serializer. + + + + + Represents a serializer for a . + + The type of item 1. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Gets the Item1 serializer. + + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + The type of the rest item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + The Rest serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + Gets the Rest serializer. + + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for two-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the item serializer. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for UInt16s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for UInt32s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for UInt64s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for interfaces and base classes that delegates to the actual type interface without writing a discriminator. + + Type type of the value. + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + Represents a serializer for Uris. + + + + + Initializes a new instance of the UriSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for Versions. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + \ No newline at end of file diff --git a/BuechermarktClient/bin/Debug/MongoDB.Driver.Core.xml b/BuechermarktClient/bin/Debug/MongoDB.Driver.Core.xml new file mode 100644 index 0000000..870a648 --- /dev/null +++ b/BuechermarktClient/bin/Debug/MongoDB.Driver.Core.xml @@ -0,0 +1,13336 @@ + + + + MongoDB.Driver.Core + + + + + Represents a cursor that wraps another cursor with a transformation function on the documents. + + The type of from document. + The type of to document. + + + + Initializes a new instance of the class. + + The wrapped. + The transformer. + + + + Gets the current batch of documents. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Moves to the next batch of documents. + + The cancellation token. + Whether any more documents are available. + + + + Moves to the next batch of documents. + + The cancellation token. + A Task whose result indicates whether any more documents are available. + + + + Represents a MongoDB collation. + + + + + Initializes a new instance of the class. + + The locale. + The case level. + The case that is ordered first. + The strength. + Whether numbers are ordered numerically. + The alternate. + The maximum variable. + The normalization. + Whether secondary differences are to be considered in reverse order. + + + + Gets whether spaces and punctuation are considered base characters. + + + + + Gets whether secondary differencs are to be considered in reverse order. + + + + + Gets whether upper case or lower case is ordered first. + + + + + Gets whether the collation is case sensitive at strength 1 and 2. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + + Creates a Collation instance from a BsonDocument. + + The document. + A Collation instance. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the locale. + + + + + Gets which characters are affected by the alternate: "Shifted". + + + + + Gets the normalization. + + + + + Gets whether numbers are ordered numerically. + + + + + Gets the simple binary compare collation. + + + + + Gets the strength. + + + + + Converts this object to a BsonDocument. + + A BsonDocument. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Creates a new Collation instance with some properties changed. + + The new locale. + The new case level. + The new case first. + The new strength. + The new numeric ordering. + The new alternate. + The new maximum variable. + The new normalization. + The new backwards. + A new Collation instance. + + + + Controls whether spaces and punctuation are considered base characters. + + + + + Spaces and punctuation are considered base characters (the default). + + + + + Spaces and characters are not considered base characters, and are only distinguised at strength > 3. + + + + + Uppercase or lowercase first. + + + + + Off (the default). + + + + + Uppercase first. + + + + + Lowercase first. + + + + + Controls which characters are affected by alternate: "Shifted". + + + + + Punctuation and spaces are affected (the default). + + + + + Only spaces. + + + + + Prioritizes the comparison properties. + + + + + Primary. + + + + + Secondary. + + + + + Tertiary (the default). + + + + + Quaternary. + + + + + Identical. + + + + + Represents a collection namespace. + + + + + Initializes a new instance of the class. + + The database namespace. + The name of the collection. + + + + Initializes a new instance of the class. + + The name of the database. + The name of the collection. + + + + Gets the name of the collection. + + + + + Gets the database namespace. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + + Creates a new instance of the class from a collection full name. + + The collection full name. + A CollectionNamespace. + + + + Gets the collection full name. + + + + Serves as the default hash function. + A hash code for the current object. + + + + Determines whether the specified collection name is valid. + + The name of the collection. + Whether the specified collection name is valid. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a database namespace. + + + + + Initializes a new instance of the class. + + The name of the database. + + + + Gets the admin database namespace. + + + + + Gets the name of the database. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Determines whether the specified database name is valid. + + The database name. + True if the database name is valid. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a cursor for an operation that is not actually executed until MoveNextAsync is called for the first time. + + The type of the document. + + + + Initializes a new instance of the class. + + The delegate to execute the first time MoveNext is called. + The delegate to execute the first time MoveNextAsync is called. + + + + Gets the current batch of documents. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Moves to the next batch of documents. + + The cancellation token. + Whether any more documents are available. + + + + Moves to the next batch of documents. + + The cancellation token. + A Task whose result indicates whether any more documents are available. + + + + Represents the document validation action. + + + + + Validation failures result in an error. + + + + + Validation failures result in a warning. + + + + + Represents the document validation level. + + + + + Strict document validation. + + + + + Moderate document validation. + + + + + No document validation. + + + + + Represents an asynchronous cursor. + + The type of the document. + + + + Gets the current batch of documents. + + + + + Moves to the next batch of documents. + + The cancellation token. + Whether any more documents are available. + + + + Moves to the next batch of documents. + + The cancellation token. + A Task whose result indicates whether any more documents are available. + + + + Represents extension methods for IAsyncCursor. + + + + + Determines whether the cursor contains any documents. + + The cursor. + The cancellation token. + The type of the document. + True if the cursor contains any documents. + + + + Determines whether the cursor contains any documents. + + The cursor. + The cancellation token. + The type of the document. + A Task whose result is true if the cursor contains any documents. + + + + Returns the first document of a cursor. + + The cursor. + The cancellation token. + The type of the document. + The first document. + + + + Returns the first document of a cursor. + + The cursor. + The cancellation token. + The type of the document. + A Task whose result is the first document. + + + + Returns the first document of a cursor, or a default value if the cursor contains no documents. + + The cursor. + The cancellation token. + The type of the document. + The first document of the cursor, or a default value if the cursor contains no documents. + + + + Returns the first document of the cursor, or a default value if the cursor contains no documents. + + The cursor. + The cancellation token. + The type of the document. + A task whose result is the first document of the cursor, or a default value if the cursor contains no documents. + + + + Calls a delegate for each document returned by the cursor. + + The source. + The processor. + The cancellation token. + The type of the document. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The source. + The processor. + The cancellation token. + The type of the document. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The source. + The processor. + The cancellation token. + The type of the document. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The source. + The processor. + The cancellation token. + The type of the document. + A Task that completes when all the documents have been processed. + + + + Returns the only document of a cursor. This method throws an exception if the cursor does not contain exactly one document. + + The cursor. + The cancellation token. + The type of the document. + The only document of a cursor. + + + + Returns the only document of a cursor. This method throws an exception if the cursor does not contain exactly one document. + + The cursor. + The cancellation token. + The type of the document. + A Task whose result is the only document of a cursor. + + + + Returns the only document of a cursor, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The cursor. + The cancellation token. + The type of the document. + The only document of a cursor, or a default value if the cursor contains no documents. + + + + Returns the only document of a cursor, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The cursor. + The cancellation token. + The type of the document. + A Task whose result is the only document of a cursor, or a default value if the cursor contains no documents. + + + + Wraps a cursor in an IEnumerable that can be enumerated one time. + + The cursor. + The cancellation token. + The type of the document. + An IEnumerable + + + + Returns a list containing all the documents returned by a cursor. + + The source. + The cancellation token. + The type of the document. + The list of documents. + + + + Returns a list containing all the documents returned by a cursor. + + The source. + The cancellation token. + The type of the document. + A Task whose value is the list of documents. + + + + Represents an operation that will return a cursor when executed. + + The type of the document. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A cursor. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A Task whose result is a cursor. + + + + Represents extension methods for IAsyncCursorSource. + + + + + Determines whether the cursor returned by a cursor source contains any documents. + + The source. + The cancellation token. + The type of the document. + True if the cursor contains any documents. + + + + Determines whether the cursor returned by a cursor source contains any documents. + + The source. + The cancellation token. + The type of the document. + A Task whose result is true if the cursor contains any documents. + + + + Returns the first document of a cursor returned by a cursor source. + + The source. + The cancellation token. + The type of the document. + The first document. + + + + Returns the first document of a cursor returned by a cursor source. + + The source. + The cancellation token. + The type of the document. + A Task whose result is the first document. + + + + Returns the first document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + + The source. + The cancellation token. + The type of the document. + The first document of the cursor, or a default value if the cursor contains no documents. + + + + Returns the first document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + + The source. + The cancellation token. + The type of the document. + A Task whose result is the first document of the cursor, or a default value if the cursor contains no documents. + + + + Calls a delegate for each document returned by the cursor. + + The source. + The processor. + The cancellation token. + The type of the document. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The source. + The processor. + The cancellation token. + The type of the document. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The source. + The processor. + The cancellation token. + The type of the document. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The source. + The processor. + The cancellation token. + The type of the document. + A Task that completes when all the documents have been processed. + + + + Returns the only document of a cursor returned by a cursor source. This method throws an exception if the cursor does not contain exactly one document. + + The source. + The cancellation token. + The type of the document. + The only document of a cursor. + + + + Returns the only document of a cursor returned by a cursor source. This method throws an exception if the cursor does not contain exactly one document. + + The source. + The cancellation token. + The type of the document. + A Task whose result is the only document of a cursor. + + + + Returns the only document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The source. + The cancellation token. + The type of the document. + The only document of a cursor, or a default value if the cursor contains no documents. + + + + Returns the only document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The source. + The cancellation token. + The type of the document. + A Task whose result is the only document of a cursor, or a default value if the cursor contains no documents. + + + + Wraps a cursor source in an IEnumerable. Each time GetEnumerator is called a new cursor is fetched from the cursor source. + + The source. + The cancellation token. + The type of the document. + An IEnumerable. + + + + Returns a list containing all the documents returned by the cursor returned by a cursor source. + + The source. + The cancellation token. + The type of the document. + The list of documents. + + + + Returns a list containing all the documents returned by the cursor returned by a cursor source. + + The source. + The cancellation token. + The type of the document. + A Task whose value is the list of documents. + + + + Represents a MongoDB authentication exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB client exception. + + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Represents a MongoDB command exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The command. + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The command. + The command result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the error code. + + + + + Gets the command. + + + + + Gets the error message. + + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Gets the command result. + + + + + Represents a MongoDB configuration exception. + + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Represents a MongoDB connection failed exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB connection exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the connection identifier. + + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Represents a MongoDB cursor not found exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The cursor identifier. + The query. + + + + Initializes a new instance of the class. + + The information. + The context. + + + + Gets the cursor identifier. + + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Represents a MongoDB duplicate key exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The command result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB exception. + + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Represents a MongoDB execution timeout exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB incompatible driver exception. + + + + + Initializes a new instance of the class. + + The cluster description. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB internal exception (almost surely the result of a bug). + + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Represents a MongoDB node is recovering exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Gets the result from the server. + + + + + Represents a MongoDB not primary exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Gets the result from the server. + + + + + Represents a MongoDB query exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The query. + The query result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Gets the query. + + + + + Gets the query result. + + + + + Represents a MongoDB server exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the connection identifier. + + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Represents a MongoDB connection pool wait queue full exception. + + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the class. + + The error message. + + + + Represents a MongoDB write concern exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The command result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Gets the write concern result. + + + + + Represents helper methods for use with the struct. + + + + + Creates an instance of an optional parameter with a value. + + The value. + The type of the optional parameter. + An instance of an optional parameter with a value. + + + + Creates an instance of an optional parameter with an enumerable value. + + The value. + The type of the items of the optional paramater. + An instance of an optional parameter with an enumerable value. + + + + Represents an optional parameter that might or might not have a value. + + The type of the parameter. + + + + Initializes a new instance of the struct with a value. + + The value of the parameter. + + + + Gets a value indicating whether the optional parameter has a value. + + + + + Performs an implicit conversion from to an with a value. + + The value. + + The result of the conversion. + + + + + Returns a value indicating whether this optional parameter contains a value that is not equal to an existing value. + + The value. + True if this optional parameter contains a value that is not equal to an existing value. + + + + Gets the value of the optional parameter. + + + + + Returns either the value of this optional parameter if it has a value, otherwise a default value. + + The default value. + Either the value of this optional parameter if it has a value, otherwise a default value. + + + + Represents a read concern. + + + + + Initializes a new instance of the class. + + The level. + + + + Gets a default read concern. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + + Creates a read concern from a document. + + The document. + A read concern. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets a value indicating whether this is the server's default read concern. + + + + + Gets the level. + + + + + Gets a linearizable read concern. + + + + + Gets a local read concern. + + + + + Gets a majority read concern. + + + + + Converts this read concern to a BsonDocument suitable to be sent to the server. + + + A BsonDocument. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a new instance of ReadConcern with some values changed. + + The level. + + A ReadConcern. + + + + + The leve of the read concern. + + + + + Reads data committed locally. + + + + + Reads data committed to a majority of nodes. + + + + + Avoids returning data from a "stale" primary + (one that has already been superseded by a new primary but doesn't know it yet). + It is important to note that readConcern level linearizable does not by itself + produce linearizable reads; they must be issued in conjunction with w:majority + writes to the same document(s) in order to be linearizable. + + + + + Represents a read preference. + + + + + Initializes a new instance of the class. + + The read preference mode. + The tag sets. + The maximum staleness. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the maximum staleness. + + + + + Gets an instance of ReadPreference that represents a Nearest read preference. + + + + + Gets an instance of ReadPreference that represents a Primary read preference. + + + + + Gets an instance of ReadPreference that represents a PrimaryPreferred read preference. + + + + + Gets the read preference mode. + + + + + Gets an instance of ReadPreference that represents a Secondary read preference. + + + + + Gets an instance of ReadPreference that represents a SecondaryPreferred read preference. + + + + + Gets the tag sets. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Returns a new instance of ReadPreference with some values changed. + + The read preference mode. + A new instance of ReadPreference. + + + + Returns a new instance of ReadPreference with some values changed. + + The tag sets. + A new instance of ReadPreference. + + + + Returns a new instance of ReadPreference with some values changed. + + The maximum staleness. + A new instance of ReadPreference. + + + + Represents the read preference mode. + + + + + Reads should be from the primary. + + + + + Reads should be from the primary if possible, otherwise from a secondary. + + + + + Reads should be from a secondary. + + + + + Reads should be from a secondary if possible, otherwise from the primary. + + + + + Reads should be from any server that is within the latency threshold window. + + + + + Represents the category for an error from the server. + + + + + An error without a category. + + + + + A duplicate key error. + + + + + An execution timeout error. + + + + + Represents a replica set member tag. + + + + + Initializes a new instance of the class. + + The name. + The value. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the name. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the value. + + + + + Represents a replica set member tag set. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The tags. + + + + Determines whether the tag set contains all of the required tags. + + The required tags. + True if the tag set contains all of the required tags. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets a value indicating whether the tag set is empty. + + + + + Gets the tags. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a write concern. + + + + + Initializes a new instance of the class. + + The w value. + The wtimeout value. + The fsync value . + The journal value. + + + + Initializes a new instance of the class. + + The w value. + The wtimeout value. + The fsync value . + The journal value. + + + + Initializes a new instance of the class. + + The mode. + The wtimeout value. + The fsync value . + The journal value. + + + + Gets an instance of WriteConcern that represents an acknowledged write concern. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + + Creates a write concern from a document. + + The document. + A write concern. + + + + Gets the fsync value. + + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets a value indicating whether this instance is an acknowledged write concern. + + + + + Gets a value indicating whether this write concern will use the default on the server. + + + + + Gets the journal value. + + + + + Converts this write concern to a BsonDocument suitable to be sent to the server. + + + A BsonDocument. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets an instance of WriteConcern that represents an unacknowledged write concern. + + + + + Gets the w value. + + + + + Gets an instance of WriteConcern that represents a W1 write concern. + + + + + Gets an instance of WriteConcern that represents a W2 write concern. + + + + + Gets an instance of WriteConcern that represents a W3 write concern. + + + + + Returns a new instance of WriteConcern with some values changed. + + The w value. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Returns a new instance of WriteConcern with some values changed. + + The w value. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Returns a new instance of WriteConcern with some values changed. + + The mode. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Gets an instance of WriteConcern that represents a majority write concern. + + + + + Gets the wtimeout value. + + + + + Represents a numeric WValue. + + + + + Initializes a new instance of the class. + + The w value. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Converts this WValue to a BsonValue suitable to be included in a BsonDocument representing a write concern. + + A BsonValue. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the value. + + + + + Represents a mode string WValue. + + + + + Initializes a new instance of the class. + + The mode. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets an instance of WValue that represents the majority mode. + + + + + Converts this WValue to a BsonValue suitable to be included in a BsonDocument representing a write concern. + + A BsonValue. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the value. + + + + + Represents the base class for w values. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from Nullable{Int32} to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Parses the specified value. + + The value. + A WValue. + + + + Converts this WValue to a BsonValue suitable to be included in a BsonDocument representing a write concern. + + A BsonValue. + + + + Represents the results of an operation performed with an acknowledged WriteConcern. + + + + + Initializes a new instance of the class. + + The response. + + + + Gets the number of documents affected. + + + + + Gets whether the result has a LastErrorMessage. + + + + + Gets the last error message (null if none). + + + + + Gets the wrapped result. + + + + + Gets whether the last command updated an existing document. + + + + + Gets the _id of an upsert that resulted in an insert. + + + + + The default authenticator (uses SCRAM-SHA1 if possible, falls back to MONGODB-CR otherwise). + + + + + Initializes a new instance of the class. + + The credential. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + A Task. + + + + Gets the name of the authenticator. + + + + + A GSSAPI SASL authenticator. + + + + + Initializes a new instance of the class. + + The credential. + The properties. + + + + Initializes a new instance of the class. + + The username. + The properties. + + + + Gets the name of the canonicalize host name property. + + + + + Gets the name of the database. + + + + + Gets the default service name. + + + + + Gets the name of the mechanism. + + + + + Gets the name of the realm property. + + + + + Gets the name of the service name property. + + + + + Gets the name of the service realm property. + + + + + Represents a connection authenticator. + + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + A Task. + + + + Gets the name of the authenticator. + + + + + A MONGODB-CR authenticator. + + + + + Initializes a new instance of the class. + + The credential. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + A Task. + + + + Gets the name of the mechanism. + + + + + Gets the name of the authenticator. + + + + + A MongoDB-X509 authenticator. + + + + + Initializes a new instance of the class. + + The username. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + A Task. + + + + Gets the name of the mechanism. + + + + + Gets the name of the authenticator. + + + + + A PLAIN SASL authenticator. + + + + + Initializes a new instance of the class. + + The credential. + + + + Gets the name of the database. + + + + + Gets the name of the mechanism. + + + + + Base class for a SASL authenticator. + + + + + Initializes a new instance of the class. + + The mechanism. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + A Task. + + + + Gets the name of the database. + + + + + Gets the name of the authenticator. + + + + + Represents a completed SASL step. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The bytes to send to server. + + + + Gets the bytes to send to server. + + + + + Gets a value indicating whether this instance is complete. + + + + + Transitions the SASL conversation to the next step. + + The SASL conversation. + The bytes received from server. + The next SASL step. + + + + Represents a SASL mechanism. + + + + + Initializes the mechanism. + + The connection. + The connection description. + The initial SASL step. + + + + Gets the name of the mechanism. + + + + + Represents a SASL step. + + + + + Gets the bytes to send to server. + + + + + Gets a value indicating whether this instance is complete. + + + + + Transitions the SASL conversation to the next step. + + The SASL conversation. + The bytes received from server. + The next SASL step. + + + + Represents a SASL conversation. + + + + + Initializes a new instance of the class. + + The connection identifier. + + + + Gets the connection identifier. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Registers the item for disposal. + + The disposable item. + + + + A SCRAM-SHA1 SASL authenticator. + + + + + Initializes a new instance of the class. + + The credential. + + + + Gets the name of the database. + + + + + Gets the name of the mechanism. + + + + + Represents a username/password credential. + + + + + Initializes a new instance of the class. + + The source. + The username. + The password. + + + + Initializes a new instance of the class. + + The source. + The username. + The password. + + + + Gets the password (converts the password from a SecureString to a regular string). + + The password. + + + + Gets the password. + + + + + Gets the source. + + + + + Gets the username. + + + + + Represents a read binding that is bound to a channel. + + + + + Initializes a new instance of the class. + + The server. + The channel. + The read preference. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a read-write binding that is bound to a channel. + + + + + Initializes a new instance of the class. + + The server. + The channel. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a handle to a channel source. + + + + + Initializes a new instance of the class. + + The channel source. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Returns a new handle to the underlying channel source. + + A handle to a channel source. + + + + Gets a channel. + + The cancellation token. + A channel. + + + + Gets a channel. + + The cancellation token. + A Task whose result is a channel. + + + + Gets the server. + + + + + Gets the server description. + + + + + Represents a read-write binding to a channel source. + + + + + Initializes a new instance of the class. + + The channel source. + The read preference. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a channel (similar to a connection but operates at the level of protocols rather than messages). + + + + + Executes a Command protocol. + + The database namespace. + The command. + The command validator. + The response handling. + if set to true sets the SlaveOk bit to true in the command message sent to the server. + The result serializer. + The message encoder settings. + The cancellation token. + The type of the result. + The result of the Command protocol. + + + + Executes a Command protocol. + + The database namespace. + The command. + The command validator. + The response handling. + if set to true sets the SlaveOk bit to true in the command message sent to the server. + The result serializer. + The message encoder settings. + The cancellation token. + The type of the result. + A Task whose result is the result of the Command protocol. + + + + Gets the connection description. + + + + + Executes a Delete protocol. + + The collection namespace. + The query. + if set to true all matching documents are deleted. + The message encoder settings. + The write concern. + The cancellation token. + The result of the Delete protocol. + + + + Executes a Delete protocol. + + The collection namespace. + The query. + if set to true all matching documents are deleted. + The message encoder settings. + The write concern. + The cancellation token. + A Task whose result is the result of the Delete protocol. + + + + Executes a GetMore protocol. + + The collection namespace. + The query. + The cursor identifier. + Size of the batch. + The serializer. + The message encoder settings. + The cancellation token. + The type of the document. + The result of the GetMore protocol. + + + + Executes a GetMore protocol. + + The collection namespace. + The query. + The cursor identifier. + Size of the batch. + The serializer. + The message encoder settings. + The cancellation token. + The type of the document. + A Task whose result is the result of the GetMore protocol. + + + + Executes an Insert protocol. + + The collection namespace. + The write concern. + The serializer. + The message encoder settings. + The document source. + The maximum batch count. + Maximum size of the message. + if set to true the server will continue with subsequent Inserts even if errors occur. + A delegate that determines whether to piggy-back a GetLastError messsage with the Insert message. + The cancellation token. + The type of the document. + The result of the Insert protocol. + + + + Executes an Insert protocol. + + The collection namespace. + The write concern. + The serializer. + The message encoder settings. + The document source. + The maximum batch count. + Maximum size of the message. + if set to true the server will continue with subsequent Inserts even if errors occur. + A delegate that determines whether to piggy-back a GetLastError messsage with the Insert message. + The cancellation token. + The type of the document. + A Task whose result is the result of the Insert protocol. + + + + Executes a KillCursors protocol. + + The cursor ids. + The message encoder settings. + The cancellation token. + + + + Executes a KillCursors protocol. + + The cursor ids. + The message encoder settings. + The cancellation token. + A Task that represents the KillCursors protocol. + + + + Executes a Query protocol. + + The collection namespace. + The query. + The fields. + The query validator. + The number of documents to skip. + The size of a batch. + if set to true sets the SlaveOk bit to true in the query message sent to the server. + if set to true the server is allowed to return partial results if any shards are unavailable. + if set to true the server will not timeout the cursor. + if set to true the OplogReplay bit will be set. + if set to true the query should return a tailable cursor. + if set to true the server should await awhile before returning an empty batch for a tailable cursor. + The serializer. + The message encoder settings. + The cancellation token. + The type of the document. + The result of the Insert protocol. + + + + Executes a Query protocol. + + The collection namespace. + The query. + The fields. + The query validator. + The number of documents to skip. + The size of a batch. + if set to true sets the SlaveOk bit to true in the query message sent to the server. + if set to true the server is allowed to return partial results if any shards are unavailable. + if set to true the server will not timeout the cursor. + if set to true the OplogReplay bit will be set. + if set to true the query should return a tailable cursor. + if set to true the server should await awhile before returning an empty batch for a tailable cursor. + The serializer. + The message encoder settings. + The cancellation token. + The type of the document. + A Task whose result is the result of the Insert protocol. + + + + Executes an Update protocol. + + The collection namespace. + The message encoder settings. + The write concern. + The query. + The update. + The update validator. + if set to true the Update can affect multiple documents. + if set to true the document will be inserted if it is not found. + The cancellation token. + The result of the Update protocol. + + + + Executes an Update protocol. + + The collection namespace. + The message encoder settings. + The write concern. + The query. + The update. + The update validator. + if set to true the Update can affect multiple documents. + if set to true the document will be inserted if it is not found. + The cancellation token. + A Task whose result is the result of the Update protocol. + + + + Represents a handle to a channel. + + + + + Returns a new handle to the underlying channel. + + A channel handle. + + + + Represents a channel source. + + + + + Gets a channel. + + The cancellation token. + A channel. + + + + Gets a channel. + + The cancellation token. + A Task whose result is a channel. + + + + Gets the server. + + + + + Gets the server description. + + + + + Represents a handle to a channel source. + + + + + Returns a new handle to the underlying channel source. + + A handle to a channel source. + + + + Represents a binding that determines which channel source gets used for read operations. + + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a handle to a read binding. + + + + + Returns a new handle to the underlying read binding. + + A read binding handle. + + + + Represents a binding that can be used for both read and write operations. + + + + + Represents a handle to a read-write binding. + + + + + Returns a new handle to the underlying read-write binding. + + A read-write binding handle. + + + + Represents a binding that determines which channel source gets used for write operations. + + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Represents a handle to a write binding. + + + + + Returns a new handle to the underlying write binding. + + A write binding handle. + + + + Represents a handle to a read binding. + + + + + Initializes a new instance of the class. + + The read binding. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Returns a new handle to the underlying read binding. + + A read binding handle. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a read binding to a cluster using a ReadPreference to select the server. + + + + + Initializes a new instance of the class. + + The cluster. + The read preference. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a handle to a read-write binding. + + + + + Initializes a new instance of the class. + + The write binding. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Returns a new handle to the underlying read-write binding. + + A read-write binding handle. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a channel source that is bound to a server. + + + + + Initializes a new instance of the class. + + The server. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel. + + The cancellation token. + A channel. + + + + Gets a channel. + + The cancellation token. + A Task whose result is a channel. + + + + Gets the server. + + + + + Gets the server description. + + + + + Represents a read binding to a single server; + + + + + Initializes a new instance of the class. + + The server. + The read preference. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a read/write binding to a single server. + + + + + Initializes a new instance of the class. + + The server. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a split read-write binding, where the reads use one binding and the writes use another. + + + + + Initializes a new instance of the class. + + The read binding. + The write binding. + + + + Initializes a new instance of the class. + + The cluster. + The read preference. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a write binding to a writable server. + + + + + Initializes a new instance of the class. + + The cluster. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents the cluster connection mode. + + + + + Determine the cluster type automatically. + + + + + Connect directly to a single server of any type. + + + + + Connect directly to a Standalone server. + + + + + Connect to a replica set. + + + + + Connect to one or more shard routers. + + + + + Represents information about a cluster. + + + + + Initializes a new instance of the class. + + The cluster identifier. + The connection mode. + The type. + The servers. + + + + Gets the cluster identifier. + + + + + Gets the connection mode. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the servers. + + + + + Gets the cluster state. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the cluster type. + + + + + Returns a new ClusterDescription with a ServerDescription removed. + + The end point of the server description to remove. + A ClusterDescription. + + + + Returns a new ClusterDescription with a changed ServerDescription. + + The server description. + A ClusterDescription. + + + + Returns a new ClusterDescription with a changed ClusterType. + + The value. + A ClusterDescription. + + + + Represents the data for the event that fires when a cluster description changes. + + + + + Initializes a new instance of the class. + + The old cluster description. + The new cluster description. + + + + Gets the new cluster description. + + + + + Gets the old cluster description. + + + + + Represents a cluster identifier. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The value. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the value. + + + + + Represents the state of a cluster. + + + + + The cluster is disconnected. + + + + + The cluster is connected. + + + + + Represents the type of a cluster. + + + + + The type of the cluster is unknown. + + + + + The cluster is a standalone cluster. + + + + + The cluster is a replica set. + + + + + The cluster is a sharded cluster. + + + + + An election id from the server. + + + + + Initializes a new instance of the class. + + The identifier. + + + + Compares the current object with another object of the same type. + + An object to compare with this object. + + A value that indicates the relative order of the objects being compared. The return value has the following meanings: Value Meaning Less than zero This object is less than the parameter.Zero This object is equal to . Greater than zero This object is greater than . + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Represents a MongoDB cluster. + + + + + Gets the cluster identifier. + + + + + Gets the cluster description. + + + + + Occurs when the cluster description has changed. + + + + + Initializes the cluster. + + + + + Selects a server from the cluster. + + The server selector. + The cancellation token. + The selected server. + + + + Selects a server from the cluster. + + The server selector. + The cancellation token. + A Task representing the operation. The result of the Task is the selected server. + + + + Gets the cluster settings. + + + + + Represents a cluster factory. + + + + + Creates a cluster. + + A cluster. + + + + Represents the config of a replica set (as reported by one of the members of the replica set). + + + + + Initializes a new instance of the class. + + The members. + The name. + The primary. + The version. + + + + Gets an empty replica set config. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the members. + + + + + Gets the name of the replica set. + + + + + Gets the primary. + + + + + Gets the replica set config version. + + + + + Represents a selector that selects servers based on multiple partial selectors + + + + + Initializes a new instance of the class. + + The selectors. + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a server selector that wraps a delegate. + + + + + Initializes a new instance of the class. + + The selector. + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a selector that selects servers based on an end point. + + + + + Initializes a new instance of the class. + + The end point. + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a selector that selects servers. + + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + + Represents a selector that selects servers within an acceptable latency range. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The allowed latency range. + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a selector that selects a random server. + + + + + Initializes a new instance of the class. + + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a selector that selects servers based on a read preference. + + + + + Initializes a new instance of the class. + + The read preference. + + + + Gets a ReadPreferenceServerSelector that selects the Primary. + + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a server selector that selects writable servers. + + + + + Gets a WritableServerSelector. + + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a cluster builder. + + + + + Initializes a new instance of the class. + + + + + Builds the cluster. + + A cluster. + + + + Configures the cluster settings. + + The cluster settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the connection settings. + + The connection settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the connection pool settings. + + The connection pool settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the server settings. + + The server settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the SSL stream settings. + + The SSL stream settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the TCP stream settings. + + The TCP stream settings configurator delegate. + A reconfigured cluster builder. + + + + Registers a stream factory wrapper. + + The stream factory wrapper. + A reconfigured cluster builder. + + + + Subscribes the specified subscriber. + + The subscriber. + A reconfigured cluster builder. + + + + Subscribes to events of type . + + The handler. + The type of the event. + A reconfigured cluster builder. + + + + Extension methods for a ClusterBuilder. + + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + A reconfigured cluster builder. + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + A reconfigured cluster builder. + + + + Configures the cluster to trace command events to the specified . + + The builder. + The trace source. + A reconfigured cluster builder. + + + + Configures the cluster to trace events to the specified . + + The builder. + The trace source. + A reconfigured cluster builder. + + + + Configures the cluster to write performance counters. + + The cluster builder. + The name of the application. + if set to true install the performance counters first. + A reconfigured cluster builder. + + + + Represents settings for a cluster. + + + + + Initializes a new instance of the class. + + The connection mode. + The end points. + Maximum size of the server selection wait queue. + Name of the replica set. + The server selection timeout. + The pre server selector. + The post server selector. + + + + Gets the connection mode. + + + + + Gets the end points. + + + + + Gets the maximum size of the server selection wait queue. + + + + + Gets the post server selector. + + + + + Gets the pre server selector. + + + + + Gets the name of the replica set. + + + + + Gets the server selection timeout. + + + + + Returns a new ClusterSettings instance with some settings changed. + + The connection mode. + The end points. + Maximum size of the server selection wait queue. + Name of the replica set. + The server selection timeout. + The pre server selector. + The post server selector. + A new ClusterSettings instance. + + + + Represents settings for a connection pool. + + + + + Initializes a new instance of the class. + + The maintenance interval. + The maximum number of connections. + The minimum number of connections. + Size of the wait queue. + The wait queue timeout. + + + + Gets the maintenance interval. + + + + + Gets the maximum number of connections. + + + + + Gets the minimum number of connections. + + + + + Gets the size of the wait queue. + + + + + Gets the wait queue timeout. + + + + + Returns a new ConnectionPoolSettings instance with some settings changed. + + The maintenance interval. + The maximum connections. + The minimum connections. + Size of the wait queue. + The wait queue timeout. + A new ConnectionPoolSettings instance. + + + + Represents settings for a connection. + + + + + Initializes a new instance of the class. + + The authenticators. + The maximum idle time. + The maximum life time. + The application name. + + + + Gets the name of the application. + + + + + Gets the authenticators. + + + + + Gets the maximum idle time. + + + + + Gets the maximum life time. + + + + + Returns a new ConnectionSettings instance with some settings changed. + + The authenticators. + The maximum idle time. + The maximum life time. + The application name. + A new ConnectionSettings instance. + + + + Represents a connection string. + + + + + Initializes a new instance of the class. + + The connection string. + + + + Gets all the option names. + + + + + Gets all the unknown option names. + + + + + Gets the application name. + + + + + Gets the auth mechanism. + + + + + Gets the auth mechanism properties. + + + + + Gets the auth source. + + + + + Gets the connection mode. + + + + + Gets the connect timeout. + + + + + Gets the name of the database. + + + + + Gets the fsync value of the write concern. + + + + + Gets the option. + + The name. + The option with the specified name. + + + + Gets the heartbeat interval. + + + + + Gets the heartbeat timeout. + + + + + Gets the hosts. + + + + + Gets whether to use IPv6. + + + + + Gets the journal value of the write concern. + + + + + Gets the local threshold. + + + + + Gets the max idle time. + + + + + Gets the max life time. + + + + + Gets the max size of the connection pool. + + + + + Gets the max staleness. + + + + + Gets the min size of the connection pool. + + + + + Gets the password. + + + + + Gets the read concern level. + + + + + Gets the read preference. + + + + + Gets the read preference tags. + + + + + Gets the replica set name. + + + + + Gets the server selection timeout. + + + + + Gets the socket timeout. + + + + + Gets whether to use SSL. + + + + + Gets whether to verify SSL certificates. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the username. + + + + + Gets the UUID representation. + + + + + Gets the w value of the write concern. + + + + + Gets the wait queue multiple. + + + + + Gets the wait queue size. + + + + + Gets the wait queue timeout. + + + + + Gets the wtimeout value of the write concern. + + + + + Represents settings for a server. + + + + + Initializes a new instance of the class. + + The heartbeat interval. + The heartbeat timeout. + + + + Gets the default heartbeat interval. + + + + + Gets the default heartbeat timeout. + + + + + Gets the heartbeat interval. + + + + + Gets the heartbeat timeout. + + + + + Returns a new ServerSettings instance with some settings changed. + + The heartbeat interval. + The heartbeat timeout. + A new ServerSettings instance. + + + + Represents settings for an SSL stream. + + + + + Initializes a new instance of the class. + + Whether to check for certificate revocation. + The client certificates. + The client certificate selection callback. + The enabled protocols. + The server certificate validation callback. + + + + Gets a value indicating whether to check for certificate revocation. + + + + + Gets the client certificates. + + + + + Gets the client certificate selection callback. + + + + + Gets the enabled SSL protocols. + + + + + Gets the server certificate validation callback. + + + + + Returns a new SsslStreamSettings instance with some settings changed. + + Whether to check certificate revocation. + The client certificates. + The client certificate selection callback. + The enabled protocols. + The server certificate validation callback. + A new SsslStreamSettings instance. + + + + Represents settings for a TCP stream. + + + + + Initializes a new instance of the class. + + The address family. + The connect timeout. + The read timeout. + Size of the receive buffer. + Size of the send buffer. + The socket configurator. + The write timeout. + + + + Gets the address family. + + + + + Gets the connect timeout. + + + + + Gets the read timeout. + + + + + Gets the size of the receive buffer. + + + + + Gets the size of the send buffer. + + + + + Gets the socket configurator. + + + + + Returns a new TcpStreamSettings instance with some settings changed. + + The address family. + The connect timeout. + The read timeout. + Size of the receive buffer. + Size of the send buffer. + The socket configurator. + The write timeout. + A new TcpStreamSettings instance. + + + + Gets the write timeout. + + + + + Represents a connection pool. + + + + + Acquires a connection. + + The cancellation token. + A connection. + + + + Acquires a connection. + + The cancellation token. + A Task whose result is a connection. + + + + Clears the connection pool. + + + + + Initializes the connection pool. + + + + + Gets the server identifier. + + + + + Represents a connection pool factory. + + + + + Creates a connection pool. + + The server identifier. + The end point. + A connection pool. + + + + Represents the result of a buildInfo command. + + + + + Initializes a new instance of the class. + + The wrapped result document. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the server version. + + + + + Gets the wrapped result document. + + + + + Represents information describing a connection. + + + + + Initializes a new instance of the class. + + The connection identifier. + The issMaster result. + The buildInfo result. + + + + Gets the buildInfo result. + + + + + Gets the connection identifier. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the isMaster result. + + + + + Gets the maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + + + Gets the maximum size of a message. + + + + + Gets the maximum size of a wire document. + + + + + Gets the server version. + + + + + Returns a new instance of ConnectionDescription with a different connection identifier. + + The value. + A connection description. + + + + Represents a connection identifier. + + + + + Initializes a new instance of the class. + + The server identifier. + + + + Initializes a new instance of the class. + + The server identifier. + The local value. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the local value. + + + + + Gets the server identifier. + + + + + Gets the server value. + + + + + Compares all fields of two ConnectionId instances (Equals ignores the ServerValue). + + The other ConnectionId. + True if both instances are equal. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Returns a new instance of ConnectionId with a new server value. + + The server value. + A ConnectionId. + + + + Represents a connection. + + + + + Gets the connection identifier. + + + + + Gets the connection description. + + + + + Gets the end point. + + + + + Gets a value indicating whether this instance is expired. + + + + + Opens the connection. + + The cancellation token. + + + + Opens the connection. + + The cancellation token. + A Task. + + + + Receives a message. + + The id of the sent message for which a response is to be received. + The encoder selector. + The message encoder settings. + The cancellation token. + + The response message. + + + + + Receives a message. + + The id of the sent message for which a response is to be received. + The encoder selector. + The message encoder settings. + The cancellation token. + + A Task whose result is the response message. + + + + + Sends the messages. + + The messages. + The message encoder settings. + The cancellation token. + + + + Sends the messages. + + The messages. + The message encoder settings. + The cancellation token. + A Task. + + + + Gets the connection settings. + + + + + Represents a connection factory. + + + + + Creates the connection. + + The server identifier. + The end point. + A connection. + + + + Represents a handle to a connection. + + + + + A new handle to the underlying connection. + + A connection handle. + + + + Represents the result of an isMaster command. + + + + + Initializes a new instance of the class. + + The wrapped result document. + + + + Gets the election identifier. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the replica set configuration. + + The replica set configuration. + + + + Gets a value indicating whether this instance is an arbiter. + + + + + Gets a value indicating whether this instance is a replica set member. + + + + + Gets the last write timestamp. + + + + + Gets the maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + + + Gets the maximum size of a message. + + + + + Gets the maximum wire version. + + + + + Gets the endpoint the server is claiming it is known as. + + + + + Gets the minimum wire version. + + + + + Gets the type of the server. + + + + + Gets the replica set tags. + + + + + Gets the wrapped result document. + + + + + Represents a stream factory. + + + + + Creates a stream. + + The end point. + The cancellation token. + A Stream. + + + + Creates a stream. + + The end point. + The cancellation token. + A Task whose result is the Stream. + + + + Occurs after a server is added to the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The duration of time it took to add the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to add a server, + + + + + Gets the server identifier. + + + + + Occurs before a server is added to the cluster. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The end point. + + + + Gets the cluster identifier. + + + + + Gets the end point. + + + + + Occurs after a cluster is closed. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The duration of time it took to close the cluster. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to close the cluster. + + + + + Occurs before a cluster is closed. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + + + + Gets the cluster identifier. + + + + + Occurs when a cluster has changed. + + + + + Initializes a new instance of the struct. + + The old description. + The new description. + + + + Gets the cluster identifier. + + + + + Gets the new description. + + + + + Gets the old description. + + + + + Occurs after a cluster is opened. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The cluster settings. + The duration of time it took to open the cluster. + + + + Gets the cluster identifier. + + + + + Gets the cluster settings. + + + + + Gets the duration of time it took to open the cluster. + + + + + Occurs before a cluster is opened. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The cluster settings. + + + + Gets the cluster identifier. + + + + + Gets the cluster settings. + + + + + Occurs after a server has been removed from the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The reason. + The duration of time it took to remove the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to remove the server. + + + + + Gets the reason the server was removed. + + + + + Gets the server identifier. + + + + + Occurs before a server is removed from the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The reason the server is being removed. + + + + Gets the cluster identifier. + + + + + Gets the reason the server is being removed. + + + + + Gets the server identifier. + + + + + Occurs after a server is selected. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The selected server. + The duration of time it took to select the server. + The operation identifier. + + + + Gets the cluster description. + + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to select the server. + + + + + Gets the operation identifier. + + + + + Gets the selected server. + + + + + Gets the server selector. + + + + + Occurs before a server is selected. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The operation identifier. + + + + Gets the cluster description. + + + + + Gets the cluster identifier. + + + + + Gets the operation identifier. + + + + + Gets the server selector. + + + + + Occurs when selecting a server fails. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The exception. + The operation identifier. + + + + Gets the cluster description. + + + + + Gets the cluster identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the server selector. + + + + + Occurs when a command has failed. + + + + + Initializes a new instance of the struct. + + Name of the command. + The exception. + The operation identifier. + The request identifier. + The connection identifier. + The duration. + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the duration. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the request identifier. + + + + + Occurs when a command has started. + + + + + Initializes a new instance of the class. + + Name of the command. + The command. + The database namespace. + The operation identifier. + The request identifier. + The connection identifier. + + + + Gets the command. + + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the database namespace. + + + + + Gets the operation identifier. + + + + + Gets the request identifier. + + + + + Occurs when a command has succeeded. + + + + + Initializes a new instance of the struct. + + Name of the command. + The reply. + The operation identifier. + The request identifier. + The connection identifier. + The duration. + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the duration. + + + + + Gets the operation identifier. + + + + + Gets the reply. + + + + + Gets the request identifier. + + + + + Occurs after a connection is closed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to close the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to close the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs before a connection is closed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs when a connection fails. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The exception. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + + + Gets the server identifier. + + + + + Occurs after a connection is opened. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The duration of time it took to open the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the duration of time it took to open the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs before a connection is opened. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs when a connection fails to open. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs after a connection is added to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to add the connection to the pool. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to add the server to the pool. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs before a connection is added to the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs after a connection is checked in to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to check in the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to check in the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs after a connection is checked out of the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to check out the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to check out the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs before a connection is checked in to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs before a connection is checking out of the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs when a connection could not be checked out of the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs after the pool is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Occurs before the pool is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Occurs after the pool is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + Occurs before the pool is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + Occurs after a connection is removed from the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to remove the connection from the pool. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to remove the connection from the pool. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs before a connection is removed from the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs after a message is received. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we received a response to. + The length of the received message. + The duration of network time it took to receive the message. + The duration of deserialization time it took to receive the message. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of deserialization time it took to receive the message. + + + + + Gets the duration of time it took to receive the message. + + + + + Gets the length of the received message. + + + + + Gets the duration of network time it took to receive the message. + + + + + Gets the operation identifier. + + + + + Gets the id of the message we received a response to. + + + + + Gets the server identifier. + + + + + Occurs before a message is received. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we are receiving a response to. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the id of the message we are receiving a response to. + + + + + Gets the server identifier. + + + + + Occurs when a message was unable to be received. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we were receiving a response to. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets id of the message we were receiving a response to. + + + + + Gets the server identifier. + + + + + Occurs before a message is sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the request ids. + + + + + Gets the server identifier. + + + + + Occurs when a message could not be sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the request ids. + + + + + Gets the server identifier. + + + + + Occurs after a message has been sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The length. + The duration of time spent on the network. + The duration of time spent serializing the messages. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to send the message. + + + + + Gets the combined length of the messages. + + + + + Gets the duration of time spent on the network. + + + + + Gets the operation identifier. + + + + + Gets the request ids. + + + + + Gets the duration of time spent serializing the messages. + + + + + Gets the server identifier. + + + + + A subscriber to events. + + + + + Tries to get an event handler for an event of type . + + The handler. + The type of the event. + + true if this subscriber has provided an event handler; otherwise false. + + + + Subscribes methods with a single argument to events + of that single argument's type. + + + + + Initializes a new instance of the class. + + The instance. + Name of the method to match against. + The binding flags. + + + + Tries to get an event handler for an event of type . + + The handler. + The type of the event. + + true if this subscriber has provided an event handler; otherwise false. + + + + Occurs after a server is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + The duration of time it took to close the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to close the server. + + + + + Gets the server identifier. + + + + + Occurs before a server is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Occurs after a server's description has changed. + + + + + Initializes a new instance of the struct. + + The old description. + The new description. + + + + Gets the cluster identifier. + + + + + Gets the new description. + + + + + Gets the old description. + + + + + Gets the server identifier. + + + + + Occurs when a heartbeat failed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The exception. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + + + Gets the server identifier. + + + + + Occurs when a heartbeat succeeded. + + + + + Initializes a new instance of the struct. + + The connection identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the server identifier. + + + + + Occurs before heartbeat is issued. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to complete the heartbeat. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to complete the heartbeat. + + + + + Gets the server identifier. + + + + + Occurs after a server is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The server settings. + The duration of time it took to open the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to open the server. + + + + + Gets the server identifier. + + + + + Gets the server settings. + + + + + Occurs before a server is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The server settings. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Gets the server settings. + + + + + Subscriber for a single type of event. + + The type of the single event. + + + + Initializes a new instance of the class. + + The handler. + + + + Tries to get an event handler for an event of type . + + The handler. + The type of the event. + + true if this subscriber has provided an event handler; otherwise false. + + + + Represents an event subscriber that records certain events to Windows performance counters. + + + + + Initializes a new instance of the class. + + The name of the application. + + + + Installs the performance counters. + + + + + Tries to get an event handler for an event of type . + + The handler. + The type of the event. + + true if this subscriber has provided an event handler; otherwise false. + + + + An event subscriber that writes command events to a trace source. + + + + + Initializes a new instance of the class. + + The trace source. + + + + Tries to get an event handler for an event of type . + + The handler. + The type of the event. + + true if this subscriber has provided an event handler; otherwise false. + + + + An event subscriber that writes to a trace source. + + + + + Initializes a new instance of the class. + + The trace source. + + + + Tries to get an event handler for an event of type . + + The handler. + The type of the event. + + true if this subscriber has provided an event handler; otherwise false. + + + + Represents a source of items that can be broken into batches. + + The type of the items. + + + + Initializes a new instance of the class. + + The single batch. + + + + Initializes a new instance of the class. + + The enumerator that will provide the items for the batch. + + + + Gets the most recent batch. + + + + + Clears the most recent batch. + + + + + Gets the current item. + + + + + Called when the last batch is complete. + + The batch. + + + + Called when an intermediate batch is complete. + + The batch. + The overflow item. + + + + Gets all the remaining items that haven't been previously consumed. + + The remaining items. + + + + Gets a value indicating whether there are more items. + + + + + Moves to the next item in the source. + + True if there are more items. + + + + Starts a new batch. + + The overflow item of the previous batch if there is one; otherwise, null. + + + + Represents an overflow item that did not fit in the most recent batch and will be become the first item in the next batch. + + + + + + + MongoDB.Driver.Core.Misc.BatchableSource`1.Overflow + + + + + + + The item. + + + + + The state information, if any, that the consumer wishes to associate with the overflow item. + + + + + Represents the collation feature. + + + + + Initializes a new instance of the class. + + The name of the feature. + The first server version that supports the feature. + + + + Throws if collation value is not null and collations are not supported. + + The server version. + The value. + + + + Represents the commands that write accept write concern concern feature. + + + + + Initializes a new instance of the class. + + The name of the feature. + The first server version that supports the feature. + + + + Returns true if the write concern value supplied is one that should be sent to the server and the server version supports the commands that write accept write concern feature. + + The server version. + The write concern value. + Whether the write concern should be sent to the server. + + + + Represents helper methods for EndPoints. + + + + + Determines whether a list of end points contains a specific end point. + + The list of end points. + The specific end point to search for. + True if the list of end points contains the specific end point. + + + + Gets an end point equality comparer. + + + + + Compares two end points. + + The first end point. + The second end point. + True if both end points are equal, or if both are null. + + + + Creates an end point from object data saved during serialization. + + The object data. + An end point. + + + + Gets the object data required to serialize an end point. + + The end point. + The object data. + + + + Parses the string representation of an end point. + + The value to parse. + An end point. + + + + Compares two sequences of end points. + + The first sequence of end points. + The second sequence of end points. + True if both sequences contain the same end points in the same order, or if both sequences are null. + + + + Returns a that represents the end point. + + The end point. + + A that represents the end point. + + + + + Tries to parse the string representation of an end point. + + The value to parse. + The result. + True if the string representation was parsed successfully. + + + + Represents methods that can be used to ensure that parameter values meet expected conditions. + + + + + Ensures that the value of a parameter is between a minimum and a maximum value. + + The value of the parameter. + The minimum value. + The maximum value. + The name of the parameter. + Type type of the value. + The value of the parameter. + + + + Ensures that the value of a parameter is equal to a comparand. + + The value of the parameter. + The comparand. + The name of the parameter. + Type type of the value. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to a comparand. + + The value of the parameter. + The comparand. + The name of the parameter. + Type type of the value. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is infinite or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is infinite or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is not null. + + The value of the parameter. + The name of the parameter. + Type type of the value. + The value of the parameter. + + + + Ensures that the value of a parameter is not null or empty. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null. + + The value of the parameter. + The name of the parameter. + Type type of the value. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null, or infinite, or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or not empty. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or a valid timeout. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is a valid timeout. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that an assertion is true. + + The assertion. + The message to use with the exception that is thrown if the assertion is false. + + + + Ensures that an assertion is true. + + The assertion. + The message to use with the exception that is thrown if the assertion is false. + The parameter name. + + + + Ensures that the value of a parameter meets an assertion. + + The value of the parameter. + The assertion. + The name of the parameter. + The message to use with the exception that is thrown if the assertion is false. + Type type of the value. + The value of the parameter. + + + + Represents a feature that is not supported by all versions of the server. + + + + + Initializes a new instance of the class. + + The name of the feature. + The first server version that supports the feature. + + + + Gets the aggregate feature. + + + + + Gets the aggregate allow disk use feature. + + + + + Gets the aggregate bucket stage feature. + + + + + Gets the aggregate count stage feature. + + + + + Gets the aggregate cursor result feature. + + + + + Gets the aggregate explain feature. + + + + + Gets the aggregate $facet stage feature. + + + + + Gets the aggregate $graphLookup stage feature. + + + + + Gets the aggregate out feature. + + + + + Gets the bypass document validation feature. + + + + + Gets the collation feature. + + + + + Gets the commands that write accept write concern feature. + + + + + Gets the create indexes command feature. + + + + + Gets the current op command feature. + + + + + Gets the document validation feature. + + + + + Gets the explain command feature. + + + + + Gets the fail points feature. + + + + + Gets the find and modify write concern feature. + + + + + Gets the find command feature. + + + + + Gets the first server version that supports the feature. + + + + + Gets the index options defaults feature. + + + + + Determines whether a feature is supported by a version of the server. + + The server version. + Whether a feature is supported by a version of the server. + + + + Gets the last server version that does not support the feature. + + + + + Gets the list collections command feature. + + + + + Gets the list indexes command feature. + + + + + Gets the maximum staleness feature. + + + + + Gets the maximum time feature. + + + + + Gets the name of the feature. + + + + + Gets the partial indexes feature. + + + + + Gets the read concern feature. + + + + + Gets the scram sha1 authentication feature. + + + + + Gets the server extracts username from X509 certificate feature. + + + + + Returns a version of the server where the feature is or is not supported. + + Whether the feature is supported or not. + A version of the server where the feature is or is not supported. + + + + Throws if the feature is not supported by a version of the server. + + The server version. + + + + Gets the user management commands feature. + + + + + Gets the views feature. + + + + + Gets the write commands feature. + + + + + Represents a range between a minimum and a maximum value. + + The type of the value. + + + + Initializes a new instance of the class. + + The minimum value. + The maximum value. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the maximum value. + + + + + Gets the minimum value. + + + + + Determines whether this range overlaps with another range. + + The other range. + True if this range overlaps with the other + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents the read concern feature. + + + + + Initializes a new instance of the class. + + The name of the feature. + The first server version that supports the feature. + + + + Throws if the read concern value is not the server default and read concern is not supported. + + The server version. + The value. + + + + Represents a semantic version number. + + + + + Initializes a new instance of the class. + + The major version. + The minor version. + The patch version. + + + + Initializes a new instance of the class. + + The major version. + The minor version. + The patch version. + The pre release version. + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + An object to compare with this instance. + A value that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance precedes in the sort order. Zero This instance occurs in the same position in the sort order as . Greater than zero This instance follows in the sort order. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the major version. + + + + + Gets the minor version. + + + + + Determines whether two specified semantic versions have the same value. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is the same as the value of b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is greater than the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is greater than b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is greater than or equal to the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is greater than or equal to b; otherwise false. + + + + + Determines whether two specified semantic versions have different values. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is different from the value of b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is less than the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is less than b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is less than or equal to the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is less than or equal to b; otherwise false. + + + + + Parses a string representation of a semantic version. + + The string value to parse. + A semantic version. + + + + Gets the patch version. + + + + + Gets the pre release version. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Tries to parse a string representation of a semantic version. + + The string value to parse. + The result. + True if the string representation was parsed successfully; otherwise false. + + + + Represents a tentative request to acquire a SemaphoreSlim. + + + + + Initializes a new instance of the class. + + The semaphore. + The cancellation token. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets the semaphore wait task. + + + + + Represents an aggregate explain operations. + + + + + Initializes a new instance of the class. + + The collection namespace. + The pipeline. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to use the disk. + + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets the pipeline. + + + + + Represents an aggregate operation. + + The type of the result values. + + + + Initializes a new instance of the class. + + The collection namespace. + The pipeline. + The result value serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to use the disk. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets the pipeline. + + + + + Gets or sets the read concern. + + + + + Gets the result value serializer. + + + + + Returns an AggregateExplainOperation for this AggregateOperation. + + The verbosity. + An AggregateExplainOperation. + + + + Gets or sets a value indicating whether the server should use a cursor to return the results. + + + + + Represents an aggregate operation that writes the results to an output collection. + + + + + Initializes a new instance of the class. + + The collection namespace. + The pipeline. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to use the disk. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets the pipeline. + + + + + Gets or sets the write concern. + + + + + Represents an async cursor. + + The type of the documents. + + + + Initializes a new instance of the class. + + The channel source. + The collection namespace. + The query. + The first batch. + The cursor identifier. + The size of a batch. + The limit. + The serializer. + The message encoder settings. + The maxTime for each batch. + + + + Gets the current batch of documents. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Moves to the next batch of documents. + + The cancellation token. + Whether any more documents are available. + + + + Moves to the next batch of documents. + + The cancellation token. + A Task whose result indicates whether any more documents are available. + + + + Represents a mixed write bulk operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The requests. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets a value indicating whether the writes must be performed in order. + + + + + Gets or sets the maximum number of documents in a batch. + + + + + Gets or sets the maximum length of a batch. + + + + + Gets or sets the maximum size of a document. + + + + + Gets or sets the maximum size of a wire document. + + + + + Gets the message encoder settings. + + + + + Gets the requests. + + + + + Gets or sets the write concern. + + + + + Represents the details of a write concern error. + + + + + Initializes a new instance of the class. + + The code. + The message. + The details. + + + + Gets the error code. + + + + + Gets the error details. + + + + + Gets the error message. + + + + + Represents the details of a write error for a particular request. + + + + + Initializes a new instance of the class. + + The index. + The code. + The message. + The details. + + + + Gets the error category. + + + + + Gets the error code. + + + + + Gets the error details. + + + + + Gets the index of the request that had an error. + + + + + Gets the error message. + + + + + Represents the result of a bulk write operation. + + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + Gets the number of documents that were deleted. + + + + + Gets the number of documents that were inserted. + + + + + Gets a value indicating whether the bulk write operation was acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the number of documents that were matched. + + + + + Gets the number of documents that were actually modified during an update. + + + + + Gets the processed requests. + + + + + Gets the request count. + + + + + Gets a list with information about each request that resulted in an upsert. + + + + + Represents the result of an acknowledged bulk write operation. + + + + + Initializes a new instance of the class. + + The request count. + The matched count. + The deleted count. + The inserted count. + The modified count. + The processed requests. + The upserts. + + + + Gets the number of documents that were deleted. + + + + + Gets the number of documents that were inserted. + + + + + Gets a value indicating whether the bulk write operation was acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the number of documents that were matched. + + + + + Gets the number of documents that were actually modified during an update. + + + + + Gets a list with information about each request that resulted in an upsert. + + + + + Represents the result of an unacknowledged BulkWrite operation. + + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + Gets the number of documents that were deleted. + + + + + Gets the number of documents that were inserted. + + + + + Gets a value indicating whether the bulk write operation was acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the number of documents that were matched. + + + + + Gets the number of documents that were actually modified during an update. + + + + + Gets a list with information about each request that resulted in an upsert. + + + + + Represents the information about one Upsert. + + + + + Gets the identifier. + + + + + Gets the index. + + + + + Represents the base class for a command operation. + + The type of the command result. + + + + Initializes a new instance of the class. + + The database namespace. + The command. + The result serializer. + The message encoder settings. + + + + Gets or sets the additional options. + + + + + Gets the command. + + + + + Gets or sets the command validator. + + + + + Gets or sets the comment. + + + + + Gets the database namespace. + + + + + Executes the protocol. + + The channel source. + The read preference. + The cancellation token. + A Task whose result is the command result. + + + + Executes the protocol. + + The channel source. + The read preference. + The cancellation token. + A Task whose result is the command result. + + + + Gets the message encoder settings. + + + + + Gets the result serializer. + + + + + Represents a count operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the filter. + + + + + Gets or sets the index hint. + + + + + Gets or sets a limit on the number of matching documents to count. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets or sets the read concern. + + + + + Gets or sets the number of documents to skip before counting the remaining matching documents. + + + + + Represents a create collection operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets or sets a value indicating whether an index on _id should be created automatically. + + + + + Gets or sets a value indicating whether the collection is a capped collection. + + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the index option defaults. + + + + + Gets or sets the maximum number of documents in a capped collection. + + + + + Gets or sets the maximum size of a capped collection. + + + + + Gets the message encoder settings. + + + + + Gets or sets whether padding should not be used. + + + + + Gets or sets the storage engine options. + + + + + Gets or sets a value indicating whether the collection should use power of 2 sizes. + + + + + Gets or sets the validation action. + + + + + Gets or sets the validation level. + + + + + Gets or sets the validator. + + + + + Gets or sets the write concern. + + + + + Represents a create indexes operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The requests. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets the create index requests. + + + + + Gets or sets the write concern. + + + + + Represents a create indexes operation that uses the createIndexes command. + + + + + Initializes a new instance of the class. + + The collection namespace. + The requests. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets the create index requests. + + + + + Gets or sets the write concern. + + + + + Represents a create indexes operation that inserts into the system.indexes collection (used with older server versions). + + + + + Initializes a new instance of the class. + + The collection namespace. + The requests. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets the create index requests. + + + + + Represents a create index request. + + + + + Initializes a new instance of the class. + + The keys. + + + + Gets or sets the additional options. + + + + + Gets or sets a value indicating whether the index should be created in the background. + + + + + Gets or sets the bits of precision of the geohash values for 2d geo indexes. + + + + + Gets or sets the size of the bucket for geo haystack indexes. + + + + + Gets or sets the collation. + + + + + Gets or sets the default language for text indexes. + + + + + Gets or sets when documents in a TTL collection expire. + + + + + Gets the name of the index. + + The name of the index. + + + + Gets the keys. + + + + + Gets or sets the language override for text indexes. + + + + + Gets or sets the maximum coordinate value for 2d indexes. + + + + + Gets or sets the minimum coordinate value for 2d indexes. + + + + + Gets or sets the index name. + + + + + Gets or sets the partial filter expression. + + + + + Gets or sets a value indicating whether the index is a sparse index. + + + + + Gets or sets the 2dsphere index version. + + + + + Gets or sets the storage engine options. + + + + + Gets or sets the text index version. + + + + + Gets or sets a value indicating whether the index enforces the uniqueness of the key values. + + + + + Gets or sets the index version. + + + + + Gets or sets the weights for text indexes. + + + + + Represents a create view operation. + + + + + Initializes a new instance of the class. + + The name of the database. + The name of the view. + The name of the collection that the view is on. + The pipeline. + The message encoder settings. + + + + Gets or sets the collation. + + + + + Gets the namespace of the database. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets the pipeline. + + + + + Gets the name of the view. + + + + + Gets the name of the collection that the view is on. + + + + + Gets or sets the write concern. + + + + + The cursor type. + + + + + A non-tailable cursor. This is sufficient for most uses. + + + + + A tailable cursor. + + + + + A tailable cursor with a built-in server sleep. + + + + + Represents a database exists operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The message encoder settings. + + + + Gets the database namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Represents a delete operation using the delete opcode. + + + + + Initializes a new instance of the class. + + The collection namespace. + The request. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets the request. + + + + + Gets or sets the write concern. + + + + + Represents a request to delete one or more documents. + + + + + Initializes a new instance of the class. + + The filter. + + + + Gets or sets the collation. + + + + + Gets or sets the filter. + + + + + Gets or sets a limit on the number of documents that should be deleted. + + + + + Represents a distinct operation. + + The type of the value. + + + + Initializes a new instance of the class. + + The collection namespace. + The value serializer. + The name of the field. + The message encoder settings. + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the name of the field. + + + + + Gets or sets the filter. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets or sets the read concern. + + + + + Gets the value serializer. + + + + + Represents a drop collection operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets or sets the write concern. + + + + + Represents a drop database operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The message encoder settings. + + + + Gets the database namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets or sets the write concern. + + + + + Represents a drop index operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The keys. + The message encoder settings. + + + + Initializes a new instance of the class. + + The collection namespace. + The name of the index. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the name of the index. + + + + + Gets the message encoder settings. + + + + + Gets or sets the write concern. + + + + + Represents an eval operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The JavaScript function. + The message encoder settings. + + + + Gets or sets the arguments to the JavaScript function. + + + + + Gets the database namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the JavaScript function. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets or sets a value indicating whether the server should not take a global write lock before evaluating the JavaScript function. + + + + + Represents an explain operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The command. + The message encoder settings. + + + + Gets the command to be explained. + + + + + Gets the database namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets or sets the verbosity. + + + + + The verbosity of an explanation. + + + + + Runs the query planner and chooses the winning plan, but does not actually execute it. + + + + + Runs the query optimizer, and then runs the winning plan to completion. In addition to the + planner information, this makes execution stats available. + + + + + Runs the query optimizer and chooses the winning plan, but then runs all generated plans + to completion. This makes execution stats available for all of the query plans. + + + + + Represents a base class for find and modify operations. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The result serializer. + The message encoder settings. + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the command validator. + + An element name validator for the command. + + + + Gets the message encoder settings. + + + + + Gets the result serializer. + + + + + Gets or sets the write concern. + + + + + Represents a deserializer for find and modify result values. + + The type of the result. + + + + Initializes a new instance of the class. + + The value serializer. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Represents a Find command operation. + + The type of the document. + + + + Initializes a new instance of the class. + + The collection namespace. + The result serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to return partial results if any shards are unavailable. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Gets or sets the comment. + + + + + Gets or sets the type of the cursor. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the filter. + + + + + Gets or sets the size of the first batch. + + + + + Gets or sets the hint. + + + + + Gets or sets the limit. + + + + + Gets or sets the max key value. + + + + + Gets or sets the maximum await time for TailableAwait cursors. + + + + + Gets or sets the max scan. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets or sets the min key value. + + + + + Gets or sets a value indicating whether the server will not timeout the cursor. + + + + + Gets or sets a value indicating whether the OplogReplay bit will be set. + + + + + Gets or sets the projection. + + + + + Gets or sets the read concern. + + + + + Gets the result serializer. + + + + + Gets or sets whether to only return the key values. + + + + + Gets or sets whether the record Id should be added to the result document. + + + + + Gets or sets whether to return only a single batch. + + + + + Gets or sets the number of documents skip. + + + + + Gets or sets whether to use snapshot behavior. + + + + + Gets or sets the sort specification. + + + + + Represents a find one and delete operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The filter. + The result serializer. + The message encoder settings. + + + + Gets the filter. + + + + + Gets the command validator. + + An element name validator for the command. + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets or sets the projection. + + + + + Gets or sets the sort specification. + + + + + Represents a find one and replace operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The filter. + The replacement. + The result serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets the filter. + + + + + Gets the command validator. + + An element name validator for the command. + + + + Gets a value indicating whether a document should be inserted if no matching document is found. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets or sets the projection. + + + + + Gets the replacement document. + + + + + Gets or sets which version of the modified document to return. + + + + + Gets or sets the sort specification. + + + + + Represents a find one and update operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The filter. + The update. + The result serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets the filter. + + + + + Gets the command validator. + + An element name validator for the command. + + + + Gets a value indicating whether a document should be inserted if no matching document is found. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets or sets the projection. + + + + + Gets or sets which version of the modified document to return. + + + + + Gets or sets the sort specification. + + + + + Gets or sets the update specification. + + + + + Represents a Find opcode operation. + + The type of the returned documents. + + + + Initializes a new instance of the class. + + The collection namespace. + The result serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to return partial results if any shards are unavailable. + + + + + Gets or sets the size of a batch. + + + + + Gets the collection namespace. + + + + + Gets or sets the comment. + + + + + Gets or sets the type of the cursor. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the filter. + + + + + Gets or sets the size of the first batch. + + + + + Gets or sets the hint. + + + + + Gets or sets the limit. + + + + + Gets or sets the max key value. + + + + + Gets or sets the max scan. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets or sets the min key value. + + + + + Gets or sets any additional query modifiers. + + + + + Gets or sets a value indicating whether the server will not timeout the cursor. + + + + + Gets or sets a value indicating whether the OplogReplay bit will be set. + + + + + Gets or sets the projection. + + + + + Gets the result serializer. + + + + + Gets or sets whether the record Id should be added to the result document. + + + + + Gets or sets the number of documents skip. + + + + + Gets or sets whether to use snapshot behavior. + + + + + Gets or sets the sort specification. + + + + + Returns an explain operation for this find operation. + + The verbosity. + An explain operation. + + + + Represents a Find operation. + + The type of the returned documents. + + + + Initializes a new instance of the class. + + The collection namespace. + The result serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to return partial results if any shards are unavailable. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Gets or sets the comment. + + + + + Gets or sets the type of the cursor. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the filter. + + + + + Gets or sets the size of the first batch. + + + + + Gets or sets the hint. + + + + + Gets or sets the limit. + + + + + Gets or sets the max key value. + + + + + Gets or sets the maximum await time for TailableAwait cursors. + + + + + Gets or sets the max scan. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets or sets the min key value. + + + + + Gets or sets any additional query modifiers. + + + + + Gets or sets a value indicating whether the server will not timeout the cursor. + + + + + Gets or sets a value indicating whether the OplogReplay bit will be set. + + + + + Gets or sets the projection. + + + + + Gets or sets the read concern. + + + + + Gets the result serializer. + + + + + Gets or sets whether to only return the key values. + + + + + Gets or sets whether the record Id should be added to the result document. + + + + + Gets or sets whether to return only a single batch. + + + + + Gets or sets the number of documents skip. + + + + + Gets or sets whether to use snapshot behavior. + + + + + Gets or sets the sort specification. + + + + + Represents the geoNear command. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The point for which to find the closest documents. + The result serializer. + The message encoder settings. + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Gets or sets the distance multiplier. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the filter. + + + + + Gets or sets whether to include the locations of the matching documents. + + + + + Gets or sets the limit. + + + + + Gets or sets the maximum distance. + + + + + Gets or sets the maximum time. + + + + + Gets the message encoder settings. + + + + + Gets the point for which to find the closest documents. + + + + + Gets or sets the read concern. + + + + + Gets the result serializer. + + + + + Gets or sets whether to use spherical geometry. + + + + + Gets or sets whether to return a document only once. + + + + + Represents the geoSearch command. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The point for which to find the closest documents. + The result serializer. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the limit. + + + + + Gets or sets the maximum distance. + + + + + Gets or sets the maximum time. + + + + + Gets the message encoder settings. + + + + + Gets the point for which to find the closest documents. + + + + + Gets or sets the read concern. + + + + + Gets the result serializer. + + + + + Gets or sets the search. + + + + + Represents a group operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The key. + The initial aggregation result for each group. + The reduce function. + The filter. + The message encoder settings. + + + + Initializes a new instance of the class. + + The collection namespace. + The key function. + The initial aggregation result for each group. + The reduce function. + The filter. + The message encoder settings. + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the filter. + + + + + Gets or sets the finalize function. + + + + + Gets the initial aggregation result for each group. + + + + + Gets the key. + + + + + Gets the key function. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets the reduce function. + + + + + Gets or sets the result serializer. + + + + + Represents helper methods for index names. + + + + + Gets the name of the index derived from the keys specification. + + The keys specification. + The name of the index. + + + + Gets the name of the index derived from the key names. + + The key names. + The name of the index. + + + + Represents an insert operation using the insert opcode. + + The type of the document. + + + + Initializes a new instance of the class. + + The collection namespace. + The document source. + The serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets the collection namespace. + + + + + Gets a value indicating whether the server should continue on error. + + + + + Gets the document source. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the maximum number of documents in a batch. + + + + + Gets or sets the maximum size of a document. + + + + + Gets or sets the maximum size of a message. + + + + + Gets the message encoder settings. + + + + + Gets the serializer. + + + + + Gets or sets the write concern. + + + + + Represents a request to insert a document. + + + + + Initializes a new instance of the class. + + The document. + + + + Gets or sets the document. + + + + + Represents a database read operation. + + The type of the result. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Represents a database write operation. + + The type of the result. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Represents a list collections operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The message encoder settings. + + + + Gets the database namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the filter. + + + + + Gets the message encoder settings. + + + + + Represents a list collections operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The message encoder settings. + + + + Gets the database namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the filter. + + + + + Gets the message encoder settings. + + + + + Represents a list collections operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The message encoder settings. + + + + Gets the database namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the filter. + + + + + Gets the message encoder settings. + + + + + Represents the listDatabases command. + + + + + Initializes a new instance of the class. + + The message encoder settings. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Represents a list indexes operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Represents a list indexes operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Represents a list indexes operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Represents a map-reduce operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The map function. + The reduce function. + The message encoder settings. + + + + Creates the command. + + The server version. + The command. + + + + Creates the output options. + + The output options. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the read concern. + + + + + Represents a map-reduce operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The map function. + The reduce function. + The result serializer. + The message encoder settings. + + + + Creates the command. + + The server version. + The command. + + + + Creates the output options. + + The output options. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the read concern. + + + + + Gets the result serializer. + + + + + Represents a base class for map-reduce operations. + + + + + Initializes a new instance of the class. + + The collection namespace. + The map function. + The reduce function. + The message encoder settings. + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Creates the command. + + The server version. + The command. + + + + Creates the output options. + + The output options. + + + + Gets or sets the filter. + + + + + Gets or sets the finalize function. + + + + + Gets or sets a value indicating whether objects emitted by the map function remain as JavaScript objects. + + + + + Gets or sets the maximum number of documents to pass to the map function. + + + + + Gets the map function. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets the reduce function. + + + + + Gets or sets the scope document. + + + + + Gets or sets the sort specification. + + + + + Gets or sets a value indicating whether to include extra information, such as timing, in the result. + + + + + Represents the map-reduce output mode. + + + + + The output of the map-reduce operation replaces the output collection. + + + + + The output of the map-reduce operation is merged with the output collection. + If an existing document has the same key as the new result, overwrite the existing document. + + + + + The output of the map-reduce operation is merged with the output collection. + If an existing document has the same key as the new result, apply the reduce function to both + the new and the existing documents and overwrite the existing document with the result. + + + + + Represents a map-reduce operation that outputs its results to a collection. + + + + + Initializes a new instance of the class. + + The collection namespace. + The output collection namespace. + The map function. + The reduce function. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Creates the command. + + The server version. + The command. + + + + Creates the output options. + + The output options. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets a value indicating whether the server should not lock the database for merge and reduce output modes. + + + + + Gets the output collection namespace. + + + + + Gets or sets the output mode. + + + + + Gets or sets a value indicating whether the output collection should be sharded. + + + + + Gets or sets the write concern. + + + + + Represents a bulk write operation exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + The write errors. + The write concern error. + The unprocessed requests. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Gets the result of the bulk write operation. + + + + + Gets the unprocessed requests. + + + + + + Gets the write concern error. + + + + + Gets the write errors. + + + + + Represents extension methods for operations. + + + + + Executes a read operation using a channel source. + + The read operation. + The channel source. + The read preference. + The cancellation token. + The type of the result. + The result of the operation. + + + + Executes a write operation using a channel source. + + The write operation. + The channel source. + The cancellation token. + The type of the result. + The result of the operation. + + + + Executes a read operation using a channel source. + + The read operation. + The channel source. + The read preference. + The cancellation token. + The type of the result. + A Task whose result is the result of the operation. + + + + Executes a write operation using a channel source. + + The write operation. + The channel source. + The cancellation token. + The type of the result. + A Task whose result is the result of the operation. + + + + Represents a parallel scan operation. + + The type of the document. + + + + Initializes a new instance of the class. + + The collection namespace. + The number of cursors. + The serializer. + The message encoder settings. + + + + Gets or sets the size of a batch. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets the number of cursors. + + + + + Gets or sets the read concern. + + + + + Gets the serializer. + + + + + Represents a ping operation. + + + + + Initializes a new instance of the class. + + The message encoder settings. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Represents a read command operation. + + The type of the command result. + + + + Initializes a new instance of the class. + + The database namespace. + The command. + The result serializer. + The message encoder settings. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Represents a reindex operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets or sets the write concern (ignored and will eventually be deprecated and later removed). + + + + + Represents a rename collection operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The new collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Gets or sets a value indicating whether to drop the target collection first if it already exists. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets the new collection namespace. + + + + + Gets or sets the write concern. + + + + + The document to return when executing a FindAndModify command. + + + + + Returns the document before the modification. + + + + + Returns the document after the modification. + + + + + Represents an update operation using the update opcode. + + + + + Initializes a new instance of the class. + + The collection namespace. + The request. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the maximum size of a document. + + + + + Gets the message encoder settings. + + + + + Gets the request. + + + + + Gets or sets the write concern. + + + + + Represents a request to update one or more documents. + + + + + Initializes a new instance of the class. + + The update type. + The filter. + The update. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets a value indicating whether this update should affect all matching documents. + + + + + Gets or sets a value indicating whether a document should be inserted if no matching document is found. + + + + + Gets the update specification. + + + + + Gets the update type. + + + + + Represents the update type. + + + + + The update type is unknown. + + + + + This update uses an update specification to update an existing document. + + + + + This update completely replaces an existing document with a new one. + + + + + Represents a write command operation. + + The type of the command result. + + + + Initializes a new instance of the class. + + The database namespace. + The command. + The result serializer. + The message encoder settings. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Represents a request to write something to the database. + + + + + Initializes a new instance of the class. + + The request type. + + + + Gets or sets the correlation identifier. + + + + + Gets the request type. + + + + + Represents the type of a write request. + + + + + A delete request. + + + + + An insert request. + + + + + An udpate request. + + + + + Represents an element name validator that checks that element names are valid for MongoDB collections. + + + + + + + MongoDB.Driver.Core.Operations.ElementNameValidators.CollectionElementNameValidator + + + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Gets a pre-created instance of a CollectionElementNameValidator. + + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents a factory for element name validators based on the update type. + + + + + Returns an element name validator for the update type. + + Type of the update. + An element name validator. + + + + Represents an element name validator for update operations. + + + + + + + MongoDB.Driver.Core.Operations.ElementNameValidators.UpdateElementNameValidator + + + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Gets a pre-created instance of an UpdateElementNameValidator. + + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents an element name validator that will validate element names for either an update or a replacement based on whether the first element name starts with a "$". + + + + + Initializes a new instance of the class. + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents a server that can be part of a cluster. + + + + + Initializes this instance. + + + + + Invalidates this instance (sets the server type to Unknown and clears the connection pool). + + + + + Gets a value indicating whether this instance is initialized. + + + + + Requests a heartbeat as soon as possible. + + + + + Represents a server factory. + + + + + Creates the server. + + The cluster identifier. + The end point. + A server. + + + + Represents a MongoDB server. + + + + + Gets the server description. + + + + + Occurs when the server description changes. + + + + + Gets the end point. + + + + + Gets a channel to the server. + + The cancellation token. + A channel. + + + + Gets a channel to the server. + + The cancellation token. + A Task whose result is a channel. + + + + Gets the server identifier. + + + + + Represents information about a server. + + + + + Initializes a new instance of the class. + + The server identifier. + The end point. + The average round trip time. + The canonical end point. + The election identifier. + The heartbeat exception. + The heartbeat interval. + The last update timestamp. + The last write timestamp. + The maximum batch count. + The maximum size of a document. + The maximum size of a message. + The maximum size of a wire document. + The replica set configuration. + The server state. + The replica set tags. + The server type. + The server version. + The wire version range. + + + + Gets the average round trip time. + + + + + Gets the canonical end point. This is the endpoint that the cluster knows this + server by. Currently, it only applies to a replica set config and will match + what is in the replica set configuration. + + + + + Gets the election identifier. + + + + + Gets the end point. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the most recent heartbeat exception. + + + + + Gets the heartbeat interval. + + + + + Gets the last update timestamp (when the ServerDescription itself was last updated). + + + + + Gets the last write timestamp (from the lastWrite field of the isMaster result). + + + + + Gets the maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + + + Gets the maximum size of a message. + + + + + Gets the maximum size of a wire document. + + + + + Gets the replica set configuration. + + + + + Gets the server identifier. + + + + + Gets the server state. + + + + + Gets the replica set tags. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the server type. + + + + + Gets the server version. + + + + + Gets the wire version range. + + + + + Returns a new instance of ServerDescription with some values changed. + + The average round trip time. + The canonical end point. + The election identifier. + The heartbeat exception. + The heartbeat interval. + The last update timestamp. + The last write timestamp. + The maximum batch count. + The maximum size of a document. + The maximum size of a message. + The maximum size of a wire document. + The replica set configuration. + The server state. + The replica set tags. + The server type. + The server version. + The wire version range. + + A new instance of ServerDescription. + + + + + Represents the arguments to the event that occurs when the server description changes. + + + + + Initializes a new instance of the class. + + The old server description. + The new server description. + + + + Gets the new server description. + + + + + Gets the old server description. + + + + + Represents a server identifier. + + + + + Initializes a new instance of the class. + + The cluster identifier. + The end point. + + + + Gets the cluster identifier. + + + + + Gets the end point. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents the server state. + + + + + The server is disconnected. + + + + + The server is connected. + + + + + Represents the server type. + + + + + The server type is unknown. + + + + + The server is a standalone server. + + + + + The server is a shard router. + + + + + The server is a replica set primary. + + + + + The server is a replica set secondary. + + + + + Use ReplicaSetSecondary instead. + + + + + The server is a replica set arbiter. + + + + + The server is a replica set member of some other type. + + + + + The server is a replica set ghost member. + + + + + Represents extension methods on ServerType. + + + + + Determines whether this server type is a replica set member. + + The type of the server. + Whether this server type is a replica set member. + + + + Determines whether this server type is a writable server. + + The type of the server. + Whether this server type is a writable server. + + + + Infers the cluster type from the server type. + + The type of the server. + The cluster type. + + + + Instructions for handling the response from a command. + + + + + Return the response from the server. + + + + + Ignore the response from the server. + + + + + Represents one result batch (returned from either a Query or a GetMore message) + + The type of the document. + + + + Initializes a new instance of the struct. + + The cursor identifier. + The documents. + + + + Gets the cursor identifier. + + + + + Gets the documents. + + + + + Represents a Delete message. + + + + + Initializes a new instance of the class. + + The request identifier. + The collection namespace. + The query. + if set to true [is multi]. + + + + Gets the collection namespace. + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Gets a value indicating whether to delete all matching documents. + + + + + Gets the type of the message. + + + + + Gets the query. + + + + + Represents a GetMore message. + + + + + Initializes a new instance of the class. + + The request identifier. + The collection namespace. + The cursor identifier. + The size of a batch. + + + + Gets the size of a batch. + + + + + Gets the collection namespace. + + + + + Gets the cursor identifier. + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Gets the type of the message. + + + + + Represents an Insert message. + + The type of the document. + + + + Initializes a new instance of the class. + + The request identifier. + The collection namespace. + The serializer. + The document source. + The maximum batch count. + Maximum size of the message. + if set to true the server should continue on error. + + + + Gets the collection namespace. + + + + + Gets a value indicating whether the server should continue on error. + + + + + Gets the document source. + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Gets the maximum number of documents in a batch. + + + + + Gets the maximum size of a message. + + + + + Gets the type of the message. + + + + + Gets the serializer. + + + + + Represents a KillCursors message. + + + + + Initializes a new instance of the class. + + The request identifier. + The cursor ids. + + + + Gets the cursor ids. + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Gets the type of the message. + + + + + Represents a base class for messages. + + + + + + + MongoDB.Driver.Core.WireProtocol.Messages.MongoDBMessage + + + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Gets the type of the message. + + + + + Represents the type of message. + + + + + OP_DELETE + + + + + OP_GETMORE + + + + + OP_INSERT + + + + + OP_KILLCURSORS + + + + + OP_QUERY + + + + + OP_REPLY + + + + + OP_UPDATE + + + + + Represents a Query message. + + + + + Initializes a new instance of the class. + + The request identifier. + The collection namespace. + The query. + The fields. + The query validator. + The number of documents to skip. + The size of a batch. + if set to true it is OK if the server is not the primary. + if set to true the server is allowed to return partial results if any shards are unavailable. + if set to true the server should not timeout the cursor. + if set to true the OplogReplay bit will be set. + if set to true the query should return a tailable cursor. + if set to true the server should await data (used with tailable cursors). + A delegate that determines whether this message should be sent. + + + + Gets a value indicating whether the server should await data (used with tailable cursors). + + + + + Gets the size of a batch. + + + + + Gets the collection namespace. + + + + + Gets the fields. + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Gets the type of the message. + + + + + Gets a value indicating whether the server should not timeout the cursor. + + + + + Gets a value indicating whether the OplogReplay bit will be set. + + + + + Gets a value indicating whether the server is allowed to return partial results if any shards are unavailable. + + + + + Gets the query. + + + + + Gets the query validator. + + + + + Gets the number of documents to skip. + + + + + Gets a value indicating whether it is OK if the server is not the primary. + + + + + Gets a value indicating whether the query should return a tailable cursor. + + + + + Represents a Reply message. + + The type of the document. + + + + Initializes a new instance of the class. + + if set to true the server is await capable. + The cursor identifier. + if set to true the cursor was not found. + The documents. + The number of documents returned. + if set to true the query failed. + The query failure document. + The request identifier. + The identifier of the message this is a response to. + The serializer. + The position of the first document in this batch in the overall result. + + + + Gets a value indicating whether the server is await capable. + + + + + Gets the cursor identifier. + + + + + Gets a value indicating whether the cursor was not found. + + + + + Gets the documents. + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Gets the type of the message. + + + + + Gets the number of documents returned. + + + + + Gets a value indicating whether the query failed. + + + + + Gets the query failure document. + + + + + Gets the serializer. + + + + + Gets the position of the first document in this batch in the overall result. + + + + + Represents a base class for request messages. + + + + + Initializes a new instance of the class. + + The request identifier. + A delegate that determines whether this message should be sent. + + + + Gets the current global request identifier. + + + + + Gets the next request identifier. + + The next request identifier. + + + + Gets the request identifier. + + + + + Gets a delegate that determines whether this message should be sent. + + + + + Gets or sets a value indicating whether this message was sent. + + + + + Represents a base class for response messages. + + + + + Initializes a new instance of the class. + + The request identifier. + The identifier of the message this is a response to. + + + + Gets the type of the message. + + + + + Gets the request identifier. + + + + + Gets the identifier of the message this is a response to. + + + + + Represents an Update message. + + + + + Initializes a new instance of the class. + + The request identifier. + The collection namespace. + The query. + The update. + The update validator. + if set to true all matching documents should be updated. + if set to true a document should be inserted if no matching document is found. + + + + Gets the collection namespace. + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Gets a value indicating whether all matching documents should be updated. + + + + + Gets a value indicating whether a document should be inserted if no matching document is found. + + + + + Gets the type of the message. + + + + + Gets the query. + + + + + Gets the update. + + + + + Gets the update validator. + + + + + Represents an encodable message. + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Represents a message encoder. + + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a message encoder factory. + + + + + Gets an encoder for a Delete message. + + An encoder. + + + + Gets an encoder for a GetMore message. + + An encoder. + + + + Gets an encoder for an Insert message. + + The serializer. + The type of the document. + An encoder. + + + + Gets an encoder for a KillCursors message. + + An encoder. + + + + Gets an encoder for a Query message. + + An encoder. + + + + Gets an encoder for a Reply message. + + The serializer. + The type of the document. + An encoder. + + + + Gets an encoder for an Update message. + + An encoder. + + + + Represents a message encoder selector that gets the appropriate encoder from an encoder factory. + + + + + Get the appropriate encoder from an encoder factory. + + The encoder factory. + A message encoder. + + + + Represents settings for message encoders. + + + + + + + MongoDB.Driver.Core.WireProtocol.Messages.Encoders.MessageEncoderSettings + + + + + + + Adds a setting. + + The name. + The value. + The type of the value. + The settings. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + + Gets a setting, or a default value if the setting does not exist. + + The name. + The default value. + The type of the value. + The value of the setting, or a default value if the setting does not exist. + + + + Represents the names of different encoder settings. + + + + + The name of the FixOldBinarySubTypeOnInput setting. + + + + + The name of the FixOldBinarySubTypeOnOutput setting. + + + + + The name of the FixOldDateTimeMaxValueOnInput setting. + + + + + The name of the GuidRepresentation setting. + + + + + The name of the Indent setting. + + + + + The name of the IndentChars setting. + + + + + The name of the MaxDocumentSize setting. + + + + + The name of the MaxSerializationDepth setting. + + + + + The name of the NewLineChars setting. + + + + + The name of the OutputMode setting. + + + + + The name of the ReadEncoding setting. + + + + + The name of the ShellVersion setting. + + + + + The name of the WriteEncoding setting. + + + + + Represents a message encoder selector for ReplyMessages. + + The type of the document. + + + + Initializes a new instance of the class. + + The document serializer. + + + + Get the appropriate encoder from an encoder factory. + + The encoder factory. + A message encoder. + + + + Represents a factory for binary message encoders. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Gets an encoder for a Delete message. + + An encoder. + + + + Gets an encoder for a GetMore message. + + An encoder. + + + + Gets an encoder for an Insert message. + + The serializer. + The type of the document. + An encoder. + + + + Gets an encoder for a KillCursors message. + + An encoder. + + + + Gets an encoder for a Query message. + + An encoder. + + + + Gets an encoder for a Reply message. + + The serializer. + The type of the document. + An encoder. + + + + Gets an encoder for an Update message. + + An encoder. + + + + Represents a binary encoder for a Delete message. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a binary encoder for a GetMore message. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a binary encoder for an Insert message. + + The type of the documents. + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + The serializer. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a binary encoder for a KillCursors message. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a base class for binary message encoders. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Creates a binary reader for this encoder. + + A binary reader. + + + + Creates a binary writer for this encoder. + + A binary writer. + + + + Gets the encoding. + + + + + Represents a binary encoder for a Query message. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a binary encoder for a Reply message. + + The type of the documents. + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + The serializer. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a binary encoder for an Update message. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a JSON encoder for a Delete message. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a JSON encoder for a GetMore message. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a JSON encoder for an Insert message. + + The type of the documents. + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + The serializer. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a factory for JSON message encoders. + + + + + Initializes a new instance of the class. + + The text reader. + The encoder settings. + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Initializes a new instance of the class. + + The text writer. + The encoder settings. + + + + Gets an encoder for a Delete message. + + An encoder. + + + + Gets an encoder for a GetMore message. + + An encoder. + + + + Gets an encoder for an Insert message. + + The serializer. + The type of the document. + An encoder. + + + + Gets an encoder for a KillCursors message. + + An encoder. + + + + Gets an encoder for a Query message. + + An encoder. + + + + Gets an encoder for a Reply message. + + The serializer. + The type of the document. + An encoder. + + + + Gets an encoder for an Update message. + + An encoder. + + + + Represents a JSON encoder for a KillCursors message. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a base class for JSON message encoders. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Creates a JsonReader for this encoder. + + A JsonReader. + + + + Creates a JsonWriter for this encoder. + + A JsonWriter. + + + + Represents a JSON encoder for a Query message. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a JSON encoder for a Reply message. + + The type of the documents. + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + The serializer. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a JSON encoder for an Update message. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + \ No newline at end of file diff --git a/BuechermarktClient/bin/Debug/MongoDB.Driver.xml b/BuechermarktClient/bin/Debug/MongoDB.Driver.xml new file mode 100644 index 0000000..e003015 --- /dev/null +++ b/BuechermarktClient/bin/Debug/MongoDB.Driver.xml @@ -0,0 +1,17863 @@ + + + + MongoDB.Driver + + + + + Represents the granularity value for a $bucketAuto stage. + + + + + Initializes a new instance of the struct. + + The value. + + + + Gets the E12 granularity. + + + + + Gets the E192 granularity. + + + + + Gets the E24 granularity. + + + + + Gets the E48 granularity. + + + + + Gets the E6 granularity. + + + + + Gets the E96 granularity. + + + + + Gets the POWERSOF2 granularity. + + + + + Gets the R10 granularity. + + + + + Gets the R20 granularity. + + + + + Gets the R40 granularity. + + + + + Gets the R5 granularity. + + + + + Gets the R80 granularity. + + + + + Gets the 1-2-5 granularity. + + + + + Gets the value. + + + + + Represents options for the BucketAuto method. + + + + + + + MongoDB.Driver.AggregateBucketAutoOptions + + + + + + + Gets or sets the granularity. + + + + + Represents the result of the $bucketAuto stage. + + The type of the value. + + + + Initializes a new instance of the class. + + The inclusive lower boundary of the bucket. + The count. + + + + Initializes a new instance of the class. + + The minimum. + The maximum. + The count. + + + + Gets the count. + + + + + Gets the inclusive lower boundary of the bucket. + + + + + Gets the maximum. + + + + + Gets the minimum. + + + + + Represents the _id value in the result of a $bucketAuto stage. + + The type of the values. + + + + Initializes a new instance of the class. + + The minimum. + The maximum. + + + + Gets the max value. + + + + + Gets the min value. + + + + + Represents options for the Bucket method. + + The type of the value. + + + + + + MongoDB.Driver.AggregateBucketOptions`1 + + + + + + + Gets or sets the default bucket. + + + + + Represents the result of the $bucket stage. + + The type of the value. + + + + Initializes a new instance of the class. + + The inclusive lower boundary of the bucket. + The count. + + + + Gets the count. + + + + + Gets the inclusive lower boundary of the bucket. + + + + + Result type for the aggregate $count stage. + + + + + Initializes a new instance of the class. + + The count. + + + + Gets the count. + + + + + An aggregation expression. + + The type of the source. + The type of the result. + + + + + + MongoDB.Driver.AggregateExpressionDefinition`2 + + + + + + + Performs an implicit conversion from to . + + The expression. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The expression. + + The result of the conversion. + + + + + Renders the aggregation expression. + + The source serializer. + The serializer registry. + The rendered aggregation expression. + + + + Represents static methods for creating facets. + + + + + Creates a new instance of the class. + + The facet name. + The facet pipeline. + The type of the input documents. + The type of the output documents. + + A new instance of the class + + + + + Represents a facet to be passed to the Facet method. + + The type of the input documents. + + + + Initializes a new instance of the class. + + The facet name. + + + + Gets the facet name. + + + + + Gets the output serializer. + + + + + Gets the type of the output documents. + + + + + Renders the facet pipeline. + + The input serializer. + The serializer registry. + The rendered pipeline. + + + + Represents a facet to be passed to the Facet method. + + The type of the input documents. + The type of the otuput documents. + + + + Initializes a new instance of the class. + + The facet name. + The facet pipeline. + + + + Gets the output serializer. + + + + + Gets the type of the output documents. + + + + + Gets the facet pipeline. + + + + + Renders the facet pipeline. + + The input serializer. + The serializer registry. + The rendered pipeline. + + + + Options for the aggregate $facet stage. + + The type of the output documents. + + + + + + MongoDB.Driver.AggregateFacetOptions`1 + + + + + + + Gets or sets the output serializer. + + + + + Represents an abstract AggregateFacetResult with an arbitrary TOutput type. + + + + + Gets the name of the facet. + + + + + Gets the output of the facet. + + The type of the output documents. + The output of the facet. + + + + Represents the result of a single facet. + + The type of the output. + + + + Initializes a new instance of the class. + + The name. + The output. + + + + Gets or sets the output. + + + + + Represents the results of a $facet stage with an arbitrary number of facets. + + + + + Initializes a new instance of the class. + + The facets. + + + + Gets the facets. + + + + + Base class for implementors of . + + The type of the document. + + + + + + MongoDB.Driver.AggregateFluentBase`1 + + + + + + + Appends the stage to the pipeline. + + The stage. + The type of the result of the stage. + The fluent aggregate interface. + + + + Changes the result type of the pipeline. + + The new result serializer. + The type of the new result. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline. + + The expression providing the value to group by. + The bucket boundaries. + The options. + The type of the value. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline with a custom projection. + + The expression providing the value to group by. + The bucket boundaries. + The output projection. + The options. + The type of the value. + The type of the new result. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline. + + The expression providing the value to group by. + The number of buckets. + The options (optional). + The type of the value. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline with a custom projection. + + The expression providing the value to group by. + The number of buckets. + The output projection. + The options (optional). + The type of the value. + The type of the new result. + The fluent aggregate interface. + + + + Appends a count stage to the pipeline. + + The fluent aggregate interface. + + + + Gets the database. + + + + + Appends a $facet stage to the pipeline. + + The facets. + The options. + The type of the new result. + + The fluent aggregate interface. + + + + + Appends a $graphLookup stage to the pipeline. + + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The fluent aggregate interface. + + + + Appends a group stage to the pipeline. + + The group projection. + The type of the result of the stage. + The fluent aggregate interface. + + + + Appends a limit stage to the pipeline. + + The limit. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + Name of the other collection. + The local field. + The foreign field. + The field in to place the foreign results. + The options. + The type of the foreign document. + The type of the new result. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline. + + The filter. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline that matches derived documents and changes the result type to the derived type. + + The new result serializer. + The type of the derived documents. + The fluent aggregate interface. + + + + Gets the options. + + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The cancellation token. + A cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The cancellation token. + A Task whose result is a cursor. + + + + Appends a project stage to the pipeline. + + The projection. + The type of the result of the stage. + + The fluent aggregate interface. + + + + + Appends a $replaceRoot stage to the pipeline. + + The new root. + The type of the new result. + The fluent aggregate interface. + + + + Appends a skip stage to the pipeline. + + The number of documents to skip. + The fluent aggregate interface. + + + + Appends a sort stage to the pipeline. + + The sort specification. + The fluent aggregate interface. + + + + Appends a sortByCount stage to the pipeline. + + The identifier. + The type of the identifier. + The fluent aggregate interface. + + + + Gets the stages. + + + + + Combines the current sort definition with an additional sort definition. + + The new sort. + The fluent aggregate interface. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A cursor. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A Task whose result is a cursor. + + + + Appends an unwind stage to the pipeline. + + The field. + The new result serializer. + The type of the result of the stage. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The field. + The options. + The type of the new result. + The fluent aggregate interface. + + + + Represents options for the GraphLookup method. + + The type of from documents. + The type of the as field elements. + The type of the output documents. + + + + + + MongoDB.Driver.AggregateGraphLookupOptions`3 + + + + + + + Gets or sets the TAsElement serialzier. + + + + + Gets or sets the TFrom serializer. + + + + + Gets or sets the maximum depth. + + + + + Gets or sets the output serializer. + + + + + Gets the filter to restrict the search with. + + + + + Options for the aggregate $lookup stage. + + The type of the foreign document. + The type of the result. + + + + + + MongoDB.Driver.AggregateLookupOptions`2 + + + + + + + Gets or sets the foreign document serializer. + + + + + Gets or sets the result serializer. + + + + + Options for an aggregate operation. + + + + + + + MongoDB.Driver.AggregateOptions + + + + + + + Gets or sets a value indicating whether to allow disk use. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the translation options. + + + + + Gets or sets a value indicating whether to use a cursor. + + + + + Result type for the aggregate $sortByCount stage. + + The type of the identifier. + + + + Initializes a new instance of the class. + + The identifier. + The count. + + + + Gets the count. + + + + + Gets the identifier. + + + + + Option for which expression to generate for certain string operations. + + + + + Translate to the byte variation. + + + + + Translate to the code points variation. This is only supported in >= MongoDB 3.4. + + + + + Options for the $unwind aggregation stage. + + The type of the result. + + + + + + MongoDB.Driver.AggregateUnwindOptions`1 + + + + + + + Gets or sets the field with which to include the array index. + + + + + Gets or sets whether to preserve null and empty arrays. + + + + + Gets or sets the result serializer. + + + + + Represents a pipeline consisting of an existing pipeline with one additional stage appended. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + Initializes a new instance of the class. + + The pipeline. + The stage. + The output serializer. + + + + Gets the output serializer. + + + + + Renders the pipeline. + + The input serializer. + The serializer registry. + A + + + + Gets the stages. + + + + + A based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The document. + The result serializer. + + + + Gets the document. + + + + + Renders the command to a . + + The serializer registry. + A . + + + + Gets the result serializer. + + + + + A based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + Renders the filter to a . + + The document serializer. + The serializer registry. + A . + + + + A based index keys definition. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + Renders the index keys definition to a . + + The document serializer. + The serializer registry. + A . + + + + A based stage. + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The document. + The output serializer. + + + + Gets the name of the pipeline operator. + + + + + Renders the specified document serializer. + + The input serializer. + The serializer registry. + A + + + + A based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + A based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The document. + The projection serializer. + + + + Gets the document. + + + + + Gets the projection serializer. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + A based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + Renders the sort to a . + + The document serializer. + The serializer registry. + A . + + + + A pipeline composed of instances of . + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The stages. + The output serializer. + + + + Gets the stages. + + + + + Gets the output serializer. + + + + + Renders the pipeline. + + The input serializer. + The serializer registry. + A + + + + Gets the stages. + + + + + A based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + Renders the update to a . + + The document serializer. + The serializer registry. + A . + + + + A based aggregate expression. + + The type of the source. + The type of the result. + + + + Initializes a new instance of the class. + + The expression. + + + + Renders the aggregation expression. + + The source serializer. + The serializer registry. + The rendered aggregation expression. + + + + A static helper class containing various builders. + + The type of the document. + + + + Gets a . + + + + + Gets an . + + + + + Gets a . + + + + + Gets a . + + + + + Gets an . + + + + + Represents the details of a write error for a particular request. + + + + + Gets the index of the request that had an error. + + + + + Options for a bulk write operation. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets a value indicating whether the requests are fulfilled in order. + + + + + Represents the result of a bulk write operation. + + + + + Initializes a new instance of the class. + + The request count. + + + + Gets the number of documents that were deleted. + + + + + Gets the number of documents that were inserted. + + + + + Gets a value indicating whether the bulk write operation was acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the number of documents that were matched. + + + + + Gets the number of documents that were actually modified during an update. + + + + + Gets the request count. + + + + + Gets a list with information about each request that resulted in an upsert. + + + + + Represents the result of a bulk write operation. + + The type of the document. + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + Gets the processed requests. + + + + + Result from an acknowledged write concern. + + + + + Initializes a new instance of the class. + + The request count. + The matched count. + The deleted count. + The inserted count. + The modified count. + The processed requests. + The upserts. + + + + Gets the number of documents that were deleted. + + + + + Gets the number of documents that were inserted. + + + + + Gets a value indicating whether the bulk write operation was acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the number of documents that were matched. + + + + + Gets the number of documents that were actually modified during an update. + + + + + Gets a list with information about each request that resulted in an upsert. + + + + + Result from an unacknowledged write concern. + + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + Gets the number of documents that were deleted. + + + + + Gets the number of documents that were inserted. + + + + + Gets a value indicating whether the bulk write operation was acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the number of documents that were matched. + + + + + Gets the number of documents that were actually modified during an update. + + + + + Gets a list with information about each request that resulted in an upsert. + + + + + Represents the information about one Upsert. + + + + + Gets the id. + + + + + Gets the index. + + + + + A client side only projection that is implemented solely by deserializing using a different serializer. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The projection serializer. + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + Gets the result serializer. + + + + + Represents a registry of already created clusters. + + + + + + + MongoDB.Driver.ClusterRegistry + + + + + + + Gets the default cluster registry. + + + + + Unregisters and disposes the cluster. + + The cluster. + + + + Base class for commands. + + The type of the result. + + + + + + MongoDB.Driver.Command`1 + + + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Renders the command to a . + + The serializer registry. + A . + + + + Server connection mode. + + + + + Automatically determine how to connect. + + + + + Connect directly to a server. + + + + + Connect to a replica set. + + + + + Connect to one or more shard routers. + + + + + Connect to a standalone server. + + + + + Options for a count operation. + + + + + + + MongoDB.Driver.CountOptions + + + + + + + Gets or sets the collation. + + + + + Gets or sets the hint. + + + + + Gets or sets the limit. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the skip. + + + + + Options for creating a collection. + + + + + + + MongoDB.Driver.CreateCollectionOptions + + + + + + + Gets or sets a value indicating whether to automatically create an index on the _id. + + + + + Gets or sets a value indicating whether the collection is capped. + + + + + Gets or sets the collation. + + + + + Gets or sets the index option defaults. + + + + + Gets or sets the maximum number of documents (used with capped collections). + + + + + Gets or sets the maximum size of the collection (used with capped collections). + + + + + Gets or sets whether padding should not be used. + + + + + Gets or sets the serializer registry. + + + + + Gets or sets the storage engine options. + + + + + Gets or sets a value indicating whether to use power of 2 sizes. + + + + + Gets or sets the validation action. + + + + + Gets or sets the validation level. + + + + + Options for creating a collection. + + The type of the document. + + + + + + MongoDB.Driver.CreateCollectionOptions`1 + + + + + + + Gets or sets the document serializer. + + + + + Gets or sets the validator. + + + + + Model for creating an index. + + The type of the document. + + + + Initializes a new instance of the class. + + The keys. + The options. + + + + Gets the keys. + + + + + Gets the options. + + + + + Options for creating an index. + + + + + + + MongoDB.Driver.CreateIndexOptions + + + + + + + Gets or sets a value indicating whether to create the index in the background. + + + + + Gets or sets the precision, in bits, used with geohash indexes. + + + + + Gets or sets the size of a geohash bucket. + + + + + Gets or sets the collation. + + + + + Gets or sets the default language. + + + + + Gets or sets when documents expire (used with TTL indexes). + + + + + Gets or sets the language override. + + + + + Gets or sets the max value for 2d indexes. + + + + + Gets or sets the min value for 2d indexes. + + + + + Gets or sets the index name. + + + + + Gets or sets a value indicating whether the index is a sparse index. + + + + + Gets or sets the index version for 2dsphere indexes. + + + + + Gets or sets the storage engine options. + + + + + Gets or sets the index version for text indexes. + + + + + Gets or sets a value indicating whether the index is a unique index. + + + + + Gets or sets the version of the index. + + + + + Gets or sets the weights for text indexes. + + + + + Options for creating an index. + + The type of the document. + + + + + + MongoDB.Driver.CreateIndexOptions`1 + + + + + + + Gets or sets the partial filter expression. + + + + + Options for creating a view. + + The type of the documents. + + + + + + MongoDB.Driver.CreateViewOptions`1 + + + + + + + Gets or sets the collation. + + + + + Gets or sets the document serializer. + + + + + Gets or sets the serializer registry. + + + + + The cursor type. + + + + + A non-tailable cursor. This is sufficient for a vast majority of uses. + + + + + A tailable cursor. + + + + + A tailable cursor with a built-in server sleep. + + + + + Model for deleting many documents. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets the type of the model. + + + + + Model for deleting a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets the type of the model. + + + + + Options for the Delete methods. + + + + + + + MongoDB.Driver.DeleteOptions + + + + + + + Gets or sets the collation. + + + + + The result of a delete operation. + + + + + Initializes a new instance of the class. + + + + + Gets the deleted count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets a value indicating whether the result is acknowleded. + + + + + The result of an acknowledged delete operation. + + + + + Initializes a new instance of the class. + + The deleted count. + + + + Gets the deleted count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets a value indicating whether the result is acknowleded. + + + + + The result of an unacknowledged delete operation. + + + + + Gets the deleted count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the instance. + + + + + Gets a value indicating whether the result is acknowleded. + + + + + Options for the distinct command. + + + + + + + MongoDB.Driver.DistinctOptions + + + + + + + Gets or sets the collation. + + + + + Gets or sets the maximum time. + + + + + Represents an empty pipeline. + + The type of the input documents. + + + + Initializes a new instance of the class. + + The output serializer. + + + + Gets the output serializer. + + + + + Renders the pipeline. + + The input serializer. + The serializer registry. + A + + + + Gets the stages. + + + + + A based aggregate expression. + + The type of the source. + The type of the result. + + + + Initializes a new instance of the class. + + The expression. + The translation options. + + + + Renders the aggregation expression. + + The source serializer. + The serializer registry. + The rendered aggregation expression. + + + + An based field. + + The type of the document. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + Renders the field to a . + + The document serializer. + The serializer registry. + A . + + + + An based field. + + The type of the document. + The type of the field. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + Renders the field to a . + + The document serializer. + The serializer registry. + A . + + + + An based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + Renders the filter to a . + + The document serializer. + The serializer registry. + A . + + + + Options for controlling translation from .NET expression trees into MongoDB expressions. + + + + + + + MongoDB.Driver.ExpressionTranslationOptions + + + + + + + Gets or sets the string translation mode. + + + + + Evidence of a MongoIdentity via an external mechanism. For example, on windows this may + be the current process' user or, on linux, via kinit. + + + + + Initializes a new instance of the class. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Base class for field names. + + The type of the document. + + + + + + MongoDB.Driver.FieldDefinition`1 + + + + + + + Performs an implicit conversion from to . + + Name of the field. + + The result of the conversion. + + + + + Renders the field to a . + + The document serializer. + The serializer registry. + A . + + + + Base class for field names. + + The type of the document. + The type of the field. + + + + + + MongoDB.Driver.FieldDefinition`2 + + + + + + + Performs an implicit conversion from to . + + The field. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + Name of the field. + + The result of the conversion. + + + + + Renders the field to a . + + The document serializer. + The serializer registry. + A . + + + + Base class for filters. + + The type of the document. + + + + + + MongoDB.Driver.FilterDefinition`1 + + + + + + + Gets an empty filter. An empty filter matches everything. + + + + + Implements the operator &. + + The LHS. + The RHS. + + The result of the operator. + + + + + Implements the operator |. + + The LHS. + The RHS. + + The result of the operator. + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from a predicate expression to . + + The predicate. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Implements the operator !. + + The op. + + The result of the operator. + + + + + Renders the filter to a . + + The document serializer. + The serializer registry. + A . + + + + A builder for a . + + The type of the document. + + + + + + MongoDB.Driver.FilterDefinitionBuilder`1 + + + + + + + Creates an all filter for an array field. + + The field. + The values. + The type of the item. + An all filter. + + + + Creates an all filter for an array field. + + The field. + The values. + The type of the item. + An all filter. + + + + Creates an and filter. + + The filters. + A filter. + + + + Creates an and filter. + + The filters. + An and filter. + + + + Creates an equality filter for an array field. + + The field. + The value. + The type of the item. + An equality filter. + + + + Creates an equality filter for an array field. + + The field. + The value. + The type of the item. + An equality filter. + + + + Creates a greater than filter for an array field. + + The field. + The value. + The type of the item. + A greater than filter. + + + + Creates a greater than filter for an array field. + + The field. + The value. + The type of the item. + A greater than filter. + + + + Creates a greater than or equal filter for an array field. + + The field. + The value. + The type of the item. + A greater than or equal filter. + + + + Creates a greater than or equal filter for an array field. + + The field. + The value. + The type of the item. + A greater than or equal filter. + + + + Creates an in filter for an array field. + + The field. + The values. + The type of the item. + An in filter. + + + + Creates an in filter for an array field. + + The field. + The values. + The type of the item. + An in filter. + + + + Creates a less than filter for an array field. + + The field. + The value. + The type of the item. + A less than filter. + + + + Creates a less than filter for an array field. + + The field. + The value. + The type of the item. + A less than filter. + + + + Creates a less than or equal filter for an array field. + + The field. + The value. + The type of the item. + A less than or equal filter. + + + + Creates a less than or equal filter for an array field. + + The field. + The value. + The type of the item. + A less than or equal filter. + + + + Creates a not equal filter for an array field. + + The field. + The value. + The type of the item. + A not equal filter. + + + + Creates a not equal filter for an array field. + + The field. + The value. + The type of the item. + A not equal filter. + + + + Creates a not in filter for an array field. + + The field. + The values. + The type of the item. + A not in filter. + + + + Creates a not in filter for an array field. + + The field. + The values. + The type of the item. + A not in filter. + + + + Creates a bits all clear filter. + + The field. + The bitmask. + A bits all clear filter. + + + + Creates a bits all clear filter. + + The field. + The bitmask. + A bits all clear filter. + + + + Creates a bits all set filter. + + The field. + The bitmask. + A bits all set filter. + + + + Creates a bits all set filter. + + The field. + The bitmask. + A bits all set filter. + + + + Creates a bits any clear filter. + + The field. + The bitmask. + A bits any clear filter. + + + + Creates a bits any clear filter. + + The field. + The bitmask. + A bits any clear filter. + + + + Creates a bits any set filter. + + The field. + The bitmask. + A bits any set filter. + + + + Creates a bits any set filter. + + The field. + The bitmask. + A bits any set filter. + + + + Creates an element match filter for an array field. + + The field. + The filter. + The type of the item. + An element match filter. + + + + Creates an element match filter for an array field. + + The field. + The filter. + The type of the item. + An element match filter. + + + + Creates an element match filter for an array field. + + The field. + The filter. + The type of the item. + An element match filter. + + + + Gets an empty filter. An empty filter matches everything. + + + + + Creates an equality filter. + + The field. + The value. + The type of the field. + An equality filter. + + + + Creates an equality filter. + + The field. + The value. + The type of the field. + An equality filter. + + + + Creates an exists filter. + + The field. + if set to true [exists]. + An exists filter. + + + + Creates an exists filter. + + The field. + if set to true [exists]. + An exists filter. + + + + Creates a geo intersects filter. + + The field. + The geometry. + The type of the coordinates. + A geo intersects filter. + + + + Creates a geo intersects filter. + + The field. + The geometry. + The type of the coordinates. + A geo intersects filter. + + + + Creates a geo within filter. + + The field. + The geometry. + The type of the coordinates. + A geo within filter. + + + + Creates a geo within filter. + + The field. + The geometry. + The type of the coordinates. + A geo within filter. + + + + Creates a geo within box filter. + + The field. + The lower left x. + The lower left y. + The upper right x. + The upper right y. + A geo within box filter. + + + + Creates a geo within box filter. + + The field. + The lower left x. + The lower left y. + The upper right x. + The upper right y. + A geo within box filter. + + + + Creates a geo within center filter. + + The field. + The x. + The y. + The radius. + A geo within center filter. + + + + Creates a geo within center filter. + + The field. + The x. + The y. + The radius. + A geo within center filter. + + + + Creates a geo within center sphere filter. + + The field. + The x. + The y. + The radius. + A geo within center sphere filter. + + + + Creates a geo within center sphere filter. + + The field. + The x. + The y. + The radius. + A geo within center sphere filter. + + + + Creates a geo within polygon filter. + + The field. + The points. + A geo within polygon filter. + + + + Creates a geo within polygon filter. + + The field. + The points. + A geo within polygon filter. + + + + Creates a greater than filter for a UInt32 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for a UInt64 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter. + + The field. + The value. + The type of the field. + A greater than filter. + + + + Creates a greater than filter for a UInt32 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for a UInt64 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter. + + The field. + The value. + The type of the field. + A greater than filter. + + + + Creates a greater than or equal filter for a UInt32 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt64 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter. + + The field. + The value. + The type of the field. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt32 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt64 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter. + + The field. + The value. + The type of the field. + A greater than or equal filter. + + + + Creates an in filter. + + The field. + The values. + The type of the field. + An in filter. + + + + Creates an in filter. + + The field. + The values. + The type of the field. + An in filter. + + + + Creates a less than filter for a UInt32 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter for a UInt64 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter. + + The field. + The value. + The type of the field. + A less than filter. + + + + Creates a less than filter for a UInt32 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter for a UInt64 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter. + + The field. + The value. + The type of the field. + A less than filter. + + + + Creates a less than or equal filter for a UInt32 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt64 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter. + + The field. + The value. + The type of the field. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt32 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt64 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter. + + The field. + The value. + The type of the field. + A less than or equal filter. + + + + Creates a modulo filter. + + The field. + The modulus. + The remainder. + A modulo filter. + + + + Creates a modulo filter. + + The field. + The modulus. + The remainder. + A modulo filter. + + + + Creates a not equal filter. + + The field. + The value. + The type of the field. + A not equal filter. + + + + Creates a not equal filter. + + The field. + The value. + The type of the field. + A not equal filter. + + + + Creates a near filter. + + The field. + The geometry. + The maximum distance. + The minimum distance. + The type of the coordinates. + A near filter. + + + + Creates a near filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near filter. + + The field. + The geometry. + The maximum distance. + The minimum distance. + The type of the coordinates. + A near filter. + + + + Creates a near filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near sphere filter. + + The field. + The geometry. + The maximum distance. + The minimum distance. + The type of the coordinates. + A near sphere filter. + + + + Creates a near sphere filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a near sphere filter. + + The field. + The geometry. + The maximum distance. + The minimum distance. + The type of the coordinates. + A near sphere filter. + + + + Creates a near sphere filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a not in filter. + + The field. + The values. + The type of the field. + A not in filter. + + + + Creates a not in filter. + + The field. + The values. + The type of the field. + A not in filter. + + + + Creates a not filter. + + The filter. + A not filter. + + + + Creates an OfType filter that matches documents of a derived type. + + The type of the matching derived documents. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived typer. + + The field. + The type of the field. + The type of the matching derived field value. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type and that also match a filter on the derived field. + + The field. + A filter on the derived field. + The type of the field. + The type of the matching derived field value. + An OfType filter. + + + + Creates an OfType filter that matches documents of a derived type and that also match a filter on the derived document. + + A filter on the derived document. + The type of the matching derived documents. + An OfType filter. + + + + Creates an OfType filter that matches documents of a derived type and that also match a filter on the derived document. + + A filter on the derived document. + The type of the matching derived documents. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type. + + The field. + The type of the field. + The type of the matching derived field value. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type and that also match a filter on the derived field. + + The field. + A filter on the derived field. + The type of the field. + The type of the matching derived field value. + An OfType filter. + + + + Creates an or filter. + + The filters. + An or filter. + + + + Creates an or filter. + + The filters. + An or filter. + + + + Creates a regular expression filter. + + The field. + The regex. + A regular expression filter. + + + + Creates a regular expression filter. + + The field. + The regex. + A regular expression filter. + + + + Creates a size filter. + + The field. + The size. + A size filter. + + + + Creates a size filter. + + The field. + The size. + A size filter. + + + + Creates a size greater than filter. + + The field. + The size. + A size greater than filter. + + + + Creates a size greater than filter. + + The field. + The size. + A size greater than filter. + + + + Creates a size greater than or equal filter. + + The field. + The size. + A size greater than or equal filter. + + + + Creates a size greater than or equal filter. + + The field. + The size. + A size greater than or equal filter. + + + + Creates a size less than filter. + + The field. + The size. + A size less than filter. + + + + Creates a size less than filter. + + The field. + The size. + A size less than filter. + + + + Creates a size less than or equal filter. + + The field. + The size. + A size less than or equal filter. + + + + Creates a size less than or equal filter. + + The field. + The size. + A size less than or equal filter. + + + + Creates a text filter. + + The search. + The text search options. + A text filter. + + + + Creates a text filter. + + The search. + The language. + A text filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a filter based on the expression. + + The expression. + An expression filter. + + + + A find based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + Base class for implementors of . + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + + + MongoDB.Driver.FindFluentBase`2 + + + + + + + A simplified type of projection that changes the result type by using a different serializer. + + The result serializer. + The type of the result. + The fluent find interface. + + + + Counts the number of documents. + + The cancellation token. + The count. + + + + Counts the number of documents. + + The cancellation token. + A Task whose result is the count. + + + + Gets or sets the filter. + + + + + Limits the number of documents. + + The limit. + The fluent find interface. + + + + Gets the options. + + + + + Projects the the result. + + The projection. + The type of the projection. + The fluent find interface. + + + + Skips the the specified number of documents. + + The skip. + The fluent find interface. + + + + Sorts the the documents. + + The sort. + The fluent find interface. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A cursor. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A Task whose result is a cursor. + + + + Options for a findAndModify command to delete an object. + + The type of the document and the result. + + + + + + MongoDB.Driver.FindOneAndDeleteOptions`1 + + + + + + + Options for a findAndModify command to delete an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + + + MongoDB.Driver.FindOneAndDeleteOptions`2 + + + + + + + Gets or sets the collation. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets the sort. + + + + + Options for a findAndModify command to replace an object. + + The type of the document and the result. + + + + + + MongoDB.Driver.FindOneAndReplaceOptions`1 + + + + + + + Options for a findAndModify command to replace an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets which version of the document to return. + + + + + Gets or sets the sort. + + + + + Options for a findAndModify command to update an object. + + The type of the document and the result. + + + + + + MongoDB.Driver.FindOneAndUpdateOptions`1 + + + + + + + Options for a findAndModify command to update an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets which version of the document to return. + + + + + Gets or sets the sort. + + + + + Options for finding documents. + + + + + + + MongoDB.Driver.FindOptions + + + + + + + Options for finding documents. + + The type of the document and the result. + + + + + + MongoDB.Driver.FindOptions`1 + + + + + + + Options for finding documents. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + + + MongoDB.Driver.FindOptions`2 + + + + + + + Gets or sets how many documents to return. + + + + + Gets or sets the projection. + + + + + Gets or sets how many documents to skip before returning the rest. + + + + + Gets or sets the sort. + + + + + Options for a find operation. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to allow partial results when some shards are unavailable. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the type of the cursor. + + + + + Gets or sets the maximum await time for TailableAwait cursors. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the modifiers. + + + + + Gets or sets whether a cursor will time out. + + + + + Gets or sets whether the OplogReplay bit will be set. + + + + + Fluent interface for aggregate. + + The type of the result of the pipeline. + + + + Appends the stage to the pipeline. + + The stage. + The type of the result of the stage. + The fluent aggregate interface. + + + + Changes the result type of the pipeline. + + The new result serializer. + The type of the new result. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline. + + The expression providing the value to group by. + The bucket boundaries. + The options. + The type of the value. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline with a custom projection. + + The expression providing the value to group by. + The bucket boundaries. + The output projection. + The options. + The type of the value. + The type of the new result. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline. + + The expression providing the value to group by. + The number of buckets. + The options (optional). + The type of the value. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline with a custom projection. + + The expression providing the value to group by. + The number of buckets. + The output projection. + The options (optional). + The type of the value. + The type of the new result. + The fluent aggregate interface. + + + + Appends a count stage to the pipeline. + + The fluent aggregate interface. + + + + Gets the database. + + + + + Appends a $facet stage to the pipeline. + + The facets. + The options. + The type of the new result. + + The fluent aggregate interface. + + + + + Appends a $graphLookup stage to the pipeline. + + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The fluent aggregate interface. + + + + Appends a group stage to the pipeline. + + The group projection. + The type of the result of the stage. + The fluent aggregate interface. + + + + Appends a limit stage to the pipeline. + + The limit. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + Name of the other collection. + The local field. + The foreign field. + The field in to place the foreign results. + The options. + The type of the foreign document. + The type of the new result. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline. + + The filter. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline that matches derived documents and changes the result type to the derived type. + + The new result serializer. + The type of the derived documents. + The fluent aggregate interface. + + + + Gets the options. + + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The cancellation token. + A cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The cancellation token. + A Task whose result is a cursor. + + + + Appends a project stage to the pipeline. + + The projection. + The type of the result of the stage. + + The fluent aggregate interface. + + + + + Appends a $replaceRoot stage to the pipeline. + + The new root. + The type of the new result. + The fluent aggregate interface. + + + + Appends a skip stage to the pipeline. + + The number of documents to skip. + The fluent aggregate interface. + + + + Appends a sort stage to the pipeline. + + The sort specification. + The fluent aggregate interface. + + + + Appends a sortByCount stage to the pipeline. + + The identifier. + The type of the identifier. + The fluent aggregate interface. + + + + Gets the stages. + + + + + Appends an unwind stage to the pipeline. + + The field. + The new result serializer. + The type of the result of the stage. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The field. + The options. + The type of the new result. + The fluent aggregate interface. + + + + Extension methods for + + + + Appends a $bucket stage to the pipeline. + + The aggregate. + The expression providing the value to group by. + The bucket boundaries. + The options. + The type of the result. + The type of the value. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline. + + The aggregate. + The expression providing the value to group by. + The bucket boundaries. + The output projection. + The options. + The type of the result. + The type of the value. + The type of the new result. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline. + + The aggregate. + The expression providing the value to group by. + The number of buckets. + The options (optional). + The type of the result. + The type of the value. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline. + + The aggregate. + The expression providing the value to group by. + The number of buckets. + The output projection. + The options (optional). + The type of the result. + The type of the value. + The type of the new result. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The aggregate. + The facets. + The type of the result. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The aggregate. + The facets. + The type of the result. + The type of the new result. + + The fluent aggregate interface. + + + + + Appends a $facet stage to the pipeline. + + The aggregate. + The facets. + The type of the result. + The fluent aggregate interface. + + + + Returns the first document of the aggregate result. + + The aggregate. + The cancellation token. + The type of the result. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result. + + The aggregate. + The cancellation token. + The type of the result. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result, or the default value if the result set is empty. + + The aggregate. + The cancellation token. + The type of the result. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result, or the default value if the result set is empty. + + The aggregate. + The cancellation token. + The type of the result. + + The fluent aggregate interface. + + + + + Appends a $graphLookup stage to the pipeline. + + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The type of the result. + The type of the from documents. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The type of the result. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The type of the result. + The type of the new result (must be same as TResult with an additional as field). + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The type of the result. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The fluent aggregate interface. + + + + Appends a group stage to the pipeline. + + The aggregate. + The group projection. + The type of the result. + + The fluent aggregate interface. + + + + + Appends a group stage to the pipeline. + + The aggregate. + The id. + The group projection. + The type of the result. + The type of the key. + The type of the new result. + + The fluent aggregate interface. + + + + + Appends a lookup stage to the pipeline. + + The aggregate. + The foreign collection. + The local field. + The foreign field. + The field in the result to place the foreign matches. + The options. + The type of the result. + The type of the foreign collection. + The type of the new result. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The aggregate. + Name of the foreign collection. + The local field. + The foreign field. + The field in the result to place the foreign matches. + The type of the result. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline. + + The aggregate. + The filter. + The type of the result. + + The fluent aggregate interface. + + + + + Appends a project stage to the pipeline. + + The aggregate. + The projection. + The type of the result. + + The fluent aggregate interface. + + + + + Appends a project stage to the pipeline. + + The aggregate. + The projection. + The type of the result. + The type of the new result. + + The fluent aggregate interface. + + + + + Appends a $replaceRoot stage to the pipeline. + + The aggregate. + The new root. + The type of the result. + The type of the new result. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result. Throws an exception if the result set does not contain exactly one document. + + The aggregate. + The cancellation token. + The type of the result. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result. Throws an exception if the result set does not contain exactly one document. + + The aggregate. + The cancellation token. + The type of the result. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result, or the default value if the result set is empty. Throws an exception if the result set contains more than one document. + + The aggregate. + The cancellation token. + The type of the result. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result, or the default value if the result set is empty. Throws an exception if the result set contains more than one document. + + The aggregate. + The cancellation token. + The type of the result. + + The fluent aggregate interface. + + + + + Appends an ascending sort stage to the pipeline. + + The aggregate. + The field to sort by. + The type of the result. + + The fluent aggregate interface. + + + + + Appends a sortByCount stage to the pipeline. + + The aggregate. + The id. + The type of the result. + The type of the key. + + The fluent aggregate interface. + + + + + Appends a descending sort stage to the pipeline. + + The aggregate. + The field to sort by. + The type of the result. + + The fluent aggregate interface. + + + + + Modifies the current sort stage by appending an ascending field specification to it. + + The aggregate. + The field to sort by. + The type of the result. + + The fluent aggregate interface. + + + + + Modifies the current sort stage by appending a descending field specification to it. + + The aggregate. + The field to sort by. + The type of the result. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The aggregate. + The field to unwind. + The type of the result. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The aggregate. + The field to unwind. + The type of the result. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The aggregate. + The field to unwind. + The new result serializer. + The type of the result. + The type of the new result. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The aggregate. + The field to unwind. + The options. + The type of the result. + The type of the new result. + + The fluent aggregate interface. + + + + + A filtered mongo collection. The filter will be and'ed with all filters. + + The type of the document. + + + + Gets the filter. + + + + + Fluent interface for find. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + A simplified type of projection that changes the result type by using a different serializer. + + The result serializer. + The type of the result. + The fluent find interface. + + + + Counts the number of documents. + + The cancellation token. + The count. + + + + Counts the number of documents. + + The cancellation token. + A Task whose result is the count. + + + + Gets or sets the filter. + + + + + Limits the number of documents. + + The limit. + The fluent find interface. + + + + Gets the options. + + + + + Projects the the result. + + The projection. + The type of the projection. + The fluent find interface. + + + + Skips the the specified number of documents. + + The skip. + The fluent find interface. + + + + Sorts the the documents. + + The sort. + The fluent find interface. + + + + Extension methods for + + + + Get the first result. + + The fluent find. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is the first result. + + + + Get the first result. + + The fluent find. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is the first result. + + + + Get the first result or null. + + The fluent find. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is the first result or null. + + + + Get the first result or null. + + The fluent find. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is the first result or null. + + + + Projects the result. + + The fluent find. + The projection. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find interface. + + + + Projects the result. + + The fluent find. + The projection. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The type of the new projection. + The fluent find interface. + + + + Gets a single result. + + The fluent find. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is the single result. + + + + Gets a single result. + + The fluent find. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is the single result. + + + + Gets a single result or null. + + The fluent find. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is the single result or null. + + + + Gets a single result or null. + + The fluent find. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is the single result or null. + + + + Sorts the results by an ascending field. + + The fluent find. + The field. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find interface. + + + + Sorts the results by a descending field. + + The fluent find. + The field. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find interface. + + + + Adds an ascending field to the existing sort. + + The fluent find. + The field. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find interface. + + + + Adds a descending field to the existing sort. + + The fluent find. + The field. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find interface. + + + + The client interface to MongoDB. + + + + + Gets the cluster. + + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + A task. + + + + Gets a database. + + The name of the database. + The database settings. + An implementation of a database. + + + + Lists the databases on the server. + + The cancellation token. + A cursor. + + + + Lists the databases on the server. + + The cancellation token. + A Task whose result is a cursor. + + + + Gets the settings. + + + + + Returns a new IMongoClient instance with a different read concern setting. + + The read concern. + A new IMongoClient instance with a different read concern setting. + + + + Returns a new IMongoClient instance with a different read preference setting. + + The read preference. + A new IMongoClient instance with a different read preference setting. + + + + Returns a new IMongoClient instance with a different write concern setting. + + The write concern. + A new IMongoClient instance with a different write concern setting. + + + + Represents a typed collection in MongoDB. + + The type of the documents stored in the collection. + + + + Runs an aggregation pipeline. + + The pipeline. + The options. + The cancellation token. + The type of the result. + A cursor. + + + + Runs an aggregation pipeline. + + The pipeline. + The options. + The cancellation token. + The type of the result. + A Task whose result is a cursor. + + + + Performs multiple write operations. + + The requests. + The options. + The cancellation token. + The result of writing. + + + + Performs multiple write operations. + + The requests. + The options. + The cancellation token. + The result of writing. + + + + Gets the namespace of the collection. + + + + + Counts the number of documents in the collection. + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Gets the database. + + + + + Deletes multiple documents. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Gets the distinct values for a specified field. + + The field. + The filter. + The options. + The cancellation token. + The type of the result. + A cursor. + + + + Gets the distinct values for a specified field. + + The field. + The filter. + The options. + The cancellation token. + The type of the result. + A Task whose result is a cursor. + + + + Gets the document serializer. + + + + + Finds the documents matching the filter. + + The filter. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is a cursor. + + + + Finds a single document and deletes it atomically. + + The filter. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The filter. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The filter. + The replacement. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The filter. + The replacement. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and updates it atomically. + + The filter. + The update. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and updates it atomically. + + The filter. + The update. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds the documents matching the filter. + + The filter. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + A cursor. + + + + Gets the index manager. + + + + + Inserts many documents. + + The documents. + The options. + The cancellation token. + + + + Inserts many documents. + + The documents. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts a single document. + + The document. + The options. + The cancellation token. + + + + Inserts a single document. + + The document. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts a single document. + + The document. + The cancellation token. + + The result of the insert operation. + + + + + Executes a map-reduce command. + + The map function. + The reduce function. + The options. + The cancellation token. + The type of the result. + A cursor. + + + + Executes a map-reduce command. + + The map function. + The reduce function. + The options. + The cancellation token. + The type of the result. + A Task whose result is a cursor. + + + + Returns a filtered collection that appears to contain only documents of the derived type. + All operations using this filtered collection will automatically use discriminators as necessary. + + The type of the derived document. + A filtered collection. + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Gets the settings. + + + + + Updates many documents. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Returns a new IMongoCollection instance with a different read concern setting. + + The read concern. + A new IMongoCollection instance with a different read concern setting. + + + + Returns a new IMongoCollection instance with a different read preference setting. + + The read preference. + A new IMongoCollection instance with a different read preference setting. + + + + Returns a new IMongoCollection instance with a different write concern setting. + + The write concern. + A new IMongoCollection instance with a different write concern setting. + + + + Extension methods for . + + + + + Begins a fluent aggregation interface. + + The collection. + The options. + The type of the document. + + A fluent aggregate interface. + + + + + Creates a queryable source of documents. + + The collection. + The aggregate options + The type of the document. + A queryable source of documents. + + + + Counts the number of documents in the collection. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The number of documents in the collection. + + + + + Deletes multiple documents. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The collection. + The filter. + The cancellation token. + The type of the document. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The collection. + The filter. + The cancellation token. + The type of the document. + + The result of the delete operation. + + + + + Deletes a single document. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The result of the delete operation. + + + + + Deletes a single document. + + The collection. + The filter. + The cancellation token. + The type of the document. + + The result of the delete operation. + + + + + Deletes a single document. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The result of the delete operation. + + + + + Deletes a single document. + + The collection. + The filter. + The cancellation token. + The type of the document. + + The result of the delete operation. + + + + + Gets the distinct values for a specified field. + + The collection. + The field. + The filter. + The options. + The cancellation token. + The type of the document. + The type of the result. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The collection. + The field. + The filter. + The options. + The cancellation token. + The type of the document. + The type of the result. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The collection. + The field. + The filter. + The options. + The cancellation token. + The type of the document. + The type of the result. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The collection. + The field. + The filter. + The options. + The cancellation token. + The type of the document. + The type of the result. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The collection. + The field. + The filter. + The options. + The cancellation token. + The type of the document. + The type of the result. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The collection. + The field. + The filter. + The options. + The cancellation token. + The type of the document. + The type of the result. + + The distinct values for the specified field. + + + + + Begins a fluent find interface. + + The collection. + The filter. + The options. + The type of the document. + + A fluent find interface. + + + + + Begins a fluent find interface. + + The collection. + The filter. + The options. + The type of the document. + + A fluent interface. + + + + + Finds the documents matching the filter. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + A Task whose result is a cursor. + + + + Finds a single document and deletes it atomically. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The collection. + The filter. + The replacement. + The options. + The cancellation token. + The type of the document. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The collection. + The filter. + The replacement. + The options. + The cancellation token. + The type of the document. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The collection. + The filter. + The replacement. + The options. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The collection. + The filter. + The replacement. + The options. + The cancellation token. + The type of the document. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The collection. + The filter. + The replacement. + The options. + The cancellation token. + The type of the document. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The collection. + The filter. + The replacement. + The options. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and updates it atomically. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and updates it atomically. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds the documents matching the filter. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + A Task whose result is a cursor. + + + + Replaces a single document. + + The collection. + The filter. + The replacement. + The options. + The cancellation token. + The type of the document. + + The result of the replacement. + + + + + Replaces a single document. + + The collection. + The filter. + The replacement. + The options. + The cancellation token. + The type of the document. + + The result of the replacement. + + + + + Updates many documents. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + + The result of the update operation. + + + + + Updates many documents. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + + The result of the update operation. + + + + + Updates a single document. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + + The result of the update operation. + + + + + Updates a single document. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + + The result of the update operation. + + + + + Representats a database in MongoDB. + + + + + Gets the client. + + + + + Creates the collection with the specified name. + + The name. + The options. + The cancellation token. + + + + Creates the collection with the specified name. + + The name. + The options. + The cancellation token. + A task. + + + + Creates a view. + + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + The type of the input documents. + The type of the pipeline result documents. + + + + Creates a view. + + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + The type of the input documents. + The type of the pipeline result documents. + A task. + + + + Gets the namespace of the database. + + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The cancellation token. + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The cancellation token. + A task. + + + + Gets a collection. + + The name of the collection. + The settings. + The document type. + An implementation of a collection. + + + + Lists all the collections on the server. + + The options. + The cancellation token. + A cursor. + + + + Lists all the collections on the server. + + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Renames the collection. + + The old name. + The new name. + The options. + The cancellation token. + + + + Renames the collection. + + The old name. + The new name. + The options. + The cancellation token. + A task. + + + + Runs a command. + + The command. + The read preference. + The cancellation token. + The result type of the command. + + The result of the command. + + + + + Runs a command. + + The command. + The read preference. + The cancellation token. + The result type of the command. + + The result of the command. + + + + + Gets the settings. + + + + + Returns a new IMongoDatabase instance with a different read concern setting. + + The read concern. + A new IMongoDatabase instance with a different read concern setting. + + + + Returns a new IMongoDatabase instance with a different read preference setting. + + The read preference. + A new IMongoDatabase instance with a different read preference setting. + + + + Returns a new IMongoDatabase instance with a different write concern setting. + + The write concern. + A new IMongoDatabase instance with a different write concern setting. + + + + An interface representing methods used to create, delete and modify indexes. + + The type of the document. + + + + Gets the namespace of the collection. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + A task whose result is an of the names of the indexes that were created. + + + + + Creates an index. + + The keys. + The options. + The cancellation token. + + The name of the index that was created. + + + + + Creates an index. + + The keys. + The options. + The cancellation token. + + A task whose result is the name of the index that was created. + + + + + Gets the document serializer. + + + + + Drops all the indexes. + + The cancellation token. + + + + Drops all the indexes. + + The cancellation token. + A task. + + + + Drops an index by its name. + + The name. + The cancellation token. + + + + Drops an index by its name. + + The name. + The cancellation token. + A task. + + + + Lists the indexes. + + The cancellation token. + A cursor. + + + + Lists the indexes. + + The cancellation token. + A Task whose result is a cursor. + + + + Gets the collection settings. + + + + + Base class for an index keys definition. + + The type of the document. + + + + + + MongoDB.Driver.IndexKeysDefinition`1 + + + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Renders the index keys definition to a . + + The document serializer. + The serializer registry. + A . + + + + A builder for an . + + The type of the document. + + + + + + MongoDB.Driver.IndexKeysDefinitionBuilder`1 + + + + + + + Creates an ascending index key definition. + + The field. + An ascending index key definition. + + + + Creates an ascending index key definition. + + The field. + An ascending index key definition. + + + + Creates a combined index keys definition. + + The keys. + A combined index keys definition. + + + + Creates a combined index keys definition. + + The keys. + A combined index keys definition. + + + + Creates a descending index key definition. + + The field. + A descending index key definition. + + + + Creates a descending index key definition. + + The field. + A descending index key definition. + + + + Creates a 2d index key definition. + + The field. + A 2d index key definition. + + + + Creates a 2d index key definition. + + The field. + A 2d index key definition. + + + + Creates a 2dsphere index key definition. + + The field. + A 2dsphere index key definition. + + + + Creates a 2dsphere index key definition. + + The field. + A 2dsphere index key definition. + + + + Creates a geo haystack index key definition. + + The field. + Name of the additional field. + + A geo haystack index key definition. + + + + + Creates a geo haystack index key definition. + + The field. + Name of the additional field. + + A geo haystack index key definition. + + + + + Creates a hashed index key definition. + + The field. + A hashed index key definition. + + + + Creates a hashed index key definition. + + The field. + A hashed index key definition. + + + + Creates a text index key definition. + + The field. + A text index key definition. + + + + Creates a text index key definition. + + The field. + A text index key definition. + + + + Extension methods for an index keys definition. + + + + + Combines an existing index keys definition with an ascending index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with an ascending index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a descending index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a descending index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2d index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2d index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2dsphere index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2dsphere index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a geo haystack index key definition. + + The keys. + The field. + Name of the additional field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a geo haystack index key definition. + + The keys. + The field. + Name of the additional field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a hashed index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a hashed index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a text index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a text index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Represents index option defaults. + + + + + + + MongoDB.Driver.IndexOptionDefaults + + + + + + + Gets or sets the storage engine options. + + + + + Options for inserting many documents. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets a value indicating whether the requests are fulfilled in order. + + + + + Model for inserting a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + Gets the type of the model. + + + + + Options for inserting one document. + + + + + + + MongoDB.Driver.InsertOneOptions + + + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Fluent interface for aggregate. + + The type of the result. + + + + Combines the current sort definition with an additional sort definition. + + The new sort. + The fluent aggregate interface. + + + + Fluent interface for find. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + A pipeline stage. + + + + + Gets the type of the input. + + + + + Gets the name of the pipeline operator. + + + + + Gets the type of the output. + + + + + Renders the specified document serializer. + + The input serializer. + The serializer registry. + An + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + A rendered pipeline stage. + + + + + Gets the document. + + + + + Gets the name of the pipeline operator. + + + + + Gets the output serializer. + + + + + A JSON based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The json. + The result serializer. + + + + Gets the json. + + + + + Renders the command to a . + + The serializer registry. + A . + + + + Gets the result serializer. + + + + + A JSON based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + Renders the filter to a . + + The document serializer. + The serializer registry. + A . + + + + A JSON based index keys definition. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + Renders the index keys definition to a . + + The document serializer. + The serializer registry. + A . + + + + A JSON based pipeline stage. + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The json. + The output serializer. + + + + Gets the json. + + + + + Gets the name of the pipeline operator. + + + + + Gets the output serializer. + + + + + Renders the specified document serializer. + + The input serializer. + The serializer registry. + A + + + + A JSON based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + A JSON based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The json. + The projection serializer. + + + + Gets the json. + + + + + Gets the projection serializer. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + A JSON based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + Renders the sort to a . + + The document serializer. + The serializer registry. + A . + + + + A JSON based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + Renders the update to a . + + The document serializer. + The serializer registry. + A . + + + + Options for a list collections operation. + + + + + + + MongoDB.Driver.ListCollectionsOptions + + + + + + + Gets or sets the filter. + + + + + Represents the options for a map-reduce operation. + + The type of the document. + The type of the result. + + + + + + MongoDB.Driver.MapReduceOptions`2 + + + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the filter. + + + + + Gets or sets the finalize function. + + + + + Gets or sets the java script mode. + + + + + Gets or sets the limit. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the output options. + + + + + Gets or sets the result serializer. + + + + + Gets or sets the scope. + + + + + Gets or sets the sort. + + + + + Gets or sets whether to include timing information. + + + + + Represents the output options for a map-reduce operation. + + + + + An inline map-reduce output options. + + + + + A merge map-reduce output options. + + The name of the collection. + The name of the database. + Whether the output collection should be sharded. + Whether the server should not lock the database for the duration of the merge. + A merge map-reduce output options. + + + + A reduce map-reduce output options. + + The name of the collection. + The name of the database. + Whether the output collection should be sharded. + Whether the server should not lock the database for the duration of the reduce. + A reduce map-reduce output options. + + + + A replace map-reduce output options. + + The name of the collection. + Name of the database. + Whether the output collection should be sharded. + A replace map-reduce output options. + + + + Represents a bulk write exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The write errors. + The write concern error. + + + + Initializes a new instance of the MongoQueryException class (this overload supports deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Gets the object data. + + The information. + The context. + + + + Gets the write concern error. + + + + + Gets the write errors. + + + + + Represents a bulk write exception. + + The type of the document. + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + The write errors. + The write concern error. + The unprocessed requests. + + + + Initializes a new instance of the MongoQueryException class (this overload supports deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Gets the object data. + + The information. + The context. + + + + Gets the result of the bulk write operation. + + + + + Gets the unprocessed requests. + + + + + Base class for implementors of . + + + + + Initializes a new instance of the MongoClient class. + + + + + Initializes a new instance of the MongoClient class. + + The settings. + + + + Initializes a new instance of the MongoClient class. + + The URL. + + + + Initializes a new instance of the MongoClient class. + + The connection string. + + + + Gets the cluster. + + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + A task. + + + + Gets a database. + + The name of the database. + The database settings. + An implementation of a database. + + + + Lists the databases on the server. + + The cancellation token. + A cursor. + + + + Lists the databases on the server. + + The cancellation token. + A Task whose result is a cursor. + + + + Gets the settings. + + + + + Returns a new IMongoClient instance with a different read concern setting. + + The read concern. + A new IMongoClient instance with a different read concern setting. + + + + Returns a new IMongoClient instance with a different read preference setting. + + The read preference. + A new IMongoClient instance with a different read preference setting. + + + + Returns a new IMongoClient instance with a different write concern setting. + + The write concern. + A new IMongoClient instance with a different write concern setting. + + + + Base class for implementors of . + + + + + + + MongoDB.Driver.MongoClientBase + + + + + + + Gets the cluster. + + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + A task. + + + + Gets a database. + + The name of the database. + The database settings. + An implementation of a database. + + + + Lists the databases on the server. + + The cancellation token. + A cursor. + + + + Lists the databases on the server. + + The cancellation token. + A Task whose result is a cursor. + + + + Gets the settings. + + + + + Returns a new IMongoClient instance with a different read concern setting. + + The read concern. + A new IMongoClient instance with a different read concern setting. + + + + Returns a new IMongoClient instance with a different read preference setting. + + The read preference. + A new IMongoClient instance with a different read preference setting. + + + + Returns a new IMongoClient instance with a different write concern setting. + + The write concern. + A new IMongoClient instance with a different write concern setting. + + + + The settings for a MongoDB client. + + + + + Creates a new instance of MongoClientSettings. Usually you would use a connection string instead. + + + + + Gets or sets the application name. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Gets or sets the cluster configurator. + + + + + Gets or sets the connection mode. + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the credentials. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Freezes the settings. + + The frozen settings. + + + + Gets a MongoClientSettings object intialized with values from a MongoURL. + + The MongoURL. + A MongoClientSettings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Gets or sets the representation to use for Guids. + + + + + Gets or sets the heartbeat interval. + + + + + Gets or sets the heartbeat timeout. + + + + + Gets or sets a value indicating whether to use IPv6. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the local threshold. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the min connection pool size. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preferences. + + + + + Gets or sets the name of the replica set. + + + + + Gets or sets the address of the server (see also Servers if using more than one address). + + + + + Gets or sets the list of server addresses (see also Server if using only one address). + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Gets or sets the SSL settings. + + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Gets or sets a value indicating whether to use SSL. + + + + + Gets or sets a value indicating whether to verify an SSL certificate. + + + + + Gets or sets the wait queue size. + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Base class for implementors of . + + The type of the document. + + + + + + MongoDB.Driver.MongoCollectionBase`1 + + + + + + + Runs an aggregation pipeline. + + The pipeline. + The options. + The cancellation token. + The type of the result. + A cursor. + + + + Runs an aggregation pipeline. + + The pipeline. + The options. + The cancellation token. + The type of the result. + A Task whose result is a cursor. + + + + Performs multiple write operations. + + The requests. + The options. + The cancellation token. + The result of writing. + + + + Performs multiple write operations. + + The requests. + The options. + The cancellation token. + The result of writing. + + + + Gets the namespace of the collection. + + + + + Counts the number of documents in the collection. + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Gets the database. + + + + + Deletes multiple documents. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Gets the distinct values for a specified field. + + The field. + The filter. + The options. + The cancellation token. + The type of the result. + A cursor. + + + + Gets the distinct values for a specified field. + + The field. + The filter. + The options. + The cancellation token. + The type of the result. + A Task whose result is a cursor. + + + + Gets the document serializer. + + + + + Finds the documents matching the filter. + + The filter. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is a cursor. + + + + Finds a single document and deletes it atomically. + + The filter. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The filter. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The filter. + The replacement. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The filter. + The replacement. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and updates it atomically. + + The filter. + The update. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and updates it atomically. + + The filter. + The update. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds the documents matching the filter. + + The filter. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + A cursor. + + + + Gets the index manager. + + + + + Inserts many documents. + + The documents. + The options. + The cancellation token. + + + + Inserts many documents. + + The documents. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts a single document. + + The document. + The options. + The cancellation token. + + + + Inserts a single document. + + The document. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts a single document. + + The document. + The cancellation token. + + The result of the insert operation. + + + + + Executes a map-reduce command. + + The map function. + The reduce function. + The options. + The cancellation token. + The type of the result. + A cursor. + + + + Executes a map-reduce command. + + The map function. + The reduce function. + The options. + The cancellation token. + The type of the result. + A Task whose result is a cursor. + + + + Returns a filtered collection that appears to contain only documents of the derived type. + All operations using this filtered collection will automatically use discriminators as necessary. + + The type of the derived document. + A filtered collection. + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Gets the settings. + + + + + Updates many documents. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Returns a new IMongoCollection instance with a different read concern setting. + + The read concern. + A new IMongoCollection instance with a different read concern setting. + + + + Returns a new IMongoCollection instance with a different read preference setting. + + The read preference. + A new IMongoCollection instance with a different read preference setting. + + + + Returns a new IMongoCollection instance with a different write concern setting. + + The write concern. + A new IMongoCollection instance with a different write concern setting. + + + + The settings used to access a collection. + + + + + Initializes a new instance of the MongoCollectionSettings class. + + + + + Gets or sets a value indicating whether the driver should assign Id values when missing. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Compares two MongoCollectionSettings instances. + + The other instance. + True if the two instances are equal. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Gets or sets the representation used for Guids. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preference to use. + + + + + Gets the serializer registry. + + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Credential to access a MongoDB database. + + + + + Initializes a new instance of the class. + + Mechanism to authenticate with. + The identity. + The evidence. + + + + Creates a default credential. + + Name of the database. + The username. + The password. + A default credential. + + + + Creates a default credential. + + Name of the database. + The username. + The password. + A default credential. + + + + Creates a GSSAPI credential. + + The username. + A credential for GSSAPI. + + + + Creates a GSSAPI credential. + + The username. + The password. + A credential for GSSAPI. + + + + Creates a GSSAPI credential. + + The username. + The password. + A credential for GSSAPI. + + + + Creates a credential used with MONGODB-CR. + + Name of the database. + The username. + The password. + A credential for MONGODB-CR. + + + + Creates a credential used with MONGODB-CR. + + Name of the database. + The username. + The password. + A credential for MONGODB-CR. + + + + Creates a credential used with MONGODB-CR. + + The username. + A credential for MONGODB-X509. + + + + Creates a PLAIN credential. + + Name of the database. + The username. + The password. + A credential for PLAIN. + + + + Creates a PLAIN credential. + + Name of the database. + The username. + The password. + A credential for PLAIN. + + + + Compares this MongoCredential to another MongoCredential. + + The other credential. + True if the two credentials are equal. + + + + Compares this MongoCredential to another MongoCredential. + + The other credential. + True if the two credentials are equal. + + + + Gets the evidence. + + + + + Gets the hashcode for the credential. + + The hashcode. + + + + Gets the mechanism property. + + The key. + The default value. + The type of the mechanism property. + The mechanism property if one was set; otherwise the default value. + + + + Gets the identity. + + + + + Gets the mechanism to authenticate with. + + + + + Compares two MongoCredentials. + + The first MongoCredential. + The other MongoCredential. + True if the two MongoCredentials are equal (or both null). + + + + Compares two MongoCredentials. + + The first MongoCredential. + The other MongoCredential. + True if the two MongoCredentials are not equal (or one is null and the other is not). + + + + Gets the password. + + + + + Gets the source. + + + + + Returns a string representation of the credential. + + A string representation of the credential. + + + + Gets the username. + + + + + Creates a new MongoCredential with the specified mechanism property. + + The key. + The value. + A new MongoCredential with the specified mechanism property. + + + + Base class for implementors of . + + + + + + + MongoDB.Driver.MongoDatabaseBase + + + + + + + Gets the client. + + + + + Creates the collection with the specified name. + + The name. + The options. + The cancellation token. + + + + Creates the collection with the specified name. + + The name. + The options. + The cancellation token. + A task. + + + + Creates a view. + + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + The type of the input documents. + The type of the pipeline result documents. + + + + Creates a view. + + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + The type of the input documents. + The type of the pipeline result documents. + A task. + + + + Gets the namespace of the database. + + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The cancellation token. + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The cancellation token. + A task. + + + + Gets a collection. + + The name of the collection. + The settings. + The document type. + An implementation of a collection. + + + + Lists all the collections on the server. + + The options. + The cancellation token. + A cursor. + + + + Lists all the collections on the server. + + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Renames the collection. + + The old name. + The new name. + The options. + The cancellation token. + + + + Renames the collection. + + The old name. + The new name. + The options. + The cancellation token. + A task. + + + + Runs a command. + + The command. + The read preference. + The cancellation token. + The result type of the command. + + The result of the command. + + + + + Runs a command. + + The command. + The read preference. + The cancellation token. + The result type of the command. + + The result of the command. + + + + + Gets the settings. + + + + + Returns a new IMongoDatabase instance with a different read concern setting. + + The read concern. + A new IMongoDatabase instance with a different read concern setting. + + + + Returns a new IMongoDatabase instance with a different read preference setting. + + The read preference. + A new IMongoDatabase instance with a different read preference setting. + + + + Returns a new IMongoDatabase instance with a different write concern setting. + + The write concern. + A new IMongoDatabase instance with a different write concern setting. + + + + The settings used to access a database. + + + + + Creates a new instance of MongoDatabaseSettings. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Compares two MongoDatabaseSettings instances. + + The other instance. + True if the two instances are equal. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Gets or sets the representation to use for Guids. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preference. + + + + + Gets the serializer registry. + + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Represents a DBRef (a convenient way to refer to a document). + + + + + Creates a MongoDBRef. + + The name of the collection that contains the document. + The Id of the document. + + + + Creates a MongoDBRef. + + The name of the database that contains the document. + The name of the collection that contains the document. + The Id of the document. + + + + Gets the name of the collection that contains the document. + + + + + Gets the name of the database that contains the document. + + + + + Determines whether this instance and another specified MongoDBRef object have the same value. + + The MongoDBRef object to compare to this instance. + True if the value of the rhs parameter is the same as this instance; otherwise, false. + + + + Determines whether two specified MongoDBRef objects have the same value. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is the same as the value of rhs; otherwise, false. + + + + Determines whether this instance and a specified object, which must also be a MongoDBRef object, have the same value. + + The MongoDBRef object to compare to this instance. + True if obj is a MongoDBRef object and its value is the same as this instance; otherwise, false. + + + + Returns the hash code for this MongoDBRef object. + + A 32-bit signed integer hash code. + + + + Gets the Id of the document. + + + + + Determines whether two specified MongoDBRef objects have the same value. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is the same as the value of rhs; otherwise, false. + + + + Determines whether two specified MongoDBRef objects have different values. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is different from the value of rhs; otherwise, false. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a serializer for MongoDBRefs. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Default values for various Mongo settings. + + + + + Gets or sets whether the driver should assign a value to empty Ids on Insert. + + + + + Gets or sets the default authentication mechanism. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the representation to use for Guids (this is an alias for BsonDefaults.GuidRepresentation). + + + + + Gets or sets the default local threshold. + + + + + Gets or sets the maximum batch count. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the max document size + + + + + Gets or sets the max message length. + + + + + Gets or sets the min connection pool size. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Gets or sets the TCP receive buffer size. + + + + + Gets or sets the TCP send buffer size. + + + + + Gets or sets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize, see also WaitQueueSize). + + + + + Gets or sets the wait queue size (see also WaitQueueMultiple). + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the Write Encoding. + + + + + Represents an identity defined outside of mongodb. + + + + + Initializes a new instance of the class. + + The username. + + + + Initializes a new instance of the class. + + The source. + The username. + + + + Represents an identity in MongoDB. + + + + + Determines whether the specified instance is equal to this instance. + + The right-hand side. + + true if the specified instance is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares two MongoIdentity values. + + The first MongoIdentity. + The other MongoIdentity. + True if the two MongoIdentity values are equal (or both null). + + + + Compares two MongoIdentity values. + + The first MongoIdentity. + The other MongoIdentity. + True if the two MongoIdentity values are not equal (or one is null and the other is not). + + + + Gets the source. + + + + + Gets the username. + + + + + Evidence used as proof of a MongoIdentity. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares two MongoIdentityEvidences. + + The first MongoIdentityEvidence. + The other MongoIdentityEvidence. + True if the two MongoIdentityEvidences are equal (or both null). + + + + Compares two MongoIdentityEvidences. + + The first MongoIdentityEvidence. + The other MongoIdentityEvidence. + True if the two MongoIdentityEvidences are not equal (or one is null and the other is not). + + + + Base class for implementors of . + + The type of the document. + + + + + + MongoDB.Driver.MongoIndexManagerBase`1 + + + + + + + Gets the namespace of the collection. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + A task whose result is an of the names of the indexes that were created. + + + + + Creates an index. + + The keys. + The options. + The cancellation token. + + The name of the index that was created. + + + + + Creates an index. + + The keys. + The options. + The cancellation token. + + A task whose result is the name of the index that was created. + + + + + Gets the document serializer. + + + + + Drops all the indexes. + + The cancellation token. + + + + Drops all the indexes. + + The cancellation token. + A task. + + + + Drops an index by its name. + + The name. + The cancellation token. + + + + Drops an index by its name. + + The name. + The cancellation token. + A task. + + + + Lists the indexes. + + The cancellation token. + A cursor. + + + + Lists the indexes. + + The cancellation token. + A Task whose result is a cursor. + + + + Gets the collection settings. + + + + + Represents an identity defined inside mongodb. + + + + + Initializes a new instance of the class. + + Name of the database. + The username. + + + + The address of a MongoDB server. + + + + + Initializes a new instance of MongoServerAddress. + + The server's host name. + + + + Initializes a new instance of MongoServerAddress. + + The server's host name. + The server's port number. + + + + Compares two server addresses. + + The other server address. + True if the two server addresses are equal. + + + + Compares two server addresses. + + The other server address. + True if the two server addresses are equal. + + + + Gets the hash code for this object. + + The hash code. + + + + Gets the server's host name. + + + + + Compares two server addresses. + + The first address. + The other address. + True if the two addresses are equal (or both are null). + + + + Compares two server addresses. + + The first address. + The other address. + True if the two addresses are not equal (or one is null and the other is not). + + + + Parses a string representation of a server address. + + The string representation of a server address. + A new instance of MongoServerAddress initialized with values parsed from the string. + + + + Gets the server's port number. + + + + + Returns a string representation of the server address. + + A string representation of the server address. + + + + Tries to parse a string representation of a server address. + + The string representation of a server address. + The server address (set to null if TryParse fails). + True if the string is parsed succesfully. + + + + Represents an immutable URL style connection string. See also MongoUrlBuilder. + + + + + Creates a new instance of MongoUrl. + + The URL containing the settings. + + + + Gets the application name. + + + + + Gets the authentication mechanism. + + + + + Gets the authentication mechanism properties. + + + + + Gets the authentication source. + + + + + Clears the URL cache. When a URL is parsed it is stored in the cache so that it doesn't have to be + parsed again. There is rarely a need to call this method. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets the connection mode. + + + + + Gets the connect timeout. + + + + + Creates an instance of MongoUrl (might be an existing existence if the same URL has been used before). + + The URL containing the settings. + An instance of MongoUrl. + + + + Gets the optional database name. + + + + + Compares two MongoUrls. + + The other URL. + True if the two URLs are equal. + + + + Compares two MongoUrls. + + The other URL. + True if the two URLs are equal. + + + + Gets the FSync component of the write concern. + + + + + Gets the credential. + + The credential (or null if the URL has not authentication settings). + + + + Gets the hash code. + + The hash code. + + + + Returns a WriteConcern value based on this instance's settings and a default enabled value. + + The default enabled value. + A WriteConcern. + + + + Gets the representation to use for Guids. + + + + + Gets a value indicating whether this instance has authentication settings. + + + + + Gets the heartbeat interval. + + + + + Gets the heartbeat timeout. + + + + + Gets a value indicating whether to use IPv6. + + + + + Gets the Journal component of the write concern. + + + + + Gets the local threshold. + + + + + Gets the max connection idle time. + + + + + Gets the max connection life time. + + + + + Gets the max connection pool size. + + + + + Gets the min connection pool size. + + + + + Compares two MongoUrls. + + The first URL. + The other URL. + True if the two URLs are equal (or both null). + + + + Compares two MongoUrls. + + The first URL. + The other URL. + True if the two URLs are not equal (or one is null and the other is not). + + + + Gets the password. + + + + + Gets the read concern level. + + + + + Gets the read preference. + + + + + Gets the name of the replica set. + + + + + Gets the address of the server (see also Servers if using more than one address). + + + + + Gets the list of server addresses (see also Server if using only one address). + + + + + Gets the server selection timeout. + + + + + Gets the socket timeout. + + + + + Returns the canonical URL based on the settings in this MongoUrlBuilder. + + The canonical URL. + + + + Gets the URL (in canonical form). + + + + + Gets the username. + + + + + Gets a value indicating whether to use SSL. + + + + + Gets a value indicating whether to verify an SSL certificate. + + + + + Gets the W component of the write concern. + + + + + Gets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets the wait queue size. + + + + + Gets the wait queue timeout. + + + + + Gets the WTimeout component of the write concern. + + + + + Represents URL style connection strings. This is the recommended connection string style, but see also + MongoConnectionStringBuilder if you wish to use .NET style connection strings. + + + + + Creates a new instance of MongoUrlBuilder. + + + + + Creates a new instance of MongoUrlBuilder. + + The initial settings. + + + + Gets or sets the application name. + + + + + Gets or sets the authentication mechanism. + + + + + Gets or sets the authentication mechanism properties. + + + + + Gets or sets the authentication source. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the connection mode. + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the optional database name. + + + + + Gets or sets the FSync component of the write concern. + + + + + Returns a WriteConcern value based on this instance's settings and a default enabled value. + + The default enabled value. + A WriteConcern. + + + + Gets or sets the representation to use for Guids. + + + + + Gets or sets the heartbeat interval. + + + + + Gets or sets the heartbeat timeout. + + + + + Gets or sets a value indicating whether to use IPv6. + + + + + Gets or sets the Journal component of the write concern. + + + + + Gets or sets the local threshold. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the min connection pool size. + + + + + Parses a URL and sets all settings to match the URL. + + The URL. + + + + Gets or sets the password. + + + + + Gets or sets the read concern level. + + + + + Gets or sets the read preference. + + + + + Gets or sets the name of the replica set. + + + + + Gets or sets the address of the server (see also Servers if using more than one address). + + + + + Gets or sets the list of server addresses (see also Server if using only one address). + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Creates a new instance of MongoUrl based on the settings in this MongoUrlBuilder. + + A new instance of MongoUrl. + + + + Returns the canonical URL based on the settings in this MongoUrlBuilder. + + The canonical URL. + + + + Gets or sets the username. + + + + + Gets or sets a value indicating whether to use SSL. + + + + + Gets or sets a value indicating whether to verify an SSL certificate. + + + + + Gets or sets the W component of the write concern. + + + + + Gets or sets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the wait queue size. + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the WTimeout component of the write concern. + + + + + Various static utility methods. + + + + + Gets the MD5 hash of a string. + + The string to get the MD5 hash of. + The MD5 hash. + + + + Creates a TimeSpan from microseconds. + + The microseconds. + The TimeSpan. + + + + Converts a string to camel case by lower casing the first letter (only the first letter is modified). + + The string to camel case. + The camel cased string. + + + + Represents a write exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The write error. + The write concern error. + The inner exception. + + + + Initializes a new instance of the MongoQueryException class (this overload supports deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Gets the object data. + + The information. + The context. + + + + Gets the write concern error. + + + + + Gets the write error. + + + + + Represents an identity defined by an X509 certificate. + + + + + Initializes a new instance of the class. + + The username. + + + + An based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The object. + The result serializer. + + + + Gets the object. + + + + + Renders the command to a . + + The serializer registry. + A . + + + + Gets the result serializer. + + + + + An based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + Renders the filter to a . + + The document serializer. + The serializer registry. + A . + + + + An based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + An based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The object. + The projection serializer. + + + + Gets the object. + + + + + Gets the projection serializer. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + An based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + Renders the sort to a . + + The document serializer. + The serializer registry. + A . + + + + An based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + Renders the update to a . + + The document serializer. + The serializer registry. + A . + + + + Evidence of a MongoIdentity via a shared secret. + + + + + Initializes a new instance of the class. + + The password. + + + + Initializes a new instance of the class. + + The password. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the password. + + + + + Base class for a pipeline. + + The type of the input. + The type of the output. + + + + + + MongoDB.Driver.PipelineDefinition`2 + + + + + + + Creates a pipeline. + + The stages. + A . + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + A . + + + + Performs an implicit conversion from [] to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from [] to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The stages. + + The result of the conversion. + + + + + Gets the output serializer. + + + + + Renders the pipeline. + + The input serializer. + The serializer registry. + A + + + + Gets the stages. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Extension methods for adding stages to a pipeline. + + + + + Appends a stage to the pipeline. + + The pipeline. + The stage. + The output serializer. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + A new pipeline with an additional stage. + + + + Changes the output type of the pipeline. + + The pipeline. + The output serializer. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a $bucket stage to the pipeline. + + The pipeline. + The group by expression. + The boundaries. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the values. + + A new pipeline with an additional stage. + + + + + Appends a $bucket stage to the pipeline. + + The pipeline. + The group by expression. + The boundaries. + The output projection. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a $bucket stage to the pipeline. + + The pipeline. + The group by expression. + The boundaries. + The options. + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the values. + + The fluent aggregate interface. + + + + + Appends a $bucket stage to the pipeline. + + The pipeline. + The group by expression. + The boundaries. + The output projection. + The options. + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + + The fluent aggregate interface. + + + + + Appends a $bucketAuto stage to the pipeline. + + The pipeline. + The group by expression. + The number of buckets. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the values. + + A new pipeline with an additional stage. + + + + + Appends a $bucketAuto stage to the pipeline. + + The pipeline. + The group by expression. + The number of buckets. + The output projection. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a $bucketAuto stage to the pipeline. + + The pipeline. + The group by expression. + The number of buckets. + The options (optional). + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the value. + + The fluent aggregate interface. + + + + + Appends a $bucketAuto stage to the pipeline. + + The pipeline. + The group by expression. + The number of buckets. + The output projection. + The options (optional). + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the value. + The type of the output documents. + + The fluent aggregate interface. + + + + + Appends a $count stage to the pipeline. + + The pipeline. + The type of the input documents. + The type of the intermediate documents. + + A new pipeline with an additional stage. + + + + + Appends a $facet stage to the pipeline. + + The pipeline. + The facets. + The type of the input documents. + The type of the intermediate documents. + + The fluent aggregate interface. + + + + + Appends a $facet stage to the pipeline. + + The pipeline. + The facets. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + The fluent aggregate interface. + + + + + Appends a $facet stage to the pipeline. + + The pipeline. + The facets. + The type of the input documents. + The type of the intermediate documents. + + The fluent aggregate interface. + + + + + Appends a $facet stage to the pipeline. + + The pipeline. + The facets. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Used to start creating a pipeline for {TInput} documents. + + The inputSerializer serializer. + The type of the output. + + The fluent aggregate interface. + + + + + Appends a $graphLookup stage to the pipeline. + + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The stage. + + + + Appends a $graphLookup stage to the pipeline. + + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The stage. + + + + Appends a $graphLookup stage to the pipeline. + + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The stage. + + + + Appends a group stage to the pipeline. + + The pipeline. + The group projection. + The type of the input documents. + The type of the intermediate documents. + + The fluent aggregate interface. + + + + + Appends a $group stage to the pipeline. + + The pipeline. + The group projection. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a group stage to the pipeline. + + The pipeline. + The id. + The group projection. + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the key. + The type of the output documents. + + The fluent aggregate interface. + + + + + Appends a $limit stage to the pipeline. + + The pipeline. + The limit. + The type of the input documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a $lookup stage to the pipeline. + + The pipeline. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a lookup stage to the pipeline. + + The pipeline. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the output documents. + + The fluent aggregate interface. + + + + + Appends a $match stage to the pipeline. + + The pipeline. + The filter. + The type of the input documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a match stage to the pipeline. + + The pipeline. + The filter. + The type of the input documents. + The type of the output documents. + + The fluent aggregate interface. + + + + + Appends a $match stage to the pipeline to select documents of a certain type. + + The pipeline. + The output serializer. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + + Appends a $out stage to the pipeline. + + The pipeline. + The output collection. + The type of the input documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + + Appends a project stage to the pipeline. + + The pipeline. + The projection. + The type of the input documents. + The type of the intermediate documents. + + The fluent aggregate interface. + + + + + Appends a $project stage to the pipeline. + + The pipeline. + The projection. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + + Appends a project stage to the pipeline. + + The pipeline. + The projection. + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + The fluent aggregate interface. + + + + + Appends a $replaceRoot stage to the pipeline. + + The pipeline. + The new root. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a $replaceRoot stage to the pipeline. + + The pipeline. + The new root. + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + The fluent aggregate interface. + + + + + Appends a $skip stage to the pipeline. + + The pipeline. + The number of documents to skip. + The type of the input documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a $sort stage to the pipeline. + + The pipeline. + The sort definition. + The type of the input documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a $sortByCount stage to the pipeline. + + The pipeline. + The value expression. + The type of the input documents. + The type of the intermediate documents. + The type of the values. + + A new pipeline with an additional stage. + + + + + Appends a sortByCount stage to the pipeline. + + The pipeline. + The value expression. + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the values. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The pipeline. + The field to unwind. + The options. + The type of the input documents. + The type of the intermediate documents. + + The fluent aggregate interface. + + + + + Appends an $unwind stage to the pipeline. + + The pipeline. + The field. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends an unwind stage to the pipeline. + + The pipeline. + The field to unwind. + The options. + The type of the input documents. + The type of the intermediate documents. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The pipeline. + The field to unwind. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + The fluent aggregate interface. + + + + + Base class for pipeline stages. + + The type of the input. + The type of the output. + + + + + + MongoDB.Driver.PipelineStageDefinition`2 + + + + + + + Gets the type of the input. + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Gets the name of the pipeline operator. + + + + + Gets the type of the output. + + + + + Renders the specified document serializer. + + The input serializer. + The serializer registry. + A + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Methods for building pipeline stages. + + + + + Creates a $bucket stage. + + The group by expression. + The boundaries. + The options. + The type of the input documents. + The type of the values. + The stage. + + + + Creates a $bucket stage. + + The group by expression. + The boundaries. + The output projection. + The options. + The type of the input documents. + The type of the values. + The type of the output documents. + The stage. + + + + Creates a $bucket stage. + + The group by expression. + The boundaries. + The options. + The translation options. + The type of the input documents. + The type of the values. + The stage. + + + + Creates a $bucket stage. + + The group by expression. + The boundaries. + The output projection. + The options. + The translation options. + The type of the input documents. + The type of the values. + The type of the output documents. + The stage. + + + + Creates a $bucketAuto stage. + + The group by expression. + The number of buckets. + The options. + The type of the input documents. + The type of the values. + The stage. + + + + Creates a $bucketAuto stage. + + The group by expression. + The number of buckets. + The output projection. + The options. + The type of the input documents. + The type of the values. + The type of the output documents. + The stage. + + + + Creates a $bucketAuto stage. + + The group by expression. + The number of buckets. + The options (optional). + The translation options. + The type of the input documents. + The type of the value. + The stage. + + + + Creates a $bucketAuto stage. + + The group by expression. + The number of buckets. + The output projection. + The options (optional). + The translation options. + The type of the input documents. + The type of the output documents. + The type of the output documents. + The stage. + + + + Creates a $count stage. + + The type of the input documents. + The stage. + + + + Creates a $facet stage. + + The facets. + The type of the input documents. + The stage. + + + + Creates a $facet stage. + + The facets. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates a $facet stage. + + The facets. + The type of the input documents. + The stage. + + + + Creates a $facet stage. + + The facets. + The options. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates a $graphLookup stage. + + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The type of the input documents. + The type of the from documents. + The fluent aggregate interface. + + + + Creates a $graphLookup stage. + + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The stage. + + + + Creates a $graphLookup stage. + + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The stage. + + + + Creates a $graphLookup stage. + + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The translation options. + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The stage. + + + + Creates a $graphLookup stage. + + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The translation options. + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The stage. + + + + Creates a $group stage. + + The group projection. + The type of the input documents. + The stage. + + + + Creates a $group stage. + + The group projection. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates a $group stage. + + The value field. + The group projection. + The translation options. + The type of the input documents. + The type of the values. + The type of the output documents. + The stage. + + + + Creates a $limit stage. + + The limit. + The type of the input documents. + The stage. + + + + Creates a $lookup stage. + + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + The type of the input documents. + The type of the foreign collection documents. + The type of the output documents. + The stage. + + + + Creates a $lookup stage. + + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + The type of the input documents. + The type of the foreign collection documents. + The type of the output documents. + The stage. + + + + Creates a $match stage. + + The filter. + The type of the input documents. + The stage. + + + + Creates a $match stage. + + The filter. + The type of the input documents. + The stage. + + + + Create a $match stage that select documents of a sub type. + + The output serializer. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates a $out stage. + + The output collection. + The type of the input documents. + The stage. + + + + Creates a $project stage. + + The projection. + The type of the input documents. + The stage. + + + + Creates a $project stage. + + The projection. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates a $project stage. + + The projection. + The translation options. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates a $replaceRoot stage. + + The new root. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates a $replaceRoot stage. + + The new root. + The translation options. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates a $skip stage. + + The skip. + The type of the input documents. + The stage. + + + + Creates a $sort stage. + + The sort. + The type of the input documents. + The stage. + + + + Creates a $sortByCount stage. + + The value expression. + The type of the input documents. + The type of the values. + The stage. + + + + Creates a $sortByCount stage. + + The value. + The translation options. + The type of the input documents. + The type of the values. + The stage. + + + + Creates an $unwind stage. + + The field to unwind. + The options. + The type of the input documents. + The stage. + + + + Creates an $unwind stage. + + The field. + The options. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates an $unwind stage. + + The field to unwind. + The options. + The type of the input documents. + The stage. + + + + Creates an $unwind stage. + + The field to unwind. + The options. + The type of the input documents. + The type of the output documents. + The stage. + + + + A pipeline composed of instances of . + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The stages. + The output serializer. + + + + Gets the output serializer. + + + + + Renders the pipeline. + + The input serializer. + The serializer registry. + A + + + + Gets the serializer. + + + + + Gets the stages. + + + + + Represents a pipeline consisting of an existing pipeline with one additional stage prepended. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + Initializes a new instance of the class. + + The stage. + The pipeline. + The output serializer. + + + + Gets the output serializer. + + + + + Renders the pipeline. + + The input serializer. + The serializer registry. + A + + + + Gets the stages. + + + + + Base class for projections whose projection type is not yet known. + + The type of the source. + + + + + + MongoDB.Driver.ProjectionDefinition`1 + + + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + Base class for projections. + + The type of the source. + The type of the projection. + + + + + + MongoDB.Driver.ProjectionDefinition`2 + + + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The projection. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + A builder for a projection. + + The type of the source. + + + + + + MongoDB.Driver.ProjectionDefinitionBuilder`1 + + + + + + + Creates a client side projection that is implemented solely by using a different serializer. + + The projection serializer. + The type of the projection. + A client side deserialization projection. + + + + Combines the specified projections. + + The projections. + + A combined projection. + + + + + Combines the specified projections. + + The projections. + + A combined projection. + + + + + Creates a projection that filters the contents of an array. + + The field. + The filter. + The type of the item. + + An array filtering projection. + + + + + Creates a projection that filters the contents of an array. + + The field. + The filter. + The type of the item. + + An array filtering projection. + + + + + Creates a projection that filters the contents of an array. + + The field. + The filter. + The type of the item. + + An array filtering projection. + + + + + Creates a projection that excludes a field. + + The field. + + An exclusion projection. + + + + + Creates a projection that excludes a field. + + The field. + + An exclusion projection. + + + + + Creates a projection based on the expression. + + The expression. + The type of the result. + + An expression projection. + + + + + Creates a projection that includes a field. + + The field. + + An inclusion projection. + + + + + Creates a projection that includes a field. + + The field. + + An inclusion projection. + + + + + Creates a text score projection. + + The field. + + A text score projection. + + + + + Creates an array slice projection. + + The field. + The skip. + The limit. + + An array slice projection. + + + + + Creates an array slice projection. + + The field. + The skip. + The limit. + + An array slice projection. + + + + + Extension methods for projections. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The projection. + The field. + The filter. + The type of the document. + The type of the item. + + A combined projection. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The projection. + The field. + The filter. + The type of the document. + The type of the item. + + A combined projection. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The projection. + The field. + The filter. + The type of the document. + The type of the item. + + A combined projection. + + + + + Combines an existing projection with a projection that excludes a field. + + The projection. + The field. + The type of the document. + + A combined projection. + + + + + Combines an existing projection with a projection that excludes a field. + + The projection. + The field. + The type of the document. + + A combined projection. + + + + + Combines an existing projection with a projection that includes a field. + + The projection. + The field. + The type of the document. + + A combined projection. + + + + + Combines an existing projection with a projection that includes a field. + + The projection. + The field. + The type of the document. + + A combined projection. + + + + + Combines an existing projection with a text score projection. + + The projection. + The field. + The type of the document. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The projection. + The field. + The skip. + The limit. + The type of the document. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The projection. + The field. + The skip. + The limit. + The type of the document. + + A combined projection. + + + + + Options for renaming a collection. + + + + + + + MongoDB.Driver.RenameCollectionOptions + + + + + + + Gets or sets a value indicating whether to drop the target collection first if it already exists. + + + + + A rendered command. + + The type of the result. + + + + Initializes a new instance of the class. + + The document. + The result serializer. + + + + Gets the document. + + + + + Gets the result serializer. + + + + + A rendered field. + + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + + + + Gets the field name. + + + + + Gets the field serializer. + + + + + A rendered field. + + The type of the field. + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + The value serializer. + The underlying serializer. + + + + Gets the field name. + + + + + Gets the field serializer. + + + + + Gets the underlying serializer. + + + + + Gets the value serializer. + + + + + A rendered pipeline. + + The type of the output. + + + + Initializes a new instance of the class. + + The pipeline. + The output serializer. + + + + Gets the documents. + + + + + Gets the serializer. + + + + + A rendered pipeline stage. + + The type of the output. + + + + Initializes a new instance of the class. + + Name of the pipeline operator. + The document. + The output serializer. + + + + Gets the document. + + + + + Gets the name of the pipeline operator. + + + + + Gets the output serializer. + + + + + A rendered projection. + + The type of the projection. + + + + Initializes a new instance of the class. + + The document. + The projection serializer. + + + + Gets the document. + + + + + Gets the serializer. + + + + + Model for replacing a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The replacement. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets the type of the model. + + + + + Gets the replacement. + + + + + The result of an update operation. + + + + + Initializes a new instance of the class. + + + + + Gets a value indicating whether the result is acknowleded. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + The result of an acknowledged update operation. + + + + + Initializes a new instance of the class. + + The matched count. + The modified count. + The upserted id. + + + + Gets a value indicating whether the result is acknowleded. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + The result of an unacknowledged update operation. + + + + + Gets the instance. + + + + + Gets a value indicating whether the result is acknowleded. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + Represents a pipeline with the output serializer replaced. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + Initializes a new instance of the class. + + The pipeline. + The output serializer. + + + + Gets the output serializer. + + + + + Renders the pipeline. + + The input serializer. + The serializer registry. + A + + + + Gets the stages. + + + + + Which version of the document to return when executing a FindAndModify command. + + + + + Return the document before the modification. + + + + + Return the document after the modification. + + + + + Represents a setting that may or may not have been set. + + The type of the value. + + + + Gets a value indicating whether the setting has been set. + + + + + Resets the setting to the unset state. + + + + + Gets a canonical string representation for this setting. + + A canonical string representation for this setting. + + + + Gets the value of the setting. + + + + + Base class for sorts. + + The type of the document. + + + + + + MongoDB.Driver.SortDefinition`1 + + + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Renders the sort to a . + + The document serializer. + The serializer registry. + A . + + + + A builder for a . + + The type of the document. + + + + + + MongoDB.Driver.SortDefinitionBuilder`1 + + + + + + + Creates an ascending sort. + + The field. + An ascending sort. + + + + Creates an ascending sort. + + The field. + An ascending sort. + + + + Creates a combined sort. + + The sorts. + A combined sort. + + + + Creates a combined sort. + + The sorts. + A combined sort. + + + + Creates a descending sort. + + The field. + A descending sort. + + + + Creates a descending sort. + + The field. + A descending sort. + + + + Creates a descending sort on the computed relevance score of a text search. + The name of the key should be the name of the projected relevence score field. + + The field. + A meta text score sort. + + + + Extension methods for SortDefinition. + + + + + Combines an existing sort with an ascending field. + + The sort. + The field. + The type of the document. + + A combined sort. + + + + + Combines an existing sort with an ascending field. + + The sort. + The field. + The type of the document. + + A combined sort. + + + + + Combines an existing sort with an descending field. + + The sort. + The field. + The type of the document. + + A combined sort. + + + + + Combines an existing sort with an descending field. + + The sort. + The field. + The type of the document. + + A combined sort. + + + + + Combines an existing sort with a descending sort on the computed relevance score of a text search. + The field name should be the name of the projected relevance score field. + + The sort. + The field. + The type of the document. + + A combined sort. + + + + + The direction of the sort. + + + + + Ascending. + + + + + Descending. + + + + + Represents the settings for using SSL. + + + + + + + MongoDB.Driver.SslSettings + + + + + + + Gets or sets a value indicating whether to check for certificate revocation. + + + + + Gets or sets the client certificates. + + + + + Gets or sets the client certificate selection callback. + + + + + Clones an SslSettings. + + The cloned SslSettings. + + + + Gets or sets the enabled SSL protocols. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Freezes the settings. + + The frozen settings. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Gets or sets the server certificate validation callback. + + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + A based field name. + + The type of the document. + + + + Initializes a new instance of the class. + + Name of the field. + + + + Renders the field to a . + + The document serializer. + The serializer registry. + A . + + + + A based field name. + + The type of the document. + The type of the field. + + + + Initializes a new instance of the class. + + Name of the field. + The field serializer. + + + + Renders the field to a . + + The document serializer. + The serializer registry. + A . + + + + Represents text search options. + + + + + + + MongoDB.Driver.TextSearchOptions + + + + + + + Gets or sets whether a text search should be case sensitive. + + + + + Gets or sets whether a text search should be diacritic sensitive. + + + + + Gets or sets the language for a text search. + + + + + Base class for updates. + + The type of the document. + + + + + + MongoDB.Driver.UpdateDefinition`1 + + + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Renders the update to a . + + The document serializer. + The serializer registry. + A . + + + + A builder for an . + + The type of the document. + + + + + + MongoDB.Driver.UpdateDefinitionBuilder`1 + + + + + + + Creates an add to set operator. + + The field. + The value. + The type of the item. + An add to set operator. + + + + Creates an add to set operator. + + The field. + The value. + The type of the item. + An add to set operator. + + + + Creates an add to set operator. + + The field. + The values. + The type of the item. + An add to set operator. + + + + Creates an add to set operator. + + The field. + The values. + The type of the item. + An add to set operator. + + + + Creates a bitwise and operator. + + The field. + The value. + The type of the field. + A bitwise and operator. + + + + Creates a bitwise and operator. + + The field. + The value. + The type of the field. + A bitwise and operator. + + + + Creates a bitwise or operator. + + The field. + The value. + The type of the field. + A bitwise or operator. + + + + Creates a bitwise or operator. + + The field. + The value. + The type of the field. + A bitwise or operator. + + + + Creates a bitwise xor operator. + + The field. + The value. + The type of the field. + A bitwise xor operator. + + + + Creates a bitwise xor operator. + + The field. + The value. + The type of the field. + A bitwise xor operator. + + + + Creates a combined update. + + The updates. + A combined update. + + + + Creates a combined update. + + The updates. + A combined update. + + + + Creates a current date operator. + + The field. + The type. + A current date operator. + + + + Creates a current date operator. + + The field. + The type. + A current date operator. + + + + Creates an increment operator. + + The field. + The value. + The type of the field. + An increment operator. + + + + Creates an increment operator. + + The field. + The value. + The type of the field. + An increment operator. + + + + Creates a max operator. + + The field. + The value. + The type of the field. + A max operator. + + + + Creates a max operator. + + The field. + The value. + The type of the field. + A max operator. + + + + Creates a min operator. + + The field. + The value. + The type of the field. + A min operator. + + + + Creates a min operator. + + The field. + The value. + The type of the field. + A min operator. + + + + Creates a multiply operator. + + The field. + The value. + The type of the field. + A multiply operator. + + + + Creates a multiply operator. + + The field. + The value. + The type of the field. + A multiply operator. + + + + Creates a pop operator. + + The field. + A pop operator. + + + + Creates a pop first operator. + + The field. + A pop first operator. + + + + Creates a pop operator. + + The field. + A pop operator. + + + + Creates a pop first operator. + + The field. + A pop first operator. + + + + Creates a pull operator. + + The field. + The value. + The type of the item. + A pull operator. + + + + Creates a pull operator. + + The field. + The value. + The type of the item. + A pull operator. + + + + Creates a pull operator. + + The field. + The values. + The type of the item. + A pull operator. + + + + Creates a pull operator. + + The field. + The values. + The type of the item. + A pull operator. + + + + Creates a pull operator. + + The field. + The filter. + The type of the item. + A pull operator. + + + + Creates a pull operator. + + The field. + The filter. + The type of the item. + A pull operator. + + + + Creates a pull operator. + + The field. + The filter. + The type of the item. + A pull operator. + + + + Creates a push operator. + + The field. + The value. + The type of the item. + A push operator. + + + + Creates a push operator. + + The field. + The value. + The type of the item. + A push operator. + + + + Creates a push operator. + + The field. + The values. + The slice. + The position. + The sort. + The type of the item. + A push operator. + + + + Creates a push operator. + + The field. + The values. + The slice. + The position. + The sort. + The type of the item. + A push operator. + + + + Creates a field renaming operator. + + The field. + The new name. + A field rename operator. + + + + Creates a field renaming operator. + + The field. + The new name. + A field rename operator. + + + + Creates a set operator. + + The field. + The value. + The type of the field. + A set operator. + + + + Creates a set operator. + + The field. + The value. + The type of the field. + A set operator. + + + + Creates a set on insert operator. + + The field. + The value. + The type of the field. + A set on insert operator. + + + + Creates a set on insert operator. + + The field. + The value. + The type of the field. + A set on insert operator. + + + + Creates an unset operator. + + The field. + An unset operator. + + + + Creates an unset operator. + + The field. + An unset operator. + + + + The type to use for a $currentDate operator. + + + + + A date. + + + + + A timestamp. + + + + + Extension methods for UpdateDefinition. + + + + + Combines an existing update with an add to set operator. + + The update. + The field. + The value. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The update. + The field. + The value. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The update. + The field. + The values. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The update. + The field. + The values. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a bitwise and operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a bitwise and operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a bitwise or operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a bitwise or operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a bitwise xor operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a bitwise xor operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a current date operator. + + The update. + The field. + The type. + The type of the document. + + A combined update. + + + + + Combines an existing update with a current date operator. + + The update. + The field. + The type. + The type of the document. + + A combined update. + + + + + Combines an existing update with an increment operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with an increment operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a max operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a max operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a min operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a min operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a multiply operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a multiply operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The update. + The field. + The type of the document. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The update. + The field. + The type of the document. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The update. + The field. + The type of the document. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The update. + The field. + The type of the document. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The update. + The field. + The value. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The update. + The field. + The value. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The update. + The field. + The values. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The update. + The field. + The values. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The update. + The field. + The filter. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The update. + The field. + The filter. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The update. + The field. + The filter. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a push operator. + + The update. + The field. + The value. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a push operator. + + The update. + The field. + The value. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a push operator. + + The update. + The field. + The values. + The slice. + The position. + The sort. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a push operator. + + The update. + The field. + The values. + The slice. + The position. + The sort. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a field renaming operator. + + The update. + The field. + The new name. + The type of the document. + + A combined update. + + + + + Combines an existing update with a field renaming operator. + + The update. + The field. + The new name. + The type of the document. + + A combined update. + + + + + Combines an existing update with a set operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a set operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a set on insert operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a set on insert operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with an unset operator. + + The update. + The field. + The type of the document. + + A combined update. + + + + + Combines an existing update with an unset operator. + + The update. + The field. + The type of the document. + + A combined update. + + + + + Model for updating many documents. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The update. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets the type of the model. + + + + + Gets the update. + + + + + Model for updating a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The update. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets the type of the model. + + + + + Gets the update. + + + + + Options for updating a single document. + + + + + + + MongoDB.Driver.UpdateOptions + + + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + The result of an update operation. + + + + + Initializes a new instance of the class. + + + + + Gets a value indicating whether the result is acknowleded. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + The result of an acknowledgede update operation. + + + + + Initializes a new instance of the class. + + The matched count. + The modified count. + The upserted id. + + + + Gets a value indicating whether the result is acknowleded. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + The result of an acknowledgede update operation. + + + + + Gets the instance. + + + + + Gets a value indicating whether the result is acknowleded. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + Represents the details of a write concern error. + + + + + Gets the error code. + + + + + Gets the error information. + + + + + Gets the error message. + + + + + Represents the details of a write error. + + + + + Gets the category. + + + + + Gets the error code. + + + + + Gets the error details. + + + + + Gets the error message. + + + + + Base class for a write model. + + The type of the document. + + + + Gets the type of the model. + + + + + The type of a write model. + + + + + A model to insert a single document. + + + + + A model to delete a single document. + + + + + A model to delete multiple documents. + + + + + A model to replace a single document. + + + + + A model to update a single document. + + + + + A model to update many documents. + + + + + A static class containing helper methods to create GeoJson objects. + + + + + Creates a GeoJson bounding box. + + The min. + The max. + The type of the coordinates. + A GeoJson bounding box. + + + + Creates a GeoJson Feature object. + + The additional args. + The geometry. + The type of the coordinates. + A GeoJson Feature object. + + + + Creates a GeoJson Feature object. + + The geometry. + The type of the coordinates. + A GeoJson Feature object. + + + + Creates a GeoJson FeatureCollection object. + + The features. + The type of the coordinates. + A GeoJson FeatureCollection object. + + + + Creates a GeoJson FeatureCollection object. + + The additional args. + The features. + The type of the coordinates. + A GeoJson FeatureCollection object. + + + + Creates a GeoJson 2D geographic position (longitude, latitude). + + The longitude. + The latitude. + A GeoJson 2D geographic position. + + + + Creates a GeoJson 3D geographic position (longitude, latitude, altitude). + + The longitude. + The latitude. + The altitude. + A GeoJson 3D geographic position. + + + + Creates a GeoJson GeometryCollection object. + + The geometries. + The type of the coordinates. + A GeoJson GeometryCollection object. + + + + Creates a GeoJson GeometryCollection object. + + The additional args. + The geometries. + The type of the coordinates. + A GeoJson GeometryCollection object. + + + + Creates the coordinates of a GeoJson linear ring. + + The positions. + The type of the coordinates. + The coordinates of a GeoJson linear ring. + + + + Creates a GeoJson LineString object. + + The additional args. + The positions. + The type of the coordinates. + A GeoJson LineString object. + + + + Creates a GeoJson LineString object. + + The positions. + The type of the coordinates. + A GeoJson LineString object. + + + + Creates the coordinates of a GeoJson LineString. + + The positions. + The type of the coordinates. + The coordinates of a GeoJson LineString. + + + + Creates a GeoJson MultiLineString object. + + The line strings. + The type of the coordinates. + A GeoJson MultiLineString object. + + + + Creates a GeoJson MultiLineString object. + + The additional args. + The line strings. + The type of the coordinates. + A GeoJson MultiLineString object. + + + + Creates a GeoJson MultiPoint object. + + The additional args. + The positions. + The type of the coordinates. + A GeoJson MultiPoint object. + + + + Creates a GeoJson MultiPoint object. + + The positions. + The type of the coordinates. + A GeoJson MultiPoint object. + + + + Creates a GeoJson MultiPolygon object. + + The additional args. + The polygons. + The type of the coordinates. + A GeoJson MultiPolygon object. + + + + Creates a GeoJson MultiPolygon object. + + The polygons. + The type of the coordinates. + A GeoJson MultiPolygon object. + + + + Creates a GeoJson Point object. + + The additional args. + The coordinates. + The type of the coordinates. + A GeoJson Point object. + + + + Creates a GeoJson Point object. + + The coordinates. + The type of the coordinates. + A GeoJson Point object. + + + + Creates a GeoJson Polygon object. + + The additional args. + The coordinates. + The type of the coordinates. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The additional args. + The positions. + The type of the coordinates. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The coordinates. + The type of the coordinates. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The positions. + The type of the coordinates. + A GeoJson Polygon object. + + + + Creates the coordinates of a GeoJson Polygon object. + + The exterior. + The holes. + The type of the coordinates. + The coordinates of a GeoJson Polygon object. + + + + Creates the coordinates of a GeoJson Polygon object. + + The positions. + The type of the coordinates. + The coordinates of a GeoJson Polygon object. + + + + Creates a GeoJson 2D position (x, y). + + The x. + The y. + A GeoJson 2D position. + + + + Creates a GeoJson 3D position (x, y, z). + + The x. + The y. + The z. + A GeoJson 3D position. + + + + Creates a GeoJson 2D projected position (easting, northing). + + The easting. + The northing. + A GeoJson 2D projected position. + + + + Creates a GeoJson 3D projected position (easting, northing, altitude). + + The easting. + The northing. + The altitude. + A GeoJson 3D projected position. + + + + Represents a GeoJson 2D position (x, y). + + + + + Initializes a new instance of the class. + + The x coordinate. + The y coordinate. + + + + Gets the coordinate values. + + + + + Gets the X coordinate. + + + + + Gets the Y coordinate. + + + + + Represents a GeoJson 2D geographic position (longitude, latitude). + + + + + Initializes a new instance of the class. + + The longitude. + The latitude. + + + + Gets the latitude. + + + + + Gets the longitude. + + + + + Gets the coordinate values. + + + + + Represents a GeoJson 2D projected position (easting, northing). + + + + + Initializes a new instance of the class. + + The easting. + The northing. + + + + Gets the easting. + + + + + Gets the northing. + + + + + Gets the coordinate values. + + + + + Represents a GeoJson 3D position (x, y, z). + + + + + Initializes a new instance of the class. + + The x coordinate. + The y coordinate. + The z coordinate. + + + + Gets the coordinate values. + + + + + Gets the X coordinate. + + + + + Gets the Y coordinate. + + + + + Gets the Z coordinate. + + + + + Represents a GeoJson 3D geographic position (longitude, latitude, altitude). + + + + + Initializes a new instance of the class. + + The longitude. + The latitude. + The altitude. + + + + Gets the altitude. + + + + + Gets the latitude. + + + + + Gets the longitude. + + + + + Gets the coordinate values. + + + + + Represents a GeoJson 3D projected position (easting, northing, altitude). + + + + + Initializes a new instance of the class. + + The easting. + The northing. + The altitude. + + + + Gets the altitude. + + + + + Gets the easting. + + + + + Gets the northing. + + + + + Gets the coordinate values. + + + + + Represents a GeoJson bounding box. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The min. + The max. + + + + Gets the max. + + + + + Gets the min. + + + + + Represents a GeoJson coordinate reference system (see subclasses). + + + + + + + MongoDB.Driver.GeoJsonObjectModel.GeoJsonCoordinateReferenceSystem + + + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson position in some coordinate system (see subclasses). + + + + + + + MongoDB.Driver.GeoJsonObjectModel.GeoJsonCoordinates + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Gets the coordinate values. + + + + + Represents a GeoJson Feature object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The geometry. + + + + Initializes a new instance of the class. + + The geometry. + + + + Gets the geometry. + + + + + Gets the id. + + + + + Gets the properties. + + + + + Gets the type of the GeoJson object. + + + + + Represents additional arguments for a GeoJson Feature object. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.GeoJsonFeatureArgs`1 + + + + + + + Gets or sets the id. + + + + + Gets or sets the properties. + + + + + Represents a GeoJson FeatureCollection. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The features. + + + + Initializes a new instance of the class. + + The features. + + + + Gets the features. + + + + + Gets the type of the GeoJson object. + + + + + Represents a GeoJson Geometry object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + + + + Represents a GeoJson GeometryCollection object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The geometries. + + + + Initializes a new instance of the class. + + The geometries. + + + + Gets the geometries. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson linear ring. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Represents a GeoJson LineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson LineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Gets the positions. + + + + + Represents a GeoJson linked coordinate reference system. + + + + + Initializes a new instance of the class. + + The href. + + + + Initializes a new instance of the class. + + The href. + Type of the href. + + + + Gets the href. + + + + + Gets the type of the href. + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson MultiLineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiLineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The line strings. + + + + Gets the LineStrings. + + + + + Represents a GeoJson MultiPoint object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiPoint object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Gets the positions. + + + + + Represents a GeoJson MultiPolygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiPolygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The polygons. + + + + Gets the Polygons. + + + + + Represents a GeoJson named coordinate reference system. + + + + + Initializes a new instance of the class. + + The name. + + + + Gets the name. + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson object (see subclasses). + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + + + + Gets the bounding box. + + + + + Gets the coordinate reference system. + + + + + Gets the extra members. + + + + + Gets the type of the GeoJson object. + + + + + Represents additional args provided when creating a GeoJson object. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.GeoJsonObjectArgs`1 + + + + + + + Gets or sets the bounding box. + + + + + Gets or sets the coordinate reference system. + + + + + Gets or sets the extra members. + + + + + Represents the type of a GeoJson object. + + + + + A Feature. + + + + + A FeatureCollection. + + + + + A GeometryCollection. + + + + + A LineString. + + + + + A MultiLineString. + + + + + A MultiPoint. + + + + + A MultiPolygon. + + + + + A Point. + + + + + A Polygon. + + + + + Represents a GeoJson Point object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents a GeoJson Polygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson Polygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The exterior. + + + + Initializes a new instance of the class. + + The exterior. + The holes. + + + + Gets the exterior. + + + + + Gets the holes. + + + + + Represents a serializer for a GeoJson2DCoordinates value. + + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJson2DCoordinatesSerializer + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson2DGeographicCoordinates value. + + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJson2DGeographicCoordinatesSerializer + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson2DProjectedCoordinates value. + + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJson2DProjectedCoordinatesSerializer + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DCoordinates value. + + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJson3DCoordinatesSerializer + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DGeographicCoordinates value. + + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJson3DGeographicCoordinatesSerializer + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DProjectedCoordinates value. + + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJson3DProjectedCoordinatesSerializer + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonBoundingBox value. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonBoundingBoxSerializer`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonCoordinateReferenceSystem value. + + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonCoordinateReferenceSystemSerializer + + + + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonCoordinates value. + + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonCoordinatesSerializer + + + + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonFeatureCollection value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonFeature value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonGeometryCollection value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonGeometry value. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonGeometrySerializer`1 + + + + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonLinearRingCoordinates value. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonLinearRingCoordinatesSerializer`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLineStringCoordinates value. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonLineStringCoordinatesSerializer`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLineString value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLinkedCoordinateReferenceSystem value. + + + + + Initializes a new instance of the class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiLineStringCoordinates value. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonMultiLineStringCoordinatesSerializer`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiLineString value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPointCoordinates value. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonMultiPointCoordinatesSerializer`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPoint value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPolygonCoordinates value. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonMultiPolygonCoordinatesSerializer`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPolygon value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonNamedCoordinateReferenceSystem value. + + + + + Initializes a new instance of the class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson object. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonObjectSerializer`1 + + + + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer helper for GeoJsonObjects. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The type. + The derived members. + + + + Deserializes a base member. + + The context. + The element name. + The flag. + The arguments. + + + + Serializes the members. + + The context. + The value. + The delegate to serialize the derived members. + The type of the value. + + + + Represents a serializer for a GeoJsonPoint value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonPolygonCoordinates value. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonPolygonCoordinatesSerializer`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonPolygon value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + A model for a queryable to be executed using the aggregation framework. + + The type of the output. + + + + Gets the output serializer. + + + + + Gets the type of the output. + + + + + Gets the stages. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Provides functionality to evaluate queries against MongoDB. + + + + + Gets the execution model. + + + The execution model. + + + + + Provides functionality to evaluate queries against MongoDB + wherein the type of the data is known. + + + The type of the data in the data source. + This type parameter is covariant. + That is, you can use either the type you specified or any type that is more + derived. For more information about covariance and contravariance, see Covariance + and Contravariance in Generics. + + + + + Represents the result of a sorting operation. + + + The type of the data in the data source. + This type parameter is covariant. + That is, you can use either the type you specified or any type that is more + derived. For more information about covariance and contravariance, see Covariance + and Contravariance in Generics. + + + + + This static class holds methods that can be used to express MongoDB specific operations in LINQ queries. + + + + + Injects a low level FilterDefinition{TDocument} into a LINQ where clause. Can only be used in LINQ queries. + + The filter. + The type of the document. + + Throws an InvalidOperationException if called. + + + + + Enumerable Extensions for MongoDB. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Extension for . + + + + + Determines whether any element of a sequence satisfies a condition. + + A sequence whose elements to test for a condition. + A function to test each element for a condition. + The cancellation token. + The type of the elements of . + + true if any elements in the source sequence pass the test in the specified predicate; otherwise, false. + + + + + Determines whether a sequence contains any elements. + + A sequence to check for being empty. + The cancellation token. + The type of the elements of . + + true if the source sequence contains any elements; otherwise, false. + + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Returns the number of elements in the specified sequence that satisfies a condition. + + An that contains the elements to be counted. + A function to test each element for a condition. + The cancellation token. + The type of the elements of . + + The number of elements in the sequence that satisfies the condition in the predicate function. + + + + + Returns the number of elements in a sequence. + + The that contains the elements to be counted. + The cancellation token. + The type of the elements of . + + The number of elements in the input sequence. + + + + + Returns distinct elements from a sequence by using the default equality comparer to compare values. + + The to remove duplicates from. + The type of the elements of . + + An that contains distinct elements from . + + + + + Returns the first element of a sequence that satisfies a specified condition. + + An to return an element from. + A function to test each element for a condition. + The cancellation token. + The type of the elements of . + + The first element in that passes the test in . + + + + + Returns the first element of a sequence. + + The to return the first element of. + The cancellation token. + The type of the elements of . + + The first element in . + + + + + Returns the first element of a sequence that satisfies a specified condition or a default value if no such element is found. + + An to return an element from. + A function to test each element for a condition. + The cancellation token. + The type of the elements of . + + default() if is empty or if no element passes the test specified by ; otherwise, the first element in that passes the test specified by . + + + + + Returns the first element of a sequence, or a default value if the sequence contains no elements. + + The to return the first element of. + The cancellation token. + The type of the elements of . + + default() if is empty; otherwise, the first element in . + + + + + Groups the elements of a sequence according to a specified key selector function. + + An whose elements to group. + A function to extract the key for each element. + The type of the elements of . + The type of the key returned by the function represented in keySelector. + + An that has a type argument of + and where each object contains a sequence of objects + and a key. + + + + + Groups the elements of a sequence according to a specified key selector function + and creates a result value from each group and its key. + + An whose elements to group. + A function to extract the key for each element. + A function to create a result value from each group. + The type of the elements of . + The type of the key returned by the function represented in keySelector. + The type of the result value returned by resultSelector. + + An that has a type argument of TResult and where + each element represents a projection over a group and its key. + + + + + Correlates the elements of two sequences based on key equality and groups the results. + + The first sequence to join. + The collection to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from an element from the first sequence and a collection of matching elements from the second sequence. + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + + An that contains elements of type obtained by performing a grouped join on two sequences. + + + + + Correlates the elements of two sequences based on key equality and groups the results. + + The first sequence to join. + The sequence to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from an element from the first sequence and a collection of matching elements from the second sequence. + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + + An that contains elements of type obtained by performing a grouped join on two sequences. + + + + + Correlates the elements of two sequences based on matching keys. + + The first sequence to join. + The sequence to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from two matching elements. + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + + An that has elements of type obtained by performing an inner join on two sequences. + + + + + Correlates the elements of two sequences based on matching keys. + + The first sequence to join. + The sequence to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from two matching elements. + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + + An that has elements of type obtained by performing an inner join on two sequences. + + + + + Returns the number of elements in the specified sequence that satisfies a condition. + + An that contains the elements to be counted. + A function to test each element for a condition. + The cancellation token. + The type of the elements of . + + The number of elements in the sequence that satisfies the condition in the predicate function. + + + + + Returns the number of elements in a sequence. + + The that contains the elements to be counted. + The cancellation token. + The type of the elements of . + + The number of elements in the input sequence. + + + + + Invokes a projection function on each element of a generic and returns the maximum resulting value. + + A sequence of values to determine the maximum of. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + The type of the value returned by the function represented by . + + The maximum value in the sequence. + + + + + Returns the maximum value in a generic . + + A sequence of values to determine the maximum of. + The cancellation token. + The type of the elements of . + + The maximum value in the sequence. + + + + + Invokes a projection function on each element of a generic and returns the minimum resulting value. + + A sequence of values to determine the minimum of. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + The type of the value returned by the function represented by . + + The minimum value in the sequence. + + + + + Returns the minimum value in a generic . + + A sequence of values to determine the minimum of. + The cancellation token. + The type of the elements of . + + The minimum value in the sequence. + + + + + Filters the elements of an based on a specified type. + + An whose elements to filter. + The type to filter the elements of the sequence on. + + A collection that contains the elements from that have type . + + + + + Sorts the elements of a sequence in ascending order according to a key. + + A sequence of values to order. + A function to extract a key from an element. + The type of the elements of . + The type of the key returned by the function that is represented by keySelector. + + An whose elements are sorted according to a key. + + + + + Sorts the elements of a sequence in descending order according to a key. + + A sequence of values to order. + A function to extract a key from an element. + The type of the elements of . + The type of the key returned by the function that is represented by keySelector. + + An whose elements are sorted in descending order according to a key. + + + + + Returns a sample of the elements in the . + + An to return a sample of. + The number of elements in the sample. + The type of the elements of . + + A sample of the elements in the . + + + + + Projects each element of a sequence into a new form by incorporating the + element's index. + + A sequence of values to project. + A projection function to apply to each element. + The type of the elements of . + The type of the value returned by the function represented by selector. + + An whose elements are the result of invoking a + projection function on each element of source. + + + + + Projects each element of a sequence to an and + invokes a result selector function on each element therein. The resulting values from + each intermediate sequence are combined into a single, one-dimensional sequence and returned. + + A sequence of values to project. + A projection function to apply to each element of the input sequence. + A projection function to apply to each element of each intermediate sequence. + The type of the elements of . + The type of the intermediate elements collected by the function represented by . + The type of the elements of the resulting sequence. + + An whose elements are the result of invoking the one-to-many projection function on each element of and then mapping each of those sequence elements and their corresponding element to a result element. + + + + + Projects each element of a sequence to an and combines the resulting sequences into one sequence. + + A sequence of values to project. + A projection function to apply to each element. + The type of the elements of . + The type of the elements of the sequence returned by the function represented by . + + An whose elements are the result of invoking a one-to-many projection function on each element of the input sequence. + + + + + Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists. + + An to return a single element from. + A function to test an element for a condition. + The cancellation token. + The type of the elements of . + + The single element of the input sequence that satisfies the condition in . + + + + + Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence. + + An to return the single element of. + The cancellation token. + The type of the elements of . + + The single element of the input sequence. + + + + + Returns the only element of a sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition. + + An to return a single element from. + A function to test an element for a condition. + The cancellation token. + The type of the elements of . + + The single element of the input sequence that satisfies the condition in , or default() if no such element is found. + + + + + Returns the only element of a sequence, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence. + + An to return the single element of. + The cancellation token. + The type of the elements of . + + The single element of the input sequence, or default() if the sequence contains no elements. + + + + + Bypasses a specified number of elements in a sequence and then returns the + remaining elements. + + An to return elements from. + The number of elements to skip before returning the remaining elements. + The type of the elements of source + + An that contains elements that occur after the + specified index in the input sequence. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Returns a specified number of contiguous elements from the start of a sequence. + + The sequence to return elements from. + The number of elements to return. + The type of the elements of . + + An that contains the specified number of elements + from the start of source. + + + + + Performs a subsequent ordering of the elements in a sequence in ascending + order according to a key. + + A sequence of values to order. + A function to extract a key from an element. + The type of the elements of . + The type of the key returned by the function that is represented by keySelector. + + An whose elements are sorted according to a key. + + + + + Performs a subsequent ordering of the elements in a sequence in descending + order according to a key. + + A sequence of values to order. + A function to extract a key from an element. + The type of the elements of . + The type of the key returned by the function that is represented by keySelector. + + An whose elements are sorted in descending order according to a key. + + + + + Filters a sequence of values based on a predicate. + + An to return elements from. + A function to test each element for a condition. + The type of the elements of . + + An that contains elements from the input sequence + that satisfy the condition specified by predicate. + + + + + An execution model. + + + + + Gets the type of the output. + + + + \ No newline at end of file diff --git a/BuechermarktClient/bin/Debug/Newtonsoft.Json.xml b/BuechermarktClient/bin/Debug/Newtonsoft.Json.xml new file mode 100644 index 0000000..de78eb0 --- /dev/null +++ b/BuechermarktClient/bin/Debug/Newtonsoft.Json.xml @@ -0,0 +1,10760 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Initializes a new instance of the class. + + The Oid value. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. + + + + + Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. + + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Initializes a new instance of the class. + + The to write to. + + + + Initializes a new instance of the class. + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a JSON array. + + + + + Writes the beginning of a JSON object. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a parameterized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Creates a custom object. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). + + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets a value indicating whether integer values are allowed when deserializing. + + true if integers are allowed when deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + true if the written enum text will be camel case; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. + + The name of the deserialized root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attribute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + true if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that it is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and set members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface for using pooled arrays. + + The array type content. + + + + Rent an array from the pool. This array must be returned when it is no longer needed. + + The minimum required length of the array. The returned array may be longer. + The rented array from the pool. This array must be returned when it is no longer needed. + + + + Return an array to the pool. + + The array that is being returned. + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, when returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, when returns false). + + + + Instructs the how to serialize the collection. + + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items. + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the collection's items converter. + + The collection's items converter. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Provides methods for converting between .NET types and JSON types. + + + + + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + The string escape handling. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output should be formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output should be formatted. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Serializes the to a JSON string. + + The node to serialize. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to serialize. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Instructs the to use the specified when serializing the member or class. + + + + + Gets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + + + + + Initializes a new instance of the class. + + Type of the . + + + + Initializes a new instance of the class. + + Type of the . + Parameter list to use when constructing the . Can be null. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Initializes a new instance of the class. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to always serialize the member with the specified name. + + + + + Gets or sets the used when serializing the property's collection items. + + The collection's items . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously skips the children of the current token. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Specifies the state of the reader. + + + + + A read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader is in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the source should be closed when this reader is closed. + + + true to close the source when this reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. + The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets or sets how time zones are handled when reading JSON. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets the .NET type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Reads the next JSON token from the source. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the current token and value. + + The new token. + The value. + A flag indicating whether the position index inside an array should be updated. + + + + Sets the state based on current token type. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the reader's state to . + If is set to true, the source is also closed. + + + + + The exception thrown when an error occurs while reading JSON text. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Instructs the to always serialize the member, and to require that the member has a value. + + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Gets or sets how null values are handled during serialization and deserialization. + + + + + Gets or sets how default values are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings + from . + + + A new instance. + The will not use default settings + from . + + + + + Creates a new instance using the specified . + The will not use default settings + from . + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings + from . + + + + + Creates a new instance. + The will use default settings + from . + + + A new instance. + The will use default settings + from . + + + + + Creates a new instance using the specified . + The will use default settings + from as well as the specified . + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings + from as well as the specified . + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the JSON structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Specifies the settings on a object. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) are handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how default values are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets a function that creates the used by the serializer when resolving references. + + A function that creates the used by the serializer when resolving references. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Initializes a new instance of the class with the specified . + + The containing the JSON data to read. + + + + Gets or sets the reader's character buffer pool. + + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Gets or sets the writer's character array pool. + + + + + Gets or sets how many s to write for each level in the hierarchy when is set to . + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to . + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Initializes a new instance of the class using the specified . + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying . + + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Specifies the type of JSON token. + + + + + This is returned by the if a read method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + + Represents a reader that provides validation. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the .NET type for the current JSON token. + + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a []. + + + A [] or null if the next JSON token is null. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the current token. + + The to read the token from. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the token and its value. + + The to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously ets the state of the . + + The being written. + The value being written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Gets or sets a value indicating whether the destination should be closed when this writer is closed. + + + true to close the destination when this writer is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. + + + true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Gets or sets a value indicating how JSON text output should be formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled when writing JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the destination and also flushes the destination. + + + + + Closes this writer. + If is set to true, the destination is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the end of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current JSON object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + + + + Writes the token. + + The to write. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Sets the state of the . + + The being written. + The value being written. + + + + The exception thrown when an error occurs while writing JSON text. + + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Specifies how JSON comments are handled when loading JSON. + + + + + Ignore comments. + + + + + Load comments as a with type . + + + + + Specifies how line information is handled when loading JSON. + + + + + Ignore line information. + + + + + Load line information. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, and the descendants of every token in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every token in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every token in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every token in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every token in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token. + + + + Gets the of with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads an from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + + + + + Returns an enumerator that iterates through the collection. + + + A of that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + + + + Removes all items from the . + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies the elements of the to an array, starting at a particular array index. + + The array. + Index of the array. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + + + + Represents a JSON constructor. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a token that can contain other tokens. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An of containing the descendant tokens of the . + + + + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + + An of containing this token, and all the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates a that can be used to add tokens to the . + + A that is ready to have content written to it. + + + + Replaces the child nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens. + + + + Represents a collection of objects. + + The type of token. + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the of with the specified key. + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a JSON object. + + + + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets the node type for this . + + The type. + + + + Gets an of of this object's properties. + + An of of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets a of of this object's property values. + + A of of this object's property values. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries to get the with the specified property name. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Represents a JSON property. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a raw JSON string. + + + + + Asynchronously creates an instance of with the content of the reader's current token. + + The reader. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns an instance of with the content of the reader's current token. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Gets or sets how null value properties are merged. + + How null value properties are merged. + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. + When the or + + methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents an abstract JSON token. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Writes this token to a asynchronously. + + A into which this method will write. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of tokens that contain this token, and the ancestors of this token. + + A collection of tokens that contain this token, and the ancestors of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output should be formatted. + A collection of s which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to []. + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from [] to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Creates a for this token. + + A that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object. + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + Creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An of that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An of that contains the selected elements. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Adds an object to the annotation list of this . + + The annotation to add. + + + + Get the first annotation object of the specified type from this . + + The type of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets the first annotation object of the specified type from this . + + The of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets a collection of annotations of the specified type for this . + + The type of the annotations to retrieve. + An that contains the annotations for this . + + + + Gets a collection of annotations of the specified type for this . + + The of the annotations to retrieve. + An of that contains the annotations that match the specified type for this . + + + + Removes the annotations of the specified type from this . + + The type of annotations to remove. + + + + Removes the annotations of the specified type from this . + + The of annotations to remove. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Gets the at the reader's current position. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets the at the writer's current position. + + + + + Gets the token being written. + + The token being written. + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying . + + + + + Closes this writer. + If is set to true, the JSON is auto-completed. + + + Setting to true has no additional effect, since the underlying is a type that cannot be closed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes a value. + An error will be raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a undefined value. + + A undefined value. + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Writes this token to a . + + A into which this method will write. + A collection of s which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not of the same type as this instance. + + + + + Specifies the settings used when loading JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how JSON comments are handled when loading JSON. + + The JSON comment handling. + + + + Gets or sets how JSON line info is handled when loading JSON. + + The JSON line info handling. + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies how null value properties are merged. + + + + + The content's null value properties will be ignored during merging. + + + + + The content's null value properties will be merged. + + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + The property is not required but it cannot be a null value. + + + + + + Contains the JSON schema extension methods. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + The validation event handler. + + + + + An in-memory representation of a JSON Schema. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read-only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisible by. + + A number that the value should be divisible by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). + + A flag indicating whether the value can not equal the number defined by the minimum attribute (). + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). + + A flag indicating whether the value can not equal the number defined by the maximum attribute (). + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallowed types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains JSON Schema. + + A that contains JSON Schema. + A populated from the string that contains JSON Schema. + + + + Load a from a string that contains JSON Schema using the specified . + + A that contains JSON Schema. + The resolver. + A populated from the string that contains JSON Schema. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + + Returns detailed information about the schema exception. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + + Generates a from a specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + + Resolves from an id. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + + The value types allowed by the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + + Specifies undefined schema Id handling options for the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + + Returns detailed information related to the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + + Represents the callback method that will handle JSON schema validation events and the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Allows users to control class loading and mandate what class to load. + + + + + When implemented, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When implemented, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + A snake case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + A camel case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used by to resolve a for a given . + + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. + + The naming strategy used to resolve how property names and dictionary keys are serialized. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Resolved name of the property. + + + + Resolves the name of the extension data. By default no changes are made to extension data names. + + Name of the extension data. + Resolved name of the extension data. + + + + Resolves the key of the dictionary. By default is used to resolve dictionary keys. + + Key of the dictionary. + Resolved key of the dictionary. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + The default naming strategy. Property names and dictionary keys are unchanged. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer that writes to the application's instances. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides methods to get attributes. + + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Used by to resolve a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + A base class for resolving how property names and dictionary keys are serialized. + + + + + A flag indicating whether dictionary keys should be processed. + Defaults to false. + + + + + A flag indicating whether extension data names should be processed. + Defaults to false. + + + + + A flag indicating whether explicitly specified property names, + e.g. a property name customized with a , should be processed. + Defaults to false. + + + + + Gets the serialized name for a given property name. + + The initial property name. + A flag indicating whether the property has had a name explicitly specified. + The serialized property name. + + + + Gets the serialized name for a given extension data name. + + The initial extension data name. + The serialized extension data name. + + + + Gets the serialized key for a given dictionary key. + + The initial dictionary key. + The serialized dictionary key. + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that was resolved from the reference. + + + + Gets the reference for the specified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Represents a trace writer. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the collection values. + + true if the creator has a parameter with the collection values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non-public. + + true if the default object creator is non-public; otherwise, false. + + + + Contract details for a used by the . + + + + + Gets or sets the dictionary key resolver. + + The dictionary key resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the dictionary values. + + true if the creator has a parameter with the dictionary values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object constructor. + + The object constructor. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Gets or sets the extension data value type. + + + + + Gets or sets the extension data name resolver. + + The extension data name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the for this property. + + The for this property. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes precedence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets a predicate used to determine whether the property should be deserialized. + + A predicate used to determine whether the property should be deserialized. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Lookup and create an instance of the type described by the argument. + + The type to create. + Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Provides methods to get attributes from a , , or . + + + + + Initializes a new instance of the class. + + The instance to get attributes for. This parameter should be a , , or . + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. + + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Specifies type name handling options for the . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON + you must specify a root type object with + or . + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic . + + The list to add to. + The collection of elements to add. + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Gets a dictionary of the names and values of an type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike this class lets you reuse its internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls result in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + An array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/BuechermarktClient/bin/Debug/RestSharp.xml b/BuechermarktClient/bin/Debug/RestSharp.xml new file mode 100644 index 0000000..16ca278 --- /dev/null +++ b/BuechermarktClient/bin/Debug/RestSharp.xml @@ -0,0 +1,3095 @@ + + + + RestSharp + + + + + JSON WEB TOKEN (JWT) Authenticator class. + https://tools.ietf.org/html/draft-ietf-oauth-json-web-token + + + + + Tries to Authenticate with the credentials of the currently logged in user, or impersonate a user + + + + + Authenticate with the credentials of the currently logged in user + + + + + Authenticate by impersonation + + + + + + + Authenticate by impersonation, using an existing ICredentials instance + + + + + + + + + Base class for OAuth 2 Authenticators. + + + Since there are many ways to authenticate in OAuth2, + this is used as a base class to differentiate between + other authenticators. + + Any other OAuth2 authenticators must derive from this + abstract class. + + + + + Access token to be used when authenticating. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Gets the access token. + + + + + The OAuth 2 authenticator using URI query parameter. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.2 + + + + + Initializes a new instance of the class. + + + The access token. + + + + + The OAuth 2 authenticator using the authorization request header field. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.1 + + + + + Stores the Authorization header value as "[tokenType] accessToken". used for performance. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Initializes a new instance of the class. + + + The access token. + + + The token type. + + + + + All text parameters are UTF-8 encoded (per section 5.1). + + + + + + Generates a random 16-byte lowercase alphanumeric string. + + + + + + + Generates a timestamp based on the current elapsed seconds since '01/01/1970 0000 GMT" + + + + + + + Generates a timestamp based on the elapsed seconds of a given time since '01/01/1970 0000 GMT" + + + A specified point in time. + + + + + The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986. + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + The value to escape. + The escaped value. + + The method is supposed to take on + RFC 3986 behavior if certain elements are present in a .config file. Even if this + actually worked (which in my experiments it doesn't), we can't rely on every + host actually having this configuration element present. + + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + + + + + + Sorts a collection of key-value pairs by name, and then value if equal, + concatenating them into a single string. This string should be encoded + prior to, or after normalization is run. + + + + + + + + Sorts a by name, and then value if equal. + + A collection of parameters to sort + A sorted parameter collection + + + + Creates a request URL suitable for making OAuth requests. + Resulting URLs must exclude port 80 or port 443 when accompanied by HTTP and HTTPS, respectively. + Resulting URLs must be lower case. + + + The original request URL + + + + + Creates a request elements concatentation value to send with a request. + This is also known as the signature base. + + + + The request's HTTP method type + The request URL + The request's parameters + A signature base string + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The signature base + The consumer secret + The token secret + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer secret + The token secret + + + + + A class to encapsulate OAuth authentication flow. + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + Any existing, non-OAuth query parameters desired in the request + + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + Generates a instance to pass to an + for the purpose of exchanging user credentials + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + + + + + + + + + + Allows control how class and property names and values are deserialized by XmlAttributeDeserializer + + + + + The name to use for the serialized element + + + + + Sets if the property to Deserialize is an Attribute or Element (Default: false) + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Types of parameters that can be added to requests + + + + + Data formats + + + + + HTTP method to use when making requests + + + + + Format strings for commonly-used date formats + + + + + .NET format string for ISO 8601 date format + + + + + .NET format string for roundtrip date format + + + + + Status for responses (surprised?) + + + + + Extension method overload! + + + + + Save a byte array to a file + + Bytes to save + Full path to save file to + + + + Read a stream into a byte array + + Stream to read + byte[] + + + + Copies bytes from one stream to another + + The input stream. + The output stream. + + + + Converts a byte array to a string, using its byte order mark to convert it to the right encoding. + http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx + + An array of bytes to convert + The byte as a string. + + + + Decodes an HTML-encoded string and returns the decoded string. + + The HTML string to decode. + The decoded text. + + + + Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream. + + The HTML string to decode + The TextWriter output stream containing the decoded string. + + + + HTML-encodes a string and sends the resulting output to a TextWriter output stream. + + The string to encode. + The TextWriter output stream containing the encoded string. + + + + Reflection extensions + + + + + Retrieve an attribute from a member (property) + + Type of attribute to retrieve + Member to retrieve attribute from + + + + + Retrieve an attribute from a type + + Type of attribute to retrieve + Type to retrieve attribute from + + + + + Checks a type to see if it derives from a raw generic (e.g. List[[]]) + + + + + + + + Find a value from a System.Enum by trying several possible variants + of the string value of the enum. + + Type of enum + Value for which to search + The culture used to calculate the name variants + + + + + Convert a to a instance. + + The response status. + + responseStatus + + + + Uses Uri.EscapeDataString() based on recommendations on MSDN + http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx + + + + + Check that a string is not null or empty + + String to check + bool + + + + Remove underscores from a string + + String to process + string + + + + Parses most common JSON date formats + + JSON value to parse + + DateTime + + + + Remove leading and trailing " from a string + + String to parse + String + + + + Checks a string to see if it matches a regex + + String to check + Pattern to match + bool + + + + Converts a string to pascal case + + String to convert + + string + + + + Converts a string to pascal case with the option to remove underscores + + String to convert + Option to remove underscores + + + + + + Converts a string to camel case + + String to convert + + String + + + + Convert the first letter of a string to lower case + + String to convert + string + + + + Checks to see if a string is all uppper case + + String to check + bool + + + + Add underscores to a pascal-cased string + + String to convert + string + + + + Add dashes to a pascal-cased string + + String to convert + string + + + + Add an undescore prefix to a pascasl-cased string + + + + + + + Add spaces to a pascal-cased string + + String to convert + string + + + + Return possible variants of a name for name matching. + + String to convert + The culture to use for conversion + IEnumerable<string> + + + + XML Extension Methods + + + + + Returns the name of an element with the namespace if specified + + Element name + XML Namespace + + + + + Container for files to be uploaded with requests + + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The content type to use in the request. + The + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The using the default content type. + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + HttpWebRequest wrapper (async methods) + + + HttpWebRequest wrapper + + + HttpWebRequest wrapper (sync methods) + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + Execute an async POST-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Execute an async GET-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Creates an IHttp + + + + + + Default constructor + + + + + Execute a POST request + + + + + Execute a PUT request + + + + + Execute a GET request + + + + + Execute a HEAD request + + + + + Execute an OPTIONS request + + + + + Execute a DELETE request + + + + + Execute a PATCH request + + + + + Execute a MERGE request + + + + + Execute a GET-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + Execute a POST-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + True if this HTTP request has any HTTP parameters + + + + + True if this HTTP request has any HTTP cookies + + + + + True if a request body has been specified + + + + + True if files have been set to be uploaded + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + UserAgent to be sent with request + + + + + Timeout in milliseconds to be used for the request + + + + + The number of milliseconds before the writing or reading times out. + + + + + System.Net.ICredentials to be sent with request + + + + + The System.Net.CookieContainer to be used for the request + + + + + The method to use to write the response instead of reading into RawBytes + + + + + Collection of files to be sent with request + + + + + Whether or not HTTP 3xx response redirects should be automatically followed + + + + + X509CertificateCollection to be sent with request + + + + + Maximum number of automatic redirects to follow if FollowRedirects is true + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. + + + + + HTTP headers to be sent with request + + + + + HTTP parameters (QueryString or Form values) to be sent with request + + + + + HTTP cookies to be sent with request + + + + + Request body to be sent with request + + + + + Content type of the request body. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + URL to call for this request + + + + + Flag to send authorisation header with the HttpWebRequest + + + + + Proxy info to be sent with request + + + + + Caching policy for requests created with this wrapper. + + + + + Representation of an HTTP cookie + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Container for HTTP file + + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + Representation of an HTTP header + + + + + Name of the header + + + + + Value of the header + + + + + Representation of an HTTP parameter (QueryString or Form value) + + + + + Name of the parameter + + + + + Value of the parameter + + + + + Content-Type of the parameter + + + + + HTTP response data + + + + + HTTP response data + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Default constructor + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + Lazy-loaded string representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + X509CertificateCollection to be sent with request + + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container for data sent back from API + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exceptions thrown during the request, if any. + + Will contain only network transport or framework exceptions thrown during the request. + HTTP protocol errors are handled by RestSharp and will not appear here. + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Parameter container for REST requests + + + + + Return a human-readable representation of this parameter + + String + + + + Name of the parameter + + + + + Value of the parameter + + + + + Type of the parameter + + + + + MIME content type of the parameter + + + + + Client to translate RestRequests into Http requests and process response result + + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Default constructor that registers default content handlers + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Registers a content handler to process response content + + MIME content type of the response content + Deserializer to use to process content + + + + Remove a content handler for the specified MIME content type + + MIME content type to remove + + + + Remove all content handlers + + + + + Retrieve the handler for the specified MIME content type + + MIME content type to retrieve + IDeserializer instance + + + + Assembles URL to call based on parameters, method and resource + + RestRequest to execute + Assembled System.Uri + + + + Executes the specified request and downloads the response data + + Request to execute + Response data + + + + Executes the request and returns a response, authenticating if needed + + Request to be executed + RestResponse + + + + Executes the specified request and deserializes the response content using the appropriate content handler + + Target deserialization type + Request to execute + RestResponse[[T]] with deserialized data in Data property + + + + Maximum number of redirects to follow if FollowRedirects is true + + + + + X509CertificateCollection to be sent with request + + + + + Proxy to use for requests made by this client instance. + Passed on to underlying WebRequest if set. + + + + + The cache policy to use for requests initiated by this client instance. + + + + + Default is true. Determine whether or not requests that result in + HTTP status codes of 3xx should follow returned redirect + + + + + The CookieContainer used for requests made by this client instance + + + + + UserAgent to use for requests made by this client instance + + + + + Timeout in milliseconds to use for requests made by this client instance + + + + + The number of milliseconds before the writing or reading times out. + + + + + Whether to invoke async callbacks using the SynchronizationContext.Current captured when invoked + + + + + Authenticator to use for requests made by this client instance + + + + + Combined with Request.Resource to construct URL for request + Should include scheme and domain without trailing slash. + + + client.BaseUrl = new Uri("http://example.com"); + + + + + Parameters included with every request made with this instance of RestClient + If specified in both client and request, the request wins + + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Request to be executed + Callback function to be executed upon completion + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Target deserialization type + Request to be executed + Callback function to be executed upon completion providing access to the async handle + + + + Add a parameter to use on every request made with this client instance + + The IRestClient instance + Parameter to add + + + + + Removes a parameter from the default parameters that are used on every request made with this client instance + + The IRestClient instance + The name of the parameter that needs to be removed + + + + + Adds a HTTP parameter (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + Used on every request made by this client instance + + The IRestClient instance + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + The IRestClient instance + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Shortcut to AddDefaultParameter(name, value, HttpHeader) overload + + The IRestClient instance + Name of the header to add + Value of the header to add + + + + + Shortcut to AddDefaultParameter(name, value, UrlSegment) overload + + The IRestClient instance + Name of the segment to add + Value of the segment to add + + + + + Container for data used to make requests + + + + + Default constructor + + + + + Sets Method property to value of method + + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Internal Method so that RestClient can increase the number of attempts + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + A function to run prior to deserializing starting (e.g. change settings if error encountered) + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Gets or sets a user-defined state object that contains information about a request and which can be later + retrieved when the request completes. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Base class for common properties shared by RestResponse and RestResponse[[T]] + + + + + Default constructor + + + + + Assists with debugging responses by displaying in the debugger output + + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + The exception thrown during the request, if any + + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Container for data sent back from API + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Encoding for serialized content + + + + + Need to subclass StringWriter in order to override Encoding + + + + + Default JSON serializer for request bodies + Doesn't currently use the SerializeAs attribute, defers to Newtonsoft's attributes + + + + + Default serializer + + + + + Serialize the object as JSON + + Object to serialize + JSON as String + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Content type for serialized content + + + + + Allows control how class and property names and values are serialized by XmlSerializer + Currently not supported with the JsonSerializer + When specified at the property level the class-level specification is overridden + + + + + Called by the attribute when NameStyle is speficied + + The string to transform + String + + + + The name to use for the serialized element + + + + + Sets the value to be serialized as an Attribute instead of an Element + + + + + The culture to use when serializing + + + + + Transforms the casing of the name based on the selected value. + + + + + The order to serialize the element. Default is int.MaxValue. + + + + + Options for transforming casing of element names + + + + + Default XML Serializer + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Helper methods for validating required values + + + + + Require a parameter to not be null + + Name of the parameter + Value of the parameter + + + + Represents the json array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The capacity of the json array. + + + + The json representation of the array. + + The json representation of the array. + + + + Represents the json object. + + + + + The internal member dictionary. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The implementation to use when comparing keys, or null to use the default for the type of the key. + + + + Adds the specified key. + + The key. + The value. + + + + Determines whether the specified key contains key. + + The key. + + true if the specified key contains key; otherwise, false. + + + + + Removes the specified key. + + The key. + + + + + Tries the get value. + + The key. + The value. + + + + + Adds the specified item. + + The item. + + + + Clears this instance. + + + + + Determines whether [contains] [the specified item]. + + The item. + + true if [contains] [the specified item]; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the specified item. + + The item. + + + + + Gets the enumerator. + + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a json that represents the current . + + + A json that represents the current . + + + + + Provides implementation for type conversion operations. Classes derived from the class can override this method to specify dynamic behavior for operations that convert an object from one type to another. + + Provides information about the conversion operation. The binder.Type property provides the type to which the object must be converted. For example, for the statement (String)sampleObject in C# (CType(sampleObject, Type) in Visual Basic), where sampleObject is an instance of the class derived from the class, binder.Type returns the type. The binder.Explicit property provides information about the kind of conversion that occurs. It returns true for explicit conversion and false for implicit conversion. + The result of the type conversion operation. + + Alwasy returns true. + + + + + Provides the implementation for operations that delete an object member. This method is not intended for use in C# or Visual Basic. + + Provides information about the deletion. + + Alwasy returns true. + + + + + Provides the implementation for operations that get a value by index. Classes derived from the class can override this method to specify dynamic behavior for indexing operations. + + Provides information about the operation. + The indexes that are used in the operation. For example, for the sampleObject[3] operation in C# (sampleObject(3) in Visual Basic), where sampleObject is derived from the DynamicObject class, is equal to 3. + The result of the index operation. + + Alwasy returns true. + + + + + Provides the implementation for operations that get member values. Classes derived from the class can override this method to specify dynamic behavior for operations such as getting a value for a property. + + Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member on which the dynamic operation is performed. For example, for the Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive. + The result of the get operation. For example, if the method is called for a property, you can assign the property value to . + + Alwasy returns true. + + + + + Provides the implementation for operations that set a value by index. Classes derived from the class can override this method to specify dynamic behavior for operations that access objects by a specified index. + + Provides information about the operation. + The indexes that are used in the operation. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the class, is equal to 3. + The value to set to the object that has the specified index. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the class, is equal to 10. + + true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown. + + + + + Provides the implementation for operations that set member values. Classes derived from the class can override this method to specify dynamic behavior for operations such as setting a value for a property. + + Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member to which the value is being assigned. For example, for the statement sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive. + The value to set to the member. For example, for sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the class, the is "Test". + + true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.) + + + + + Returns the enumeration of all dynamic member names. + + + A sequence that contains dynamic member names. + + + + + Gets the at the specified index. + + + + + + Gets the keys. + + The keys. + + + + Gets the values. + + The values. + + + + Gets or sets the with the specified key. + + + + + + Gets the count. + + The count. + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + This class encodes and decodes JSON strings. + Spec. details, see http://www.json.org/ + + JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList<object>) and JsonObject(IDictionary<string,object>). + All numbers are parsed to doubles. + + + + + Parses the string json into a value + + A JSON string. + An IList<object>, a IDictionary<string,object>, a double, a string, null, true, or false + + + + Try parsing the json string into a value. + + + A JSON string. + + + The object. + + + Returns true if successfull otherwise false. + + + + + Converts a IDictionary<string,object> / IList<object> object into a JSON string + + A IDictionary<string,object> / IList<object> + Serializer strategy to use + A JSON encoded string, or null if object 'json' is not serializable + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Helper methods for validating values + + + + + Validate an integer value is between the specified values (exclusive of min/max) + + Value to validate + Exclusive minimum value + Exclusive maximum value + + + + Validate a string length + + String to be validated + Maximum length of the string + + + diff --git a/BuechermarktClient/obj/Debug/App.g.cs b/BuechermarktClient/obj/Debug/App.g.cs new file mode 100644 index 0000000..8b34935 --- /dev/null +++ b/BuechermarktClient/obj/Debug/App.g.cs @@ -0,0 +1,70 @@ +#pragma checksum "..\..\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "A601CBE00213CB854D3A5B0F8E4EA1C9" +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +using BuechermarktClient; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace BuechermarktClient { + + + /// + /// App + /// + public partial class App : System.Windows.Application { + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + + #line 5 "..\..\App.xaml" + this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative); + + #line default + #line hidden + } + + /// + /// Application Entry Point. + /// + [System.STAThreadAttribute()] + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public static void Main() { + BuechermarktClient.App app = new BuechermarktClient.App(); + app.InitializeComponent(); + app.Run(); + } + } +} + diff --git a/BuechermarktClient/obj/Debug/App.g.i.cs b/BuechermarktClient/obj/Debug/App.g.i.cs new file mode 100644 index 0000000..8b34935 --- /dev/null +++ b/BuechermarktClient/obj/Debug/App.g.i.cs @@ -0,0 +1,70 @@ +#pragma checksum "..\..\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "A601CBE00213CB854D3A5B0F8E4EA1C9" +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +using BuechermarktClient; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace BuechermarktClient { + + + /// + /// App + /// + public partial class App : System.Windows.Application { + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + + #line 5 "..\..\App.xaml" + this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative); + + #line default + #line hidden + } + + /// + /// Application Entry Point. + /// + [System.STAThreadAttribute()] + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public static void Main() { + BuechermarktClient.App app = new BuechermarktClient.App(); + app.InitializeComponent(); + app.Run(); + } + } +} + diff --git a/BuechermarktClient/obj/Debug/BookTypes - Kopieren.g.i.cs b/BuechermarktClient/obj/Debug/BookTypes - Kopieren.g.i.cs new file mode 100644 index 0000000..51db736 --- /dev/null +++ b/BuechermarktClient/obj/Debug/BookTypes - Kopieren.g.i.cs @@ -0,0 +1,121 @@ +#pragma checksum "..\..\BookTypes - Kopieren.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "3804A968D9CEB9784CCAB007BA4E2793" +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +using BuechermarktClient; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace BuechermarktClient { + + + /// + /// BookTypes + /// + public partial class BookTypes : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector { + + + #line 14 "..\..\BookTypes - Kopieren.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ListView BookTypesList; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/booktypes%20-%20kopieren.xaml", System.UriKind.Relative); + + #line 1 "..\..\BookTypes - Kopieren.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.BookTypesList = ((System.Windows.Controls.ListView)(target)); + return; + case 3: + + #line 27 "..\..\BookTypes - Kopieren.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click); + + #line default + #line hidden + return; + } + this._contentLoaded = true; + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { + System.Windows.EventSetter eventSetter; + switch (connectionId) + { + case 2: + eventSetter = new System.Windows.EventSetter(); + eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent; + + #line 23 "..\..\BookTypes - Kopieren.xaml" + eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp); + + #line default + #line hidden + ((System.Windows.Style)(target)).Setters.Add(eventSetter); + break; + } + } + } +} + diff --git a/BuechermarktClient/obj/Debug/BookTypes.baml b/BuechermarktClient/obj/Debug/BookTypes.baml new file mode 100644 index 0000000000000000000000000000000000000000..2d9d6974bc29e5a630f79917543cd6dae9221e43 GIT binary patch literal 1670 zcmb_cTW=dh6h7-6$BE;XCQShm7hBaLL2Iv_IJ3E+NYsfCg(ixUs3{T;tk>gYl)ad} z$TmL!{s1q1t@sDLA|Zq-E-#4Rz$;IEx2NYUv9S_~o4TtrJLj_Bxy_jZ0PMjLG~qse zA0qeZgfvk2XvIB%2hBt{XCn0M@I2merSRiQ`H=`C8Ti{PW}V(jc_(q>Boy1eNaE0T zE9HZvMyAy;j19xc`HqYX?yH%@2*hv#&+*;Xetcm)@ z=F*ndul$z?8L)9!)NyL|(tBEa^=~mmpYoz}TWh((Z&Sh>Q%G!#^kK$x-n|4BbcNsd z+)jXl5JzSZp4Mn0l5Q0X*u~S;lCF#gX%VL|vt!KFtQ$DC`;QYa_3!xDmkN0Fhmbv% zu`7&MFx|;~AbG#=5s20V`zMEdVT;Pbe-j%4JXD(x;PtB4G<-WlsLvOo3tr;6QA;$UJ@K~2HD zr#Std;(a-SDorLwN+09qFY4MPm4`BlFrK{9gRE3N))WZfj@+OH~CucYs1L#vFU z(tHLGkv)>4m&*XhvZRsdqY>~M$Sfk62Z}G?_f;f)I07U8onrfV2Rs>CZ=tMI&;iBS z6WNZ>jJytM4p_mDNx95OxwI>zu4@nWgx3;b69-=Ur#S{zgFydKaQDVcig}OCGVAQZ z6DRlNHg);nsJVaP^0Jr9NMt%eVw|!kn$3Nq_$}N}ee|!eH3UvhN()&)K7VY7ry{0H z@J<%K7+J5Q&RkUdHT;romF9O+d&WthA~XI5ZmHAy&k8sl9_m*$y-IPDK508vpN&#A zmDE^xuI4|G{^v>Ohi^}XkLkTh;=)gAW(V(E5pJurM2z1?Il(hd7P)j+!j&9kUI1e0 Bv5)`& literal 0 HcmV?d00001 diff --git a/BuechermarktClient/obj/Debug/BookTypes.g.cs b/BuechermarktClient/obj/Debug/BookTypes.g.cs new file mode 100644 index 0000000..a288476 --- /dev/null +++ b/BuechermarktClient/obj/Debug/BookTypes.g.cs @@ -0,0 +1,121 @@ +#pragma checksum "..\..\BookTypes.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "3804A968D9CEB9784CCAB007BA4E2793" +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +using BuechermarktClient; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace BuechermarktClient { + + + /// + /// BookTypes + /// + public partial class BookTypes : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector { + + + #line 14 "..\..\BookTypes.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ListView BookTypesList; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/booktypes.xaml", System.UriKind.Relative); + + #line 1 "..\..\BookTypes.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.BookTypesList = ((System.Windows.Controls.ListView)(target)); + return; + case 3: + + #line 27 "..\..\BookTypes.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click); + + #line default + #line hidden + return; + } + this._contentLoaded = true; + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { + System.Windows.EventSetter eventSetter; + switch (connectionId) + { + case 2: + eventSetter = new System.Windows.EventSetter(); + eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent; + + #line 23 "..\..\BookTypes.xaml" + eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp); + + #line default + #line hidden + ((System.Windows.Style)(target)).Setters.Add(eventSetter); + break; + } + } + } +} + diff --git a/BuechermarktClient/obj/Debug/BookTypes.g.i.cs b/BuechermarktClient/obj/Debug/BookTypes.g.i.cs new file mode 100644 index 0000000..a288476 --- /dev/null +++ b/BuechermarktClient/obj/Debug/BookTypes.g.i.cs @@ -0,0 +1,121 @@ +#pragma checksum "..\..\BookTypes.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "3804A968D9CEB9784CCAB007BA4E2793" +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +using BuechermarktClient; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace BuechermarktClient { + + + /// + /// BookTypes + /// + public partial class BookTypes : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector { + + + #line 14 "..\..\BookTypes.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ListView BookTypesList; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/booktypes.xaml", System.UriKind.Relative); + + #line 1 "..\..\BookTypes.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.BookTypesList = ((System.Windows.Controls.ListView)(target)); + return; + case 3: + + #line 27 "..\..\BookTypes.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click); + + #line default + #line hidden + return; + } + this._contentLoaded = true; + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { + System.Windows.EventSetter eventSetter; + switch (connectionId) + { + case 2: + eventSetter = new System.Windows.EventSetter(); + eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent; + + #line 23 "..\..\BookTypes.xaml" + eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp); + + #line default + #line hidden + ((System.Windows.Style)(target)).Setters.Add(eventSetter); + break; + } + } + } +} + diff --git a/BuechermarktClient/obj/Debug/BookTypesEdit - Kopieren.g.i.cs b/BuechermarktClient/obj/Debug/BookTypesEdit - Kopieren.g.i.cs new file mode 100644 index 0000000..5b3b59f --- /dev/null +++ b/BuechermarktClient/obj/Debug/BookTypesEdit - Kopieren.g.i.cs @@ -0,0 +1,94 @@ +#pragma checksum "..\..\BookTypesEdit - Kopieren.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "82691408CF5C57ABF8F3969E05225178" +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +using BuechermarktClient; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace BuechermarktClient { + + + /// + /// BookTypesEdit + /// + public partial class BookTypesEdit : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/booktypesedit%20-%20kopieren.xaml", System.UriKind.Relative); + + #line 1 "..\..\BookTypesEdit - Kopieren.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + + #line 19 "..\..\BookTypesEdit - Kopieren.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Save_Click); + + #line default + #line hidden + return; + case 2: + + #line 20 "..\..\BookTypesEdit - Kopieren.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Delete_Click); + + #line default + #line hidden + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/BuechermarktClient/obj/Debug/BookTypesEdit.baml b/BuechermarktClient/obj/Debug/BookTypesEdit.baml new file mode 100644 index 0000000000000000000000000000000000000000..34bbf7ceeb187775e283874addabe15bc5a1c49d GIT binary patch literal 1665 zcmb_cTW`}?5FW=a>5Y51tSCyPH9SBXJ57&!Sw&(~K;qJ>A`#^Q2^{ByTD5(QFKY6* ze_-EvNAM5$0|)_6)&38j%5!p<3C$8HP(au|*O~b|^Uawv4FIc9hZ_8i<853${J$w6 z@lj@00dCY%?rieNx1+6O#dCR(6bpBG6uTm*mP;nR#llMJC27Q~0Z)_2_KJn|wCTCd zE#7U2Egn>Z)bq|Q6dW&_4Q!vsq3!VH{m3WwZvn7F=+^|c^B1v$!hW4nO^B^VH{|iP zmYb-k#1!nvX6C*E_tqmGqu+LdK3|XU|Jx$k`V__dk48}`H`|p(X4$QZHP0(-=1vCI zHr${kw&R)|^WOovp+bGs-xU%44&2;TSlUdIaM>_oOs8+hCEs--5sP+Ga)fVeyFt5S z%$cTTbZp-SPLC5#n0*fJu zOCow?P*tSiED{*v>1w*3n{)>xj$n=rG3UlS;n?1RRWM>ZJo@=*JpMfxYq*KW^}_(! zTIy^j-SA0|jql;>6aPuIVwz9;)*rZ~PrM#3scuTUk`YIQs6OwZ_>EK>BCJa5IEgPy zHi;uO^;sYE$z7?fVW~XnS;ufspWKmJ*({omdsZITnq`pYKRsYmI3cr9l@qwm{wu8l zj_NxJ`6&f((AMo_Q^)yOjj(h5{8VPJzbaZ>pU%Lc#PEe`cCb@O(Sc5VbcFD7{jdK#BY_ z(lrxLVY!e3nXAtbhgc+9^z3`7TmotRiHkiNNlsb#hJ2c`a}wnPu(uLs>3U<>29KV7 zDHZcof1q*-xAddCa-tq`moDxA$+|$Bhj(Na6If(}B+`YiSr4#R5s>9@Lg=$p;-4dz s5t+mT|k~Vdn(w>2ZS@azyJUM literal 0 HcmV?d00001 diff --git a/BuechermarktClient/obj/Debug/BookTypesEdit.g.cs b/BuechermarktClient/obj/Debug/BookTypesEdit.g.cs new file mode 100644 index 0000000..afeed23 --- /dev/null +++ b/BuechermarktClient/obj/Debug/BookTypesEdit.g.cs @@ -0,0 +1,94 @@ +#pragma checksum "..\..\BookTypesEdit.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "82691408CF5C57ABF8F3969E05225178" +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +using BuechermarktClient; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace BuechermarktClient { + + + /// + /// BookTypesEdit + /// + public partial class BookTypesEdit : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/booktypesedit.xaml", System.UriKind.Relative); + + #line 1 "..\..\BookTypesEdit.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + + #line 19 "..\..\BookTypesEdit.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Save_Click); + + #line default + #line hidden + return; + case 2: + + #line 20 "..\..\BookTypesEdit.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Delete_Click); + + #line default + #line hidden + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/BuechermarktClient/obj/Debug/BookTypesEdit.g.i.cs b/BuechermarktClient/obj/Debug/BookTypesEdit.g.i.cs new file mode 100644 index 0000000..afeed23 --- /dev/null +++ b/BuechermarktClient/obj/Debug/BookTypesEdit.g.i.cs @@ -0,0 +1,94 @@ +#pragma checksum "..\..\BookTypesEdit.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "82691408CF5C57ABF8F3969E05225178" +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +using BuechermarktClient; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace BuechermarktClient { + + + /// + /// BookTypesEdit + /// + public partial class BookTypesEdit : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/booktypesedit.xaml", System.UriKind.Relative); + + #line 1 "..\..\BookTypesEdit.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + + #line 19 "..\..\BookTypesEdit.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Save_Click); + + #line default + #line hidden + return; + case 2: + + #line 20 "..\..\BookTypesEdit.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Delete_Click); + + #line default + #line hidden + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/BuechermarktClient/obj/Debug/BuechermarktClient.Properties.Resources.resources b/BuechermarktClient/obj/Debug/BuechermarktClient.Properties.Resources.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/BuechermarktClient/obj/Debug/BuechermarktClient.csproj.FileListAbsolute.txt b/BuechermarktClient/obj/Debug/BuechermarktClient.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..92e5f5a --- /dev/null +++ b/BuechermarktClient/obj/Debug/BuechermarktClient.csproj.FileListAbsolute.txt @@ -0,0 +1,33 @@ +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\BuechermarktClient.exe.config +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\BuechermarktClient.exe +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\BuechermarktClient.pdb +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BuechermarktClient.csprojResolveAssemblyReference.cache +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\MainWindow.g.cs +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\App.g.cs +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BuechermarktClient_MarkupCompile.cache +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BuechermarktClient_MarkupCompile.lref +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\MainWindow.baml +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BuechermarktClient.g.resources +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BuechermarktClient.Properties.Resources.resources +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BuechermarktClient.csproj.GenerateResource.Cache +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BuechermarktClient.exe +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BuechermarktClient.pdb +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Bson.dll +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Driver.Core.dll +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Driver.dll +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\Newtonsoft.Json.dll +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\RestSharp.dll +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\System.Runtime.InteropServices.RuntimeInformation.dll +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Bson.xml +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Driver.xml +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Driver.Core.xml +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\Newtonsoft.Json.xml +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\RestSharp.xml +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BookTypes.g.cs +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BookTypes.baml +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BookTypesEdit.g.cs +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BookTypesEdit.baml +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\Students.g.cs +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\StudentsEdit.g.cs +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\Students.baml +C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\StudentsEdit.baml diff --git a/BuechermarktClient/obj/Debug/BuechermarktClient.g.resources b/BuechermarktClient/obj/Debug/BuechermarktClient.g.resources new file mode 100644 index 0000000000000000000000000000000000000000..cdd647255eea828e17d57e7381edbc497beb1851 GIT binary patch literal 9425 zcmeHMU2NOd6~2;a%a(rATyrz#| zoxCi^u3UY7ud=f3n?+gEzAXJD8P!GyK8x3H;P>XI$$!1|{>6*EfBo5|^{M>U#vgzG z(_d0^k&fHwN1x~Dc#{S-kP{Al*M%>(L`g{DiLA&8gF0K>QQg}?ih?ldhI+?evhJmb+_Wx88ZH@`vEKhFqpp}BdlqTfA3roT?wy2-eCu`Fi9 zb^4#9(hs8}Ap-g&2IhshHB*-PHR%=&cio@0OlkY|bs0bEy4YpQIyW_xx7-oiC`zwn z8xy zC6{z>IPQ9V1V?_dCdYHDlUFp|C`{^?<)k*SloSj1OuOK0cr%74pM=PJDX|>4ch+&A zgxvlc;_903m#&SDdbE^9!^;-Uyz6+*s-Mj}#nBDZUfmp>7#q_^H;tk-T8hnCN+d*5 zq=bfT!n3-hh=uC5dWCvF#=x6*Y5%pv=I|G>P!USaEUY-p>i>44Fma#^xruSXpN!@# zX%{fyD=|q*P15aTG5@V5QBFzPn?-BYp^e~sS;xIUiXBldjnD*^=;_Ltmg#TtB*tXI zudsC!ZI+WatV4G|?B3dAKS(?E{H|zQF?~y_r$}J*xWB!tbyPK|ou37%$+5BDRP=LH zrFQb84k!CzA|DZyi)8T>99 z&nal^zhQbM%h;Ni#hi3!Xv3TK{j?(VNeKN2kSM$u9PnL!^<)8VTGG9rE1?!(DfbD z{z-ZD(FgaXO~ZQ@)!iQj?X%=>r8^z)6e-$ys)u+*Lyt6H4bmA3lFz+%JfY|!883zo zf})!R(?5YDipiRh^8}6g1pfs;)CDqz%rzaAu% zqd#TQAfHdyZ8JcG{t6HU_47_as@+M^zOv!mGq$D!`1L!`K(=T=yifxfRrTwK7)4W5 zy`^qrJmXeI+sh*L=FLz0PaS3 zuJIzyQI(?qfX<9S{d588jfkZ}@;D(7nptx1PS7#;=nn{K8w8V3d}&tdf)xhO5QTt- zAqoK-LlpW81!`E@W0nwM-NgA8C^T=Fc9@);K+p*U?U(l*R|snKIgR-d`K|8whS-Bj z8d4;VRgofT6B-pS(Kc#8C8S7aIYnyWPUBe;+$G!!9G05-Jj#MXV9HW$3SHn^_V3b| zD8Z>V1ncbjC>LV?&%rmGY87?a_koL2Gye#bIl1Z+j3UlgJ3b4NQyASMN~gAi&MIE8 zZ+sP%b>MZlNE0&7DdZbeRP?v#%q|(|(JCpZx@0u7U2w_E`L#zMSkfh5-)z<-^{bn; zfKszr-$P~HtRfd9vwluRMSp-ZgIMUsp*nQq+f;E3-8kk+oQprTA<>py_R9rIrcP)r zaJwgYL`(ASxH|Dhw@uEmqxQ7#aoOyWz*58#iLX;}kIVl5WVL!82I;$w3u3(*VDC$8 zA;>xS*AP?vk8klaoiM}js9knnI2?7hlysSt|t~ybE z5R;a#N~;gIr)zP|vE@P;Odrd1Yci2=L^9`$oV0EgT3Cqbg@tvQo#|@t#wmm>mWKh~ zu?)|vEnR#9zh4zsA8@-uD^g@xKcYs3={?LI6NJdM5oItzi2Z^j?l6K7gda?4j5!ny zR4+>oc{>C-919?_X%!0)Ukic|%^V9Hogf7KLA;{j1y6|S$ZSGPe?ScPF~oG_xnl4D zOh4fVtM6=2aQ#b+>j&|JlSodU06*BX6UV=1HV!^T(I?u*{d00-X{qj-T~asF2AONcm7x3J>nniaS=vZ4;# zhgbpBJJbq17FCHYEQlTj1S2d9%Mby5vjI)ZfN0}T12PH0!9WY`x9NVo<>i-zEa;09 z#^6RdmH>T$mxY+i7KAX<8`#AAv@^GX7=wlFPZ*;M#{C$CF(MU6Z;W6f!Whjg8N2c5 Kgz +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +using BuechermarktClient; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace BuechermarktClient { + + + /// + /// Login + /// + public partial class Login : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/login.xaml", System.UriKind.Relative); + + #line 1 "..\..\Login.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + + #line 15 "..\..\Login.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Button_Click); + + #line default + #line hidden + return; + case 2: + + #line 16 "..\..\Login.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Button_Click_1); + + #line default + #line hidden + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/BuechermarktClient/obj/Debug/MainWindow.baml b/BuechermarktClient/obj/Debug/MainWindow.baml new file mode 100644 index 0000000000000000000000000000000000000000..35c52546777d2089a4c0fac9e90293367af1dbaf GIT binary patch literal 1474 zcmb_c-A@xi5TENELV()U%}_H&YmeWVEhVuo$1cr%x`})yL00JumLrwz$*T)qxJk;6c9L+ z*$se4m5ACc>bsVI5LTH(y)ct{O8vm$UOBJl{>Jk9CfxMC^bN5ie+*Kca!*aY`$7}FI6+MW8 zN(RjCE3mia(*Q|ZArgM*A;xWs{jmiGV*B?#EAKNwiO2jn_CODYcASvW^fbWuU_%`B z$OyX0f~1otLM@WqyEF4nY#fnI<2kZr zf-wciC^|_|-wPmPIGI36kA4^0Y7}x1<~-V(srOxw;%{8W^#wsBLJavuKvrI@^90kw z$3n?{Jd0hX@J)L1R3s~r-3q&S2uD5hu3Q}bCbV_h49milq3MwmktoURw&IYlBAL%+ z@Q2UKp1CgzLQX zsTir*t>X`j`oEx6M86AKo6?%RMC+McyrAXA<~glbXlmvgsmV>$!|_aREr}(50QYm3 A2><{9 literal 0 HcmV?d00001 diff --git a/BuechermarktClient/obj/Debug/MainWindow.g.cs b/BuechermarktClient/obj/Debug/MainWindow.g.cs new file mode 100644 index 0000000..bfe52c8 --- /dev/null +++ b/BuechermarktClient/obj/Debug/MainWindow.g.cs @@ -0,0 +1,102 @@ +#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "555DF7808B3534D85CBC8AC2B0E4BB23" +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +using BuechermarktClient; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace BuechermarktClient { + + + /// + /// MainWindow + /// + public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/mainwindow.xaml", System.UriKind.Relative); + + #line 1 "..\..\MainWindow.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + + #line 8 "..\..\MainWindow.xaml" + ((BuechermarktClient.MainWindow)(target)).Loaded += new System.Windows.RoutedEventHandler(this.Window_Loaded); + + #line default + #line hidden + return; + case 2: + + #line 14 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.BookTypes_Click); + + #line default + #line hidden + return; + case 3: + + #line 15 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Students_Click); + + #line default + #line hidden + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/BuechermarktClient/obj/Debug/MainWindow.g.i.cs b/BuechermarktClient/obj/Debug/MainWindow.g.i.cs new file mode 100644 index 0000000..bfe52c8 --- /dev/null +++ b/BuechermarktClient/obj/Debug/MainWindow.g.i.cs @@ -0,0 +1,102 @@ +#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "555DF7808B3534D85CBC8AC2B0E4BB23" +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +using BuechermarktClient; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace BuechermarktClient { + + + /// + /// MainWindow + /// + public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/mainwindow.xaml", System.UriKind.Relative); + + #line 1 "..\..\MainWindow.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + + #line 8 "..\..\MainWindow.xaml" + ((BuechermarktClient.MainWindow)(target)).Loaded += new System.Windows.RoutedEventHandler(this.Window_Loaded); + + #line default + #line hidden + return; + case 2: + + #line 14 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.BookTypes_Click); + + #line default + #line hidden + return; + case 3: + + #line 15 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Students_Click); + + #line default + #line hidden + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/BuechermarktClient/obj/Debug/Students.baml b/BuechermarktClient/obj/Debug/Students.baml new file mode 100644 index 0000000000000000000000000000000000000000..e7f952d11f6e3d458c4d2cd34a3206235c4a348e GIT binary patch literal 1999 zcmb`IS#R4$5P(M_WyzB4#*Wg0CIl@^2leE;U-!HKwS|s{ z<(_V}`sL+HMJe}H(>K>GI*c-qO>hH3~n{a;k5~p9Fjhcn%W1?q3kZV z`livcu?{@9WIHEiDhR(@!~k|NyBfNodxIc|6UzP3$&-(TeB1ZzbCm*0 z(xqF1(dz;4>k$;GFd4Ss%3u9e%+zeVQy+A>yQ8}vx>n+LEr`k@lz5m$Rx~c>u%Rj2fN&CaHobPuUjW^85D)Me+syH zWjcQM40}sX$ci=IkC73yd4Bd(BrH{HPwYIonTk3DT%{KSU^20zx*n+q#4ZWY6h`3) zi0M-?b*H$i>c-fUN#4UTk79ksi^uMeZUF0quuKS}xYW79TekHAnl`3gxI2^DZ`&5% z^C=(!(+Qc^CYd{GgB$mnFJMx5pAX?!``HkZv*!-qH&oXRk8aZ8PsX?lho@vb5i?+Y zjzXEehCM|u5&urGH*gT7%Qu+iR4;T=*|`|tJXu$r6Yfz~-iX0hBjt6JmF5Loz$ckf zq%Yxl8q17|A|T7`Z5&e3NWTbRSsYO67lWS?4uUJl?Byq;Kup=0pL;4&AL-VYe(T5Y oPdJ?bVe;vp#ncx5xwx|_lq#;sjDCNFm)Q;M}iAOUyHv3d;kCd literal 0 HcmV?d00001 diff --git a/BuechermarktClient/obj/Debug/Students.g.cs b/BuechermarktClient/obj/Debug/Students.g.cs new file mode 100644 index 0000000..23d574f --- /dev/null +++ b/BuechermarktClient/obj/Debug/Students.g.cs @@ -0,0 +1,121 @@ +#pragma checksum "..\..\Students.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "E3910DEC8AFEF22336269C31853C6286" +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +using BuechermarktClient; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace BuechermarktClient { + + + /// + /// Students + /// + public partial class Students : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector { + + + #line 14 "..\..\Students.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ListView BookTypesList; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/students.xaml", System.UriKind.Relative); + + #line 1 "..\..\Students.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.BookTypesList = ((System.Windows.Controls.ListView)(target)); + return; + case 3: + + #line 31 "..\..\Students.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click); + + #line default + #line hidden + return; + } + this._contentLoaded = true; + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { + System.Windows.EventSetter eventSetter; + switch (connectionId) + { + case 2: + eventSetter = new System.Windows.EventSetter(); + eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent; + + #line 27 "..\..\Students.xaml" + eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp); + + #line default + #line hidden + ((System.Windows.Style)(target)).Setters.Add(eventSetter); + break; + } + } + } +} + diff --git a/BuechermarktClient/obj/Debug/Students.g.i.cs b/BuechermarktClient/obj/Debug/Students.g.i.cs new file mode 100644 index 0000000..23d574f --- /dev/null +++ b/BuechermarktClient/obj/Debug/Students.g.i.cs @@ -0,0 +1,121 @@ +#pragma checksum "..\..\Students.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "E3910DEC8AFEF22336269C31853C6286" +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +using BuechermarktClient; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace BuechermarktClient { + + + /// + /// Students + /// + public partial class Students : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector { + + + #line 14 "..\..\Students.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ListView BookTypesList; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/students.xaml", System.UriKind.Relative); + + #line 1 "..\..\Students.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.BookTypesList = ((System.Windows.Controls.ListView)(target)); + return; + case 3: + + #line 31 "..\..\Students.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click); + + #line default + #line hidden + return; + } + this._contentLoaded = true; + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { + System.Windows.EventSetter eventSetter; + switch (connectionId) + { + case 2: + eventSetter = new System.Windows.EventSetter(); + eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent; + + #line 27 "..\..\Students.xaml" + eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp); + + #line default + #line hidden + ((System.Windows.Style)(target)).Setters.Add(eventSetter); + break; + } + } + } +} + diff --git a/BuechermarktClient/obj/Debug/StudentsEdit.baml b/BuechermarktClient/obj/Debug/StudentsEdit.baml new file mode 100644 index 0000000000000000000000000000000000000000..e824f756778b7fbe2bfa16398321c18f933c47a9 GIT binary patch literal 2193 zcmb_eTW=dh6rS~N;v{y`rWhz{iVZA0fUj|8b3v9MX)3iztWaA`ACO?Z9^+MJcg$WC z`;kAud*4y{2mFBw0Z$SCgD3NB59e&UshhY7pzeBZJLi1!&AH4tO$a$44YEzXgmxcB z-<}tRNO+W$1415bhs^3S&oRB@V29hx4f46i%=2yG)+)s^zWLlv$b-;hHJ62fXYzdR zFl=$#+GB&JIA(6m4LQHFp0l`Da7~B#J=0=amyvH>{zM3!1zz(|?tTmv$zGNzHiEDX z#Qfd19jG8f6{t{U-UQ^4N*a@VcZByQa5MMFW;Y0WTcwf@-gHdA=-8Gge9;MtmT*cZ zw%h5KR?B6h)HfYo>P^^8B??IpmC!_N)khksHwJ#doZ=IZ{vR7}t*@KZqDE!2y2i>I zo0%=8pZ_lmHKN6|(BtUr%oj>~^-2uZ$9-YwmRg*-ZQSt21d=nR(J&3NB&Fx?i8F2!0CdOQy;leWcwMj6c8%KUN4beX$Gfg|- zOkX4FV9RW_NuU1>hUGF0KY?L!C@IzJ2 z=b?~^vCs{B-1PlvF?zubZ^uek5m-=&265?3S^XjCs|iWyJ2BABQ@H^7aQ4HjKu>3H zs|2K$cLWa|_a5umu8sGOpMvxAT@b(+QlA0NZRnsa_2l1D`IJcGEOJZnJSOpL=F^z2 zcVIpO`$Lif-ggvA^ytawQYrsBjzn^YIs;^^nIw4Q7;QM Ip5Tdp09SB8D*ylh literal 0 HcmV?d00001 diff --git a/BuechermarktClient/obj/Debug/StudentsEdit.g.cs b/BuechermarktClient/obj/Debug/StudentsEdit.g.cs new file mode 100644 index 0000000..8f8f565 --- /dev/null +++ b/BuechermarktClient/obj/Debug/StudentsEdit.g.cs @@ -0,0 +1,94 @@ +#pragma checksum "..\..\StudentsEdit.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "48BAC688059091648BFD0E454A953B5D" +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +using BuechermarktClient; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace BuechermarktClient { + + + /// + /// StudentsEdit + /// + public partial class StudentsEdit : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/studentsedit.xaml", System.UriKind.Relative); + + #line 1 "..\..\StudentsEdit.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + + #line 27 "..\..\StudentsEdit.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Save_Click); + + #line default + #line hidden + return; + case 2: + + #line 28 "..\..\StudentsEdit.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Delete_Click); + + #line default + #line hidden + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/BuechermarktClient/obj/Debug/StudentsEdit.g.i.cs b/BuechermarktClient/obj/Debug/StudentsEdit.g.i.cs new file mode 100644 index 0000000..8f8f565 --- /dev/null +++ b/BuechermarktClient/obj/Debug/StudentsEdit.g.i.cs @@ -0,0 +1,94 @@ +#pragma checksum "..\..\StudentsEdit.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "48BAC688059091648BFD0E454A953B5D" +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +using BuechermarktClient; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace BuechermarktClient { + + + /// + /// StudentsEdit + /// + public partial class StudentsEdit : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/studentsedit.xaml", System.UriKind.Relative); + + #line 1 "..\..\StudentsEdit.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + + #line 27 "..\..\StudentsEdit.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Save_Click); + + #line default + #line hidden + return; + case 2: + + #line 28 "..\..\StudentsEdit.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Delete_Click); + + #line default + #line hidden + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/BuechermarktClient/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/BuechermarktClient/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuechermarktClient/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/BuechermarktClient/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuechermarktClient/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/BuechermarktClient/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuechermarktClient/packages.config b/BuechermarktClient/packages.config new file mode 100644 index 0000000..95b526d --- /dev/null +++ b/BuechermarktClient/packages.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/packages/MongoDB.Bson.2.4.3/License.rtf b/packages/MongoDB.Bson.2.4.3/License.rtf new file mode 100644 index 0000000000000000000000000000000000000000..5f1d0461a83a425c3e7b50fdade21a331c388c7a GIT binary patch literal 1064 zcma)5U2obj6y0;B{)a1`wu*vDX{U`R3QUd4LIreHCBK;XCRlUq)OMO8#DCun(2Z#? z%Y)?`pZj^v-EtSQ9v8-|{gIY=FS?Gn#4Kan*h;0gC`D*~XkqdmySjS6XV_R>#Z zO4Eh$tgsTD;aTZkdOS>9RapO2M)rA?_Tc=Cm%>S2E13pO*L|0sQjBc5 zaVlR2h**zZ($R-g0AG=Pn*pb#4{HbCW(0w@oe(g^sLVi`agXo%8Em=vK_VZBds4AFt-V*tAf zg0OteeW|rE$`82^d20(REo3#s||>f29Sys zjYW$ZNDrbBjD%pD0o6_gW%4$7n}u391X4k8YE^~5m^ls&XvC)g;zk%~4HpnET5vmD z#EUjO#ml?d;}V{R^Z77Y#*+oi<}jKi<9Hd*60*L*FnNaiI2pGAi5H?D-%8iiP6eul zGn5@zV8iNfJwQf}jqOWJRi;wv$mEsC5pw%V8%B*liLRg>BGq^*O@da13L@<7KSF!g hz+rg*>e&n06Yh2N`G(G-(t(z<+0Q6CxX_k;_yvH{ag6`~ literal 0 HcmV?d00001 diff --git a/packages/MongoDB.Bson.2.4.3/MongoDB.Bson.2.4.3.nupkg b/packages/MongoDB.Bson.2.4.3/MongoDB.Bson.2.4.3.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..66aa2a6e7fd30f62878a7af0f5474ff86c55233b GIT binary patch literal 485418 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

$0vr-p1C+i~T6kX)3(nZedP~?ag6cKz!_UAbD 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

if{l#=#S>!uHJBu;QI$gr+gItY9C2)s_Pg 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≀4@c&J09YxOL5T`!%$hxeko3zvZhQe?zsy4N9)t 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 jr{k;tt5l=Ka_Y8j_44>tZ8)dnRgXIR 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%0D? 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

eOEQ=3Ws&1d=05ooKzG8@h43Dgv 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 + + + MongoDB.Bson + + + +

+ Represents a BSON array. + + + + + Initializes a new instance of the BsonArray class. + + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + The initial capacity of the array. + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Gets the BsonType of this BsonValue. + + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Clears the array. + + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Compares the array to another array. + + The other array. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other. + + + + Compares the array to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Copies elements from this array to another array as raw values (see BsonValue.RawValue). + + The other array. + The zero based index of the other array at which to start copying. + + + + Gets the count of array elements. + + + + + Creates a new BsonArray. + + A value to be mapped to a BsonArray. + A BsonArray or null. + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Compares this array to another array. + + The other array. + True if the two arrays are equal. + + + + Compares this BsonArray to another object. + + The other object. + True if the other object is a BsonArray and equal to this one. + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Gets whether the array is read-only. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Compares two BsonArray values. + + The first BsonArray. + The other BsonArray. + True if the two BsonArray values are equal according to ==. + + + + Compares two BsonArray values. + + The first BsonArray. + The other BsonArray. + True if the two BsonArray values are not equal according to ==. + + + + Gets the array elements as raw values (see BsonValue.RawValue). + + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Gets the array elements. + + + + + Represents BSON binary data. + + + + + Initializes a new instance of the BsonBinaryData class. + + The binary data. + + + + Initializes a new instance of the BsonBinaryData class. + + The binary data. + The binary data subtype. + + + + Initializes a new instance of the BsonBinaryData class. + + The binary data. + The binary data subtype. + The representation for Guids. + + + + Initializes a new instance of the BsonBinaryData class. + + A Guid. + + + + Initializes a new instance of the BsonBinaryData class. + + A Guid. + The representation for Guids. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the binary data. + + + + + Compares this BsonBinaryData to another BsonBinaryData. + + The other BsonBinaryData. + A 32-bit signed integer that indicates whether this BsonBinaryData is less than, equal to, or greather than the other. + + + + Compares the BsonBinaryData to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonBinaryData is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonBinaryData. + + An object to be mapped to a BsonBinaryData. + A BsonBinaryData or null. + + + + Compares this BsonBinaryData to another BsonBinaryData. + + The other BsonBinaryData. + True if the two BsonBinaryData values are equal. + + + + Compares this BsonBinaryData to another object. + + The other object. + True if the other object is a BsonBinaryData and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Gets the representation to use when representing the Guid as BSON binary data. + + + + + Compares two BsonBinaryData values. + + The first BsonBinaryData. + The other BsonBinaryData. + True if the two BsonBinaryData values are equal according to ==. + + + + Converts a byte array to a BsonBinaryData. + + A byte array. + A BsonBinaryData. + + + + Converts a Guid to a BsonBinaryData. + + A Guid. + A BsonBinaryData. + + + + Compares two BsonBinaryData values. + + The first BsonBinaryData. + The other BsonBinaryData. + True if the two BsonBinaryData values are not equal according to ==. + + + + Gets the BsonBinaryData as a Guid if the subtype is UuidStandard or UuidLegacy, otherwise null. + + + + + Gets the binary data subtype. + + + + + Converts this BsonBinaryData to a Guid. + + A Guid. + + + + Converts this BsonBinaryData to a Guid. + + The representation for Guids. + A Guid. + + + + Returns a string representation of the binary data. + + A string representation of the binary data. + + + + Represents the binary data subtype of a BsonBinaryData. + + + + + Binary data. + + + + + A function. + + + + + Obsolete binary data subtype (use Binary instead). + + + + + A UUID in a driver dependent legacy byte order. + + + + + A UUID in standard network byte order. + + + + + An MD5 hash. + + + + + User defined binary data. + + + + + Represents a BSON boolean value. + + + + + Initializes a new instance of the BsonBoolean class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonBoolean to another BsonBoolean. + + The other BsonBoolean. + A 32-bit signed integer that indicates whether this BsonBoolean is less than, equal to, or greather than the other. + + + + Compares the BsonBoolean to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonBoolean is less than, equal to, or greather than the other BsonValue. + + + + Returns one of the two possible BsonBoolean values. + + An object to be mapped to a BsonBoolean. + A BsonBoolean or null. + + + + Compares this BsonBoolean to another BsonBoolean. + + The other BsonBoolean. + True if the two BsonBoolean values are equal. + + + + Compares this BsonBoolean to another object. + + The other object. + True if the other object is a BsonBoolean and equal to this one. + + + + Gets the instance of BsonBoolean that represents false. + + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Compares two BsonBoolean values. + + The first BsonBoolean. + The other BsonBoolean. + True if the two BsonBoolean values are equal according to ==. + + + + Converts a bool to a BsonBoolean. + + A bool. + A BsonBoolean. + + + + Compares two BsonBoolean values. + + The first BsonBoolean. + The other BsonBoolean. + True if the two BsonBoolean values are not equal according to ==. + + + + Gets the BsonBoolean as a bool. + + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets the instance of BsonBoolean that represents true. + + + + + Gets the value of this BsonBoolean. + + + + + A static class containing BSON constants. + + + + + Gets the number of milliseconds since the Unix epoch for DateTime.MaxValue. + + + + + Gets the number of milliseconds since the Unix epoch for DateTime.MinValue. + + + + + Gets the Unix Epoch for BSON DateTimes (1970-01-01). + + + + + Represents a BSON DateTime value. + + + + + Initializes a new instance of the BsonDateTime class. + + A DateTime. + + + + Initializes a new instance of the BsonDateTime class. + + Milliseconds since Unix Epoch. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonDateTime to another BsonDateTime. + + The other BsonDateTime. + A 32-bit signed integer that indicates whether this BsonDateTime is less than, equal to, or greather than the other. + + + + Compares the BsonDateTime to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDateTime is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonDateTime. + + An object to be mapped to a BsonDateTime. + A BsonDateTime or null. + + + + Compares this BsonDateTime to another BsonDateTime. + + The other BsonDateTime. + True if the two BsonDateTime values are equal. + + + + Compares this BsonDateTime to another object. + + The other object. + True if the other object is a BsonDateTime and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToDateTime method. + + The format provider. + A DateTime. + + + + Gets whether this BsonDateTime is a valid .NET DateTime. + + + + + Gets the number of milliseconds since the Unix Epoch. + + + + + Compares two BsonDateTime values. + + The first BsonDateTime. + The other BsonDateTime. + True if the two BsonDateTime values are equal according to ==. + + + + Converts a DateTime to a BsonDateTime. + + A DateTime. + A BsonDateTime. + + + + Compares two BsonDateTime values. + + The first BsonDateTime. + The other BsonDateTime. + True if the two BsonDateTime values are not equal according to ==. + + + + Gets the number of milliseconds since the Unix Epoch. + + + + + Converts this BsonValue to a DateTime in local time. + + A DateTime. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Converts this BsonValue to a DateTime in UTC. + + A DateTime. + + + + Gets the DateTime value. + + + + + Represents a BSON Decimal128 value. + + + + + Initializes a new instance of the class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonDecimal128 to another BsonDecimal128. + + The other BsonDecimal128. + A 32-bit signed integer that indicates whether this BsonDecimal128 is less than, equal to, or greather than the other. + + + + Compares this BsonValue to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonValue is less than, equal to, or greather than the other BsonValue. + + + + Creates a new instance of the BsonDecimal128 class. + + An object to be mapped to a BsonDecimal128. + A BsonDecimal128. + + + + Compares this BsonDecimal128 to another BsonDecimal128. + + The other BsonDecimal128. + True if the two BsonDecimal128 values are equal. + + + + Compares this BsonValue to another object. + + The other object. + True if the other object is a BsonValue and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Compares two BsonDecimal128 values. + + The first BsonDecimal128. + The other BsonDecimal128. + True if the two BsonDecimal128 values are equal according to ==. + + + + Converts a Decimal128 to a BsonDecimal128. + + A Decimal128. + A BsonDecimal128. + + + + Compares two BsonDecimal128 values. + + The first BsonDecimal128. + The other BsonDecimal128. + True if the two BsonDecimal128 values are not equal according to ==. + + + + Implementation of operator ==. + + The other BsonValue. + True if the two BsonValues are equal according to ==. + + + + Gets the raw value of this BsonValue (or null if this BsonValue doesn't have a single scalar value). + + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a Decimal. + + A Decimal. + + + + Converts this BsonValue to a Decimal128. + + A Decimal128. + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int64. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the value. + + + + + A static helper class containing BSON defaults. + + + + + Gets or sets the dynamic array serializer. + + + + + Gets or sets the dynamic document serializer. + + + + + Gets or sets the default representation to be used in serialization of + Guids to the database. + + + + + Gets or sets the default max document size. The default is 4MiB. + + + + + Gets or sets the default max serialization depth (used to detect circular references during serialization). The default is 100. + + + + + Represents a BSON document. + + + + + Initializes a new instance of the BsonDocument class. + + + + + Initializes a new instance of the BsonDocument class and adds one element. + + An element to add to the document. + + + + Initializes a new instance of the BsonDocument class and adds one or more elements. + + One or more elements to add to the document. + + + + Initializes a new instance of the BsonDocument class specifying whether duplicate element names are allowed + (allowing duplicate element names is not recommended). + + Whether duplicate element names are allowed. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + A list of keys to select values from the dictionary. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + A list of keys to select values from the dictionary. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a list of elements. + + A list of elements to add to the document. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + A list of keys to select values from the dictionary. + + + + Initializes a new instance of the BsonDocument class and creates and adds a new element. + + The name of the element to add to the document. + The value of the element to add to the document. + + + + Adds an element to the document. + + The element to add. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + If the condition is false the value factory is not called at all. + + The name of the element. + A delegate called to compute the value of the element if condition is true. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Gets or sets whether to allow duplicate names (allowing duplicate names is not recommended). + + + + + Gets the BsonType of this BsonValue. + + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + A shallow clone of the document. + + + + Compares this document to another document. + + The other document. + A 32-bit signed integer that indicates whether this document is less than, equal to, or greather than the other. + + + + Compares the BsonDocument to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDocument is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + True if the document contains an element with the specified name. + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + True if the document contains an element with the specified value. + + + + Creates a new BsonDocument by mapping an object to a BsonDocument. + + The object to be mapped to a BsonDocument. + A BsonDocument. + + + + Creates a deep clone of the document (see also Clone). + + A deep clone of the document. + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Compares this document to another document. + + The other document. + True if the two documents are equal. + + + + Compares this BsonDocument to another object. + + The other object. + True if the other object is a BsonDocument and equal to this one. + + + + Gets an element of this document. + + The zero based index of the element. + The element. + + + + Gets an element of this document. + + The name of the element. + A BsonElement. + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the value of an element. + + The zero based index of the element. + The value of the element. + + + + Gets the value of an element. + + The name of the element. + The value of the element. + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + The value of the element or the default value if the element is not found. + + + + Gets the index of an element. + + The name of the element. + The index of the element, or -1 if the element is not found. + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value to return if the element is not found. + Teh value of the element or a default value if the element is not found. + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + The document (so method calls can be chained). + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + The document (so method calls can be chained). + + + + Gets the element names. + + + + + Compares two BsonDocument values. + + The first BsonDocument. + The other BsonDocument. + True if the two BsonDocument values are equal according to ==. + + + + Compares two BsonDocument values. + + The first BsonDocument. + The other BsonDocument. + True if the two BsonDocument values are not equal according to ==. + + + + Parses a JSON string and returns a BsonDocument. + + The JSON string. + A BsonDocument. + + + + Gets the raw values (see BsonValue.RawValue). + + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + The document (so method calls can be chained). + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + The document (so method calls can be chained). + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + The document. + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + The document. + + + + Converts the BsonDocument to a Dictionary<string, object>. + + A dictionary. + + + + Converts the BsonDocument to a Hashtable. + + A hashtable. + + + + Returns a string representation of the document. + + A string representation of the document. + + + + Tries to get an element of this document. + + The name of the element. + The element. + True if an element with that name was found. + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + True if an element with that name was found. + + + + Tries to parse a JSON string and returns a value indicating whether it succeeded or failed. + + The JSON string. + The result. + Whether it succeeded or failed. + + + + Gets the values. + + + + + Represents a BsonDocument wrapper. + + + + + Initializes a new instance of the class. + + The value. + + + + Initializes a new instance of the class. + + The value. + The serializer. + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Creates a new instance of the BsonDocumentWrapper class. + + The nominal type of the wrapped object. + The wrapped object. + A BsonDocumentWrapper. + + + + Creates a new instance of the BsonDocumentWrapper class. + + The wrapped object. + The nominal type of the wrapped object. + A BsonDocumentWrapper. + + + + Creates a list of new instances of the BsonDocumentWrapper class. + + A list of wrapped objects. + The nominal type of the wrapped objects. + A list of BsonDocumentWrappers. + + + + Creates a list of new instances of the BsonDocumentWrapper class. + + The nominal type of the wrapped object. + A list of wrapped objects. + A list of BsonDocumentWrappers. + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Gets the serializer. + + + + + Gets the wrapped value. + + + + + Represents a BSON double value. + + + + + Initializes a new instance of the BsonDouble class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonDouble to another BsonDouble. + + The other BsonDouble. + A 32-bit signed integer that indicates whether this BsonDouble is less than, equal to, or greather than the other. + + + + Compares this BsonValue to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonValue is less than, equal to, or greather than the other BsonValue. + + + + Creates a new instance of the BsonDouble class. + + An object to be mapped to a BsonDouble. + A BsonDouble. + + + + Compares this BsonDouble to another BsonDouble. + + The other BsonDouble. + True if the two BsonDouble values are equal. + + + + Compares this BsonValue to another object. + + The other object. + True if the other object is a BsonValue and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Compares two BsonDouble values. + + The first BsonDouble. + The other BsonDouble. + True if the two BsonDouble values are equal according to ==. + + + + Converts a double to a BsonDouble. + + A double. + A BsonDouble. + + + + Compares two BsonDouble values. + + The first BsonDouble. + The other BsonDouble. + True if the two BsonDouble values are not equal according to ==. + + + + Implementation of operator ==. + + The other BsonValue. + True if the two BsonValues are equal according to ==. + + + + Gets the raw value of this BsonValue (or null if this BsonValue doesn't have a single scalar value). + + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a Decimal. + + A Decimal. + + + + Converts this BsonValue to a Decimal128. + + A Decimal128. + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int64. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the value of this BsonDouble. + + + + + Represents a BSON element. + + + + + Initializes a new instance of the BsonElement class. + + The name of the element. + The value of the element. + + + + Creates a shallow clone of the element (see also DeepClone). + + A shallow clone of the element. + + + + Compares this BsonElement to another BsonElement. + + The other BsonElement. + A 32-bit signed integer that indicates whether this BsonElement is less than, equal to, or greather than the other. + + + + Creates a deep clone of the element (see also Clone). + + A deep clone of the element. + + + + Compares this BsonElement to another BsonElement. + + The other BsonElement. + True if the two BsonElement values are equal. + + + + Compares this BsonElement to another object. + + The other object. + True if the other object is a BsonElement and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Gets the name of the element. + + + + + Compares two BsonElements. + + The first BsonElement. + The other BsonElement. + True if the two BsonElements are equal (or both null). + + + + Compares two BsonElements. + + The first BsonElement. + The other BsonElement. + True if the two BsonElements are not equal (or one is null and the other is not). + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets or sets the value of the element. + + + + + Represents a BSON exception. + + + + + Initializes a new instance of the BsonException class. + + + + + Initializes a new instance of the BsonException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the BsonException class. + + The error message. + + + + Initializes a new instance of the BsonException class. + + The error message. + The inner exception. + + + + Initializes a new instance of the BsonException class. + + The error message format string. + One or more args for the error message. + + + + A static class containing BSON extension methods. + + + + + Serializes an object to a BSON byte array. + + The object. + The nominal type of the object.. + The writer settings. + The serializer. + The serialization context configurator. + The serialization args. + A BSON byte array. + nominalType + serializer + + + + Serializes an object to a BSON byte array. + + The object. + The serializer. + The writer settings. + The serialization context configurator. + The serialization args. + The nominal type of the object. + A BSON byte array. + + + + Serializes an object to a BsonDocument. + + The object. + The nominal type of the object. + The serializer. + The serialization context configurator. + The serialization args. + A BsonDocument. + nominalType + serializer + + + + Serializes an object to a BsonDocument. + + The object. + The serializer. + The serialization context configurator. + The serialization args. + The nominal type of the object. + A BsonDocument. + + + + Serializes an object to a JSON string. + + The object. + The nominal type of the objectt. + The JsonWriter settings. + The serializer. + The serialization context configurator. + The serialization args. + + A JSON string. + + nominalType + serializer + + + + Serializes an object to a JSON string. + + The object. + The JsonWriter settings. + The serializer. + The serializastion context configurator. + The serialization args. + The nominal type of the object. + + A JSON string. + + + + + Represents a BSON int value. + + + + + Creates a new instance of the BsonInt32 class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonInt32 to another BsonInt32. + + The other BsonInt32. + A 32-bit signed integer that indicates whether this BsonInt32 is less than, equal to, or greather than the other. + + + + Compares the BsonInt32 to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonInt32 is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonInt32. + + An object to be mapped to a BsonInt32. + A BsonInt32 or null. + + + + Compares this BsonInt32 to another BsonInt32. + + The other BsonInt32. + True if the two BsonInt32 values are equal. + + + + Compares this BsonInt32 to another object. + + The other object. + True if the other object is a BsonInt32 and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToChar method. + + The format provider. + A char. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Gets an instance of BsonInt32 that represents -1. + + + + + Gets an instance of BsonInt32 that represents 1. + + + + + Compares two BsonInt32 values. + + The first BsonInt32. + The other BsonInt32. + True if the two BsonInt32 values are equal according to ==. + + + + Converts an int to a BsonInt32. + + An int. + A BsonInt32. + + + + Compares two BsonInt32 values. + + The first BsonInt32. + The other BsonInt32. + True if the two BsonInt32 values are not equal according to ==. + + + + Compares this BsonInt32 against another BsonValue. + + The other BsonValue. + True if this BsonInt32 and the other BsonValue are equal according to ==. + + + + Gets the BsonInt32 as an int. + + + + + Gets an instance of BsonInt32 that represents 3. + + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a Decimal. + + A Decimal. + + + + Converts this BsonValue to a Decimal128. + + A Decimal128. + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets an instance of BsonInt32 that represents 2. + + + + + Gets the value of this BsonInt32. + + + + + Gets an instance of BsonInt32 that represents -0. + + + + + Represents a BSON long value. + + + + + Initializes a new instance of the BsonInt64 class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonInt64 to another BsonInt64. + + The other BsonInt64. + A 32-bit signed integer that indicates whether this BsonInt64 is less than, equal to, or greather than the other. + + + + Compares the BsonInt64 to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonInt64 is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonInt64. + + An object to be mapped to a BsonInt64. + A BsonInt64 or null. + + + + Compares this BsonInt64 to another BsonInt64. + + The other BsonInt64. + True if the two BsonInt64 values are equal. + + + + Compares this BsonInt64 to another object. + + The other object. + True if the other object is a BsonInt64 and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToChar method. + + The format provider. + A char. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Compares two BsonInt64 values. + + The first BsonInt64. + The other BsonInt64. + True if the two BsonInt64 values are equal according to ==. + + + + Converts a long to a BsonInt64. + + A long. + A BsonInt64. + + + + Compares two BsonInt64 values. + + The first BsonInt64. + The other BsonInt64. + True if the two BsonInt64 values are not equal according to ==. + + + + Compares this BsonInt32 against another BsonValue. + + The other BsonValue. + True if this BsonInt64 and the other BsonValue are equal according to ==. + + + + Gets the BsonInt64 as a long. + + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a Decimal. + + A Decimal. + + + + Converts this BsonValue to a Decimal128. + + A Decimal128. + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets the value of this BsonInt64. + + + + + Represents a BSON internal exception (almost surely the result of a bug). + + + + + Initializes a new instance of the BsonInternalException class. + + + + + Initializes a new instance of the BsonInternalException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the BsonInternalException class. + + The error message. + + + + Initializes a new instance of the BsonInternalException class. + + The error message. + The inner exception. + + + + Represents a BSON JavaScript value. + + + + + Initializes a new instance of the BsonJavaScript class. + + The JavaScript code. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the JavaScript code. + + + + + Compares this BsonJavaScript to another BsonJavaScript. + + The other BsonJavaScript. + A 32-bit signed integer that indicates whether this BsonJavaScript is less than, equal to, or greather than the other. + + + + Compares the BsonJavaScript to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonJavaScript is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonJavaScript. + + An object to be mapped to a BsonJavaScript. + A BsonJavaScript or null. + + + + Compares this BsonJavaScript to another BsonJavaScript. + + The other BsonJavaScript. + True if the two BsonJavaScript values are equal. + + + + Compares this BsonJavaScript to another object. + + The other object. + True if the other object is a BsonJavaScript and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Compares two BsonJavaScript values. + + The first BsonJavaScript. + The other BsonJavaScript. + True if the two BsonJavaScript values are equal according to ==. + + + + Converts a string to a BsonJavaScript. + + A string. + A BsonJavaScript. + + + + Compares two BsonJavaScript values. + + The first BsonJavaScript. + The other BsonJavaScript. + True if the two BsonJavaScript values are not equal according to ==. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON JavaScript value with a scope. + + + + + Initializes a new instance of the BsonJavaScriptWithScope class. + + The JavaScript code. + A scope (a set of variables with values). + + + + Gets the BsonType of this BsonValue. + + + + + Creates a shallow clone of the BsonJavaScriptWithScope (see also DeepClone). + + A shallow clone of the BsonJavaScriptWithScope. + + + + Compares this BsonJavaScriptWithScope to another BsonJavaScriptWithScope. + + The other BsonJavaScriptWithScope. + A 32-bit signed integer that indicates whether this BsonJavaScriptWithScope is less than, equal to, or greather than the other. + + + + Compares the BsonJavaScriptWithScope to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonJavaScriptWithScope is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonJavaScriptWithScope. + + An object to be mapped to a BsonJavaScriptWithScope. + A BsonJavaScriptWithScope or null. + + + + Creates a deep clone of the BsonJavaScriptWithScope (see also Clone). + + A deep clone of the BsonJavaScriptWithScope. + + + + Compares this BsonJavaScriptWithScope to another BsonJavaScriptWithScope. + + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are equal. + + + + Compares this BsonJavaScriptWithScope to another object. + + The other object. + True if the other object is a BsonJavaScriptWithScope and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Compares two BsonJavaScriptWithScope values. + + The first BsonJavaScriptWithScope. + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are equal according to ==. + + + + Compares two BsonJavaScriptWithScope values. + + The first BsonJavaScriptWithScope. + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are not equal according to ==. + + + + Gets the scope (a set of variables with values). + + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the BSON MaxKey value. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonMaxKey to another BsonMaxKey. + + The other BsonMaxKey. + A 32-bit signed integer that indicates whether this BsonMaxKey is less than, equal to, or greather than the other. + + + + Compares the BsonMaxKey to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonMaxKey is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonMaxKey to another BsonMaxKey. + + The other BsonMaxKey. + True if the two BsonMaxKey values are equal. + + + + Compares this BsonMaxKey to another object. + + The other object. + True if the other object is a BsonMaxKey and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Compares two BsonMaxKey values. + + The first BsonMaxKey. + The other BsonMaxKey. + True if the two BsonMaxKey values are equal according to ==. + + + + Compares two BsonMaxKey values. + + The first BsonMaxKey. + The other BsonMaxKey. + True if the two BsonMaxKey values are not equal according to ==. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets the singleton instance of BsonMaxKey. + + + + + Represents the BSON MinKey value. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonMinKey to another BsonMinKey. + + The other BsonMinKey. + A 32-bit signed integer that indicates whether this BsonMinKey is less than, equal to, or greather than the other. + + + + Compares the BsonMinKey to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonMinKey is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonMinKey to another BsonMinKey. + + The other BsonMinKey. + True if the two BsonMinKey values are equal. + + + + Compares this BsonMinKey to another object. + + The other object. + True if the other object is a BsonMinKey and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Compares two BsonMinKey values. + + The first BsonMinKey. + The other BsonMinKey. + True if the two BsonMinKey values are equal according to ==. + + + + Compares two BsonMinKey values. + + The first BsonMinKey. + The other BsonMinKey. + True if the two BsonMinKey values are not equal according to ==. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets the singleton instance of BsonMinKey. + + + + + Represents the BSON Null value. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonNull to another BsonNull. + + The other BsonNull. + A 32-bit signed integer that indicates whether this BsonNull is less than, equal to, or greather than the other. + + + + Compares the BsonNull to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonNull is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonNull to another BsonNull. + + The other BsonNull. + True if the two BsonNull values are equal. + + + + Compares this BsonNull to another object. + + The other object. + True if the other object is a BsonNull and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Compares two BsonNull values. + + The first BsonNull. + The other BsonNull. + True if the two BsonNull values are equal according to ==. + + + + Compares two BsonNull values. + + The first BsonNull. + The other BsonNull. + True if the two BsonNull values are not equal according to ==. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets the singleton instance of BsonNull. + + + + + Represents a BSON ObjectId value (see also ObjectId). + + + + + Initializes a new instance of the BsonObjectId class. + + The value. + + + + Initializes a new instance of the BsonObjectId class. + + The bytes. + + + + Initializes a new instance of the BsonObjectId class. + + The timestamp (expressed as a DateTime). + The machine hash. + The PID. + The increment. + + + + Initializes a new instance of the BsonObjectId class. + + The timestamp. + The machine hash. + The PID. + The increment. + + + + Initializes a new instance of the BsonObjectId class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonObjectId to another BsonObjectId. + + The other BsonObjectId. + A 32-bit signed integer that indicates whether this BsonObjectId is less than, equal to, or greather than the other. + + + + Compares the BsonObjectId to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonObjectId is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonObjectId. + + An object to be mapped to a BsonObjectId. + A BsonObjectId or null. + + + + Gets the creation time (derived from the timestamp). + + + + + Gets an instance of BsonObjectId where the value is empty. + + + + + Compares this BsonObjectId to another BsonObjectId. + + The other BsonObjectId. + True if the two BsonObjectId values are equal. + + + + Compares this BsonObjectId to another object. + + The other object. + True if the other object is a BsonObjectId and equal to this one. + + + + Generates a new BsonObjectId with a unique value. + + A BsonObjectId. + + + + Generates a new BsonObjectId with a unique value (with the timestamp component based on a given DateTime). + + The timestamp component (expressed as a DateTime). + A BsonObjectId. + + + + Generates a new BsonObjectId with a unique value (with the given timestamp). + + The timestamp component. + A BsonObjectId. + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Gets the increment. + + + + + Gets the machine. + + + + + Compares two BsonObjectId values. + + The first BsonObjectId. + The other BsonObjectId. + True if the two BsonObjectId values are equal according to ==. + + + + Converts an ObjectId to a BsonObjectId. + + An ObjectId. + A BsonObjectId. + + + + Compares two BsonObjectId values. + + The first BsonObjectId. + The other BsonObjectId. + True if the two BsonObjectId values are not equal according to ==. + + + + Parses a string and creates a new BsonObjectId. + + The string value. + A BsonObjectId. + + + + Gets the PID. + + + + + Gets the BsonObjectId as an ObjectId. + + + + + Gets the timestamp. + + + + + Converts the BsonObjectId to a byte array. + + A byte array. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Tries to parse a string and create a new BsonObjectId. + + The string value. + The new BsonObjectId. + True if the string was parsed successfully. + + + + Gets the value of this BsonObjectId. + + + + + Represents a BSON regular expression value. + + + + + Initializes a new instance of the BsonRegularExpression class. + + A regular expression pattern. + + + + Initializes a new instance of the BsonRegularExpression class. + + A regular expression pattern. + Regular expression options. + + + + Initializes a new instance of the BsonRegularExpression class. + + A Regex. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonRegularExpression to another BsonRegularExpression. + + The other BsonRegularExpression. + A 32-bit signed integer that indicates whether this BsonRegularExpression is less than, equal to, or greather than the other. + + + + Compares the BsonRegularExpression to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonRegularExpression is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonRegularExpression. + + An object to be mapped to a BsonRegularExpression. + A BsonRegularExpression or null. + + + + Compares this BsonRegularExpression to another BsonRegularExpression. + + The other BsonRegularExpression. + True if the two BsonRegularExpression values are equal. + + + + Compares this BsonRegularExpression to another object. + + The other object. + True if the other object is a BsonRegularExpression and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Compares two BsonRegularExpression values. + + The first BsonRegularExpression. + The other BsonRegularExpression. + True if the two BsonRegularExpression values are equal according to ==. + + + + Converts a string to a BsonRegularExpression. + + A string. + A BsonRegularExpression. + + + + Converts a Regex to a BsonRegularExpression. + + A Regex. + A BsonRegularExpression. + + + + Compares two BsonRegularExpression values. + + The first BsonRegularExpression. + The other BsonRegularExpression. + True if the two BsonRegularExpression values are not equal according to ==. + + + + Gets the regular expression options. + + + + + Gets the regular expression pattern. + + + + + Converts the BsonRegularExpression to a Regex. + + A Regex. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON serialization exception. + + + + + Initializes a new instance of the BsonSerializationException class. + + + + + Initializes a new instance of the BsonSerializationException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the BsonSerializationException class. + + The error message. + + + + Initializes a new instance of the BsonSerializationException class. + + The error message. + The inner exception. + + + + Represents a BSON string value. + + + + + Initializes a new instance of the BsonString class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonString to another BsonString. + + The other BsonString. + A 32-bit signed integer that indicates whether this BsonString is less than, equal to, or greather than the other. + + + + Compares the BsonString to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonString is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonString. + + An object to be mapped to a BsonString. + A BsonString or null. + + + + Gets an instance of BsonString that represents an empty string. + + + + + Compares this BsonString to another BsonString. + + The other BsonString. + True if the two BsonString values are equal. + + + + Compares this BsonString to another object. + + The other object. + True if the other object is a BsonString and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToChar method. + + The format provider. + A char. + + + + Implementation of the IConvertible ToDateTime method. + + The format provider. + A DateTime. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Compares two BsonString values. + + The first BsonString. + The other BsonString. + True if the two BsonString values are equal according to ==. + + + + Converts a string to a BsonString. + + A string. + A BsonString. + + + + Compares two BsonString values. + + The first BsonString. + The other BsonString. + True if the two BsonString values are not equal according to ==. + + + + Gets the BsonString as a string. + + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a Decimal. + + A Decimal. + + + + Converts this BsonValue to a Decimal128. + + A Decimal128. + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets the value of this BsonString. + + + + + Represents a BSON symbol value. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonSymbol to another BsonSymbol. + + The other BsonSymbol. + A 32-bit signed integer that indicates whether this BsonSymbol is less than, equal to, or greather than the other. + + + + Compares the BsonSymbol to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonSymbol is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonSymbol. + + An object to be mapped to a BsonSymbol. + A BsonSymbol or null. + + + + Compares this BsonSymbol to another BsonSymbol. + + The other BsonSymbol. + True if the two BsonSymbol values are equal. + + + + Compares this BsonSymbol to another object. + + The other object. + True if the other object is a BsonSymbol and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Gets the name of the symbol. + + + + + Compares two BsonSymbol values. + + The first BsonSymbol. + The other BsonSymbol. + True if the two BsonSymbol values are equal according to ==. + + + + Converts a string to a BsonSymbol. + + A string. + A BsonSymbol. + + + + Compares two BsonSymbol values. + + The first BsonSymbol. + The other BsonSymbol. + True if the two BsonSymbol values are not equal according to ==. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the symbol table of BsonSymbols. + + + + + Looks up a symbol (and creates a new one if necessary). + + The name of the symbol. + The symbol. + + + + Represents a BSON timestamp value. + + + + + Initializes a new instance of the BsonTimestamp class. + + The timestamp. + The increment. + + + + Initializes a new instance of the BsonTimestamp class. + + The combined timestamp/increment value. + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonTimestamp to another BsonTimestamp. + + The other BsonTimestamp. + A 32-bit signed integer that indicates whether this BsonTimestamp is less than, equal to, or greather than the other. + + + + Compares the BsonTimestamp to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonTimestamp is less than, equal to, or greather than the other BsonValue. + + + + Creates a new BsonTimestamp. + + An object to be mapped to a BsonTimestamp. + A BsonTimestamp or null. + + + + Compares this BsonTimestamp to another BsonTimestamp. + + The other BsonTimestamp. + True if the two BsonTimestamp values are equal. + + + + Compares this BsonTimestamp to another object. + + The other object. + True if the other object is a BsonTimestamp and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Gets the increment. + + + + + Compares two BsonTimestamp values. + + The first BsonTimestamp. + The other BsonTimestamp. + True if the two BsonTimestamp values are equal according to ==. + + + + Compares two BsonTimestamp values. + + The first BsonTimestamp. + The other BsonTimestamp. + True if the two BsonTimestamp values are not equal according to ==. + + + + Gets the timestamp. + + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets the value of this BsonTimestamp. + + + + + Represents the type of a BSON element. + + + + + Not a real BSON type. Used to signal the end of a document. + + + + + A BSON double. + + + + + A BSON string. + + + + + A BSON document. + + + + + A BSON array. + + + + + BSON binary data. + + + + + A BSON undefined value. + + + + + A BSON ObjectId. + + + + + A BSON bool. + + + + + A BSON DateTime. + + + + + A BSON null value. + + + + + A BSON regular expression. + + + + + BSON JavaScript code. + + + + + A BSON symbol. + + + + + BSON JavaScript code with a scope (a set of variables with values). + + + + + A BSON 32-bit integer. + + + + + A BSON timestamp. + + + + + A BSON 64-bit integer. + + + + + A BSON 128-bit decimal. + + + + + A BSON MinKey value. + + + + + A BSON MaxKey value. + + + + + A static class that maps between .NET objects and BsonValues. + + + + + Maps an object to an instance of the closest BsonValue class. + + An object. + A BsonValue. + + + + Maps an object to a specific BsonValue type. + + An object. + The BsonType to map to. + A BsonValue of the desired type (or BsonNull.Value if value is null and bsonType is Null). + + + + Maps a BsonValue to a .NET value using the default BsonTypeMapperOptions. + + The BsonValue. + The mapped .NET value. + + + + Maps a BsonValue to a .NET value. + + The BsonValue. + The BsonTypeMapperOptions. + The mapped .NET value. + + + + Registers a custom type mapper. + + The type. + A custom type mapper. + + + + Tries to map an object to an instance of the closest BsonValue class. + + An object. + The BsonValue. + True if the mapping was successfull. + + + + Represents options used by the BsonTypeMapper. + + + + + Initializes a new instance of the BsonTypeMapperOptions class. + + + + + Clones the BsonTypeMapperOptions. + + The cloned BsonTypeMapperOptions. + + + + Gets or sets the default BsonTypeMapperOptions. + + + + + Gets or sets how duplicate names should be handled. + + + + + Freezes the BsonTypeMapperOptions. + + The frozen BsonTypeMapperOptions. + + + + Gets whether the BsonTypeMapperOptions is frozen. + + + + + Gets or sets the type that a BsonArray should be mapped to. + + + + + Gets or sets the type that a BsonDocument should be mapped to. + + + + + Gets or sets whether binary sub type OldBinary should be mapped to byte[] the way sub type Binary is. + + + + + Represents the BSON undefined value. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonUndefined to another BsonUndefined. + + The other BsonUndefined. + A 32-bit signed integer that indicates whether this BsonUndefined is less than, equal to, or greather than the other. + + + + Compares the BsonUndefined to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonUndefined is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonUndefined to another BsonUndefined. + + The other BsonUndefined. + True if the two BsonUndefined values are equal. + + + + Compares this BsonUndefined to another object. + + The other object. + True if the other object is a BsonUndefined and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Compares two BsonUndefined values. + + The first BsonUndefined. + The other BsonUndefined. + True if the two BsonUndefined values are equal according to ==. + + + + Compares two BsonUndefined values. + + The first BsonUndefined. + The other BsonUndefined. + True if the two BsonUndefined values are not equal according to ==. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Gets the singleton instance of BsonUndefined. + + + + + A static class containing BSON utility methods. + + + + + Gets a friendly class name suitable for use in error messages. + + The type. + A friendly class name. + + + + Parses a hex string into its equivalent byte array. + + The hex string to parse. + The byte equivalent of the hex string. + + + + Converts from number of milliseconds since Unix epoch to DateTime. + + The number of milliseconds since Unix epoch. + A DateTime. + + + + Converts a byte array to a hex string. + + The byte array. + A hex string. + + + + Converts a DateTime to local time (with special handling for MinValue and MaxValue). + + A DateTime. + The DateTime in local time. + + + + Converts a DateTime to number of milliseconds since Unix epoch. + + A DateTime. + Number of seconds since Unix epoch. + + + + Converts a DateTime to UTC (with special handling for MinValue and MaxValue). + + A DateTime. + The DateTime in UTC. + + + + Tries to parse a hex string to a byte array. + + The hex string. + A byte array. + True if the hex string was successfully parsed. + + + + Represents a BSON value (this is an abstract class, see the various subclasses). + + + + + + + MongoDB.Bson.BsonValue + + + + + + + Casts the BsonValue to a Boolean (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonArray (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonBinaryData (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonDateTime (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonDocument (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonJavaScript (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonJavaScriptWithScope (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonMaxKey (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonMinKey (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonNull (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonRegularExpression (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonSymbol (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonTimestamp (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonUndefined (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonValue (a way of upcasting subclasses of BsonValue to BsonValue at compile time). + + + + + Casts the BsonValue to a Byte[] (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a DateTime in UTC (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Double (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Guid (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to an Int32 (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Int64 (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a DateTime in the local timezone (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Boolean} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{DateTime} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Decimal} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Decimal128} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Double} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Guid} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Int32} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Int64} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{ObjectId} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to an ObjectId (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Regex (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a String (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a DateTime in UTC (throws an InvalidCastException if the cast is not valid). + + + + + Gets the BsonType of this BsonValue. + + + + + Creates a shallow clone of the BsonValue (see also DeepClone). + + A shallow clone of the BsonValue. + + + + Compares this BsonValue to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonValue is less than, equal to, or greather than the other BsonValue. + + + + Compares the type of this BsonValue to the type of another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether the type of this BsonValue is less than, equal to, or greather than the type of the other BsonValue. + + + + Creates a new instance of the BsonValue class. + + A value to be mapped to a BsonValue. + A BsonValue. + + + + Creates a deep clone of the BsonValue (see also Clone). + + A deep clone of the BsonValue. + + + + Compares this BsonValue to another BsonValue. + + The other BsonValue. + True if the two BsonValue values are equal. + + + + Compares this BsonValue to another object. + + The other object. + True if the other object is a BsonValue and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToChar method. + + The format provider. + A char. + + + + Implementation of the IConvertible ToDateTime method. + + The format provider. + A DateTime. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Tests whether this BsonValue is a Boolean. + + + + + Tests whether this BsonValue is a BsonArray. + + + + + Tests whether this BsonValue is a BsonBinaryData. + + + + + Tests whether this BsonValue is a BsonDateTime. + + + + + Tests whether this BsonValue is a BsonDocument. + + + + + Tests whether this BsonValue is a BsonJavaScript. + + + + + Tests whether this BsonValue is a BsonJavaScriptWithScope. + + + + + Tests whether this BsonValue is a BsonMaxKey. + + + + + Tests whether this BsonValue is a BsonMinKey. + + + + + Tests whether this BsonValue is a BsonNull. + + + + + Tests whether this BsonValue is a BsonRegularExpression. + + + + + Tests whether this BsonValue is a BsonSymbol . + + + + + Tests whether this BsonValue is a BsonTimestamp. + + + + + Tests whether this BsonValue is a BsonUndefined. + + + + + Tests whether this BsonValue is a DateTime. + + + + + Tests whether this BsonValue is a Decimal128. + + + + + Tests whether this BsonValue is a Double. + + + + + Tests whether this BsonValue is a Guid. + + + + + Tests whether this BsonValue is an Int32. + + + + + Tests whether this BsonValue is an Int64. + + + + + Tests whether this BsonValue is a numeric value. + + + + + Tests whether this BsonValue is an ObjectId . + + + + + Tests whether this BsonValue is a String. + + + + + Tests whether this BsonValue is a valid DateTime. + + + + + Gets or sets a value by position (only applies to BsonDocument and BsonArray). + + The position. + The value. + + + + Gets or sets a value by name (only applies to BsonDocument). + + The name. + The value. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the two BsonValues are equal according to ==. + + + + Casts a BsonValue to a bool. + + The BsonValue. + A bool. + + + + Casts a BsonValue to a bool?. + + The BsonValue. + A bool?. + + + + Casts a BsonValue to a byte[]. + + The BsonValue. + A byte[]. + + + + Casts a BsonValue to a DateTime. + + The BsonValue. + A DateTime. + + + + Casts a BsonValue to a DateTime?. + + The BsonValue. + A DateTime?. + + + + Casts a BsonValue to a decimal. + + The BsonValue. + A decimal. + + + + Casts a BsonValue to a decimal?. + + The BsonValue. + A decimal?. + + + + Casts a BsonValue to a . + + The BsonValue. + A . + + + + Casts a BsonValue to a nullable ?. + + The BsonValue. + A nullable . + + + + Casts a BsonValue to a double. + + The BsonValue. + A double. + + + + Casts a BsonValue to a double?. + + The BsonValue. + A double?. + + + + Casts a BsonValue to a Guid. + + The BsonValue. + A Guid. + + + + Casts a BsonValue to a Guid?. + + The BsonValue. + A Guid?. + + + + Casts a BsonValue to an int. + + The BsonValue. + An int. + + + + Casts a BsonValue to an int?. + + The BsonValue. + An int?. + + + + Casts a BsonValue to a long. + + The BsonValue. + A long. + + + + Casts a BsonValue to a long?. + + The BsonValue. + A long?. + + + + Casts a BsonValue to an ObjectId. + + The BsonValue. + An ObjectId. + + + + Casts a BsonValue to an ObjectId?. + + The BsonValue. + An ObjectId?. + + + + Casts a BsonValue to a Regex. + + The BsonValue. + A Regex. + + + + Casts a BsonValue to a string. + + The BsonValue. + A string. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is greater than the other one. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is greater than or equal to the other one. + + + + Converts a to a BsonValue. + + A Decimal128. + A BsonValue. + + + + Converts an ObjectId to a BsonValue. + + An ObjectId. + A BsonValue. + + + + Converts a bool to a BsonValue. + + A bool. + A BsonValue. + + + + Converts a byte[] to a BsonValue. + + A byte[]. + A BsonValue. + + + + Converts a DateTime to a BsonValue. + + A DateTime. + A BsonValue. + + + + Converts a decimal to a BsonValue. + + A decimal. + A BsonValue. + + + + Converts a double to a BsonValue. + + A double. + A BsonValue. + + + + Converts an Enum to a BsonValue. + + An Enum. + A BsonValue. + + + + Converts a Guid to a BsonValue. + + A Guid. + A BsonValue. + + + + Converts an int to a BsonValue. + + An int. + A BsonValue. + + + + Converts a long to a BsonValue. + + A long. + A BsonValue. + + + + Converts a nullable to a BsonValue. + + A Decimal128?. + A BsonValue. + + + + Converts an ObjectId? to a BsonValue. + + An ObjectId?. + A BsonValue. + + + + Converts a bool? to a BsonValue. + + A bool?. + A BsonValue. + + + + Converts a DateTime? to a BsonValue. + + A DateTime?. + A BsonValue. + + + + Converts a decimal? to a BsonValue. + + A decimal?. + A BsonValue. + + + + Converts a double? to a BsonValue. + + A double?. + A BsonValue. + + + + Converts a Guid? to a BsonValue. + + A Guid?. + A BsonValue. + + + + Converts an int? to a BsonValue. + + An int?. + A BsonValue. + + + + Converts a long? to a BsonValue. + + A long?. + A BsonValue. + + + + Converts a string to a BsonValue. + + A string. + A BsonValue. + + + + Converts a Regex to a BsonValue. + + A Regex. + A BsonValue. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the two BsonValues are not equal according to ==. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is less than the other one. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is less than or equal to the other one. + + + + Implementation of operator ==. + + The other BsonValue. + True if the two BsonValues are equal according to ==. + + + + Gets the raw value of this BsonValue (or null if this BsonValue doesn't have a single scalar value). + + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a Decimal. + + A Decimal. + + + + Converts this BsonValue to a Decimal128. + + A Decimal128. + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int64. + + + + Converts this BsonValue to a DateTime in local time. + + A DateTime. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Converts this BsonValue to a DateTime in UTC. + + A DateTime. + + + + Represents a Decimal128 value. + + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Compares two specified Decimal128 values and returns an integer that indicates whether the first value + is greater than, less than, or equal to the second value. + + The first value. + The second value. + Less than zero if x < y, zero if x == y, and greater than zero if x > y. + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + An object to compare with this instance. + A value that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance precedes in the sort order. Zero This instance occurs in the same position in the sort order as . Greater than zero This instance follows in the sort order. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + + Determines whether the specified Decimal128 instances are considered equal. + + The first Decimal128 object to compare. + The second Decimal128 object to compare. + True if the objects are considered equal; otherwise false. If both x and y are null, the method returns true. + + + Indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if and this instance are the same type and represent the same value; otherwise, false. + + + + Creates a new Decimal128 value from its components. + + if set to true [is negative]. + The exponent. + The signficand high bits. + The significand low bits. + A Decimal128 value. + + + + Creates a new Decimal128 value from the IEEE encoding bits. + + The high bits. + The low bits. + A Decimal128 value. + + + + Gets the exponent of a Decimal128 value. + + The Decimal128 value. + The exponent. + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + + Gets the high order 64 bits of the binary representation of this instance. + + The high order 64 bits of the binary representation of this instance. + + + + Gets the low order 64 bits of the binary representation of this instance. + + The low order 64 bits of the binary representation of this instance. + + + + Gets the high bits of the significand of a Decimal128 value. + + The Decimal128 value. + The high bits of the significand. + + + + Gets the high bits of the significand of a Decimal128 value. + + The Decimal128 value. + The high bits of the significand. + + + + Returns a value indicating whether the specified number evaluates to negative or positive infinity. + + A 128-bit decimal. + true if evaluates to negative or positive infinity; otherwise, false. + + + + Returns a value indicating whether the specified number is not a number. + + A 128-bit decimal. + true if is not a number; otherwise, false. + + + + Returns a value indicating whether the specified number is negative. + + A 128-bit decimal. + true if is negative; otherwise, false. + + + + Returns a value indicating whether the specified number evaluates to negative infinity. + + A 128-bit decimal. + true if evaluates to negative infinity; otherwise, false. + + + + Returns a value indicating whether the specified number evaluates to positive infinity. + + A 128-bit decimal. + true if evaluates to positive infinity; otherwise, false. + + + + Returns a value indicating whether the specified number is a quiet not a number. + + A 128-bit decimal. + true if is a quiet not a number; otherwise, false. + + + + Returns a value indicating whether the specified number is a signaled not a number. + + A 128-bit decimal. + true if is a signaled not a number; otherwise, false. + + + + Gets a value indicating whether this instance is zero. + + + + + param + d + M:MongoDB.Bson.Decimal128.IsZero(MongoDB.Bson.Decimal128) + + + + + true if this instance is zero; otherwise, false. + + + + + Gets the maximum value. + + + + + Gets the minimum value. + + + + + Negates the specified x. + + The x. + The result of multiplying the value by negative one. + + + + Represents negative infinity. + + + + + Represents one. + + + + + Implements the operator ==. + + The LHS. + The RHS. + + The result of the operator. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Returns a value indicating whether a specified Decimal128 is greater than another specified Decimal128. + + The first value. + The second value. + + true if x > y; otherwise, false. + + + + + Returns a value indicating whether a specified Decimal128 is greater than or equal to another another specified Decimal128. + + The first value. + The second value. + + true if x >= y; otherwise, false. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Implements the operator !=. + + The LHS. + The RHS. + + The result of the operator. + + + + + Returns a value indicating whether a specified Decimal128 is less than another specified Decimal128. + + The first value. + The second value. + + true if x < y; otherwise, false. + + + + + Returns a value indicating whether a specified Decimal128 is less than or equal to another another specified Decimal128. + + The first value. + The second value. + + true if x <= y; otherwise, false. + + + + + Converts the string representation of a number to its equivalent. + + The string representation of the number to convert. + + The equivalent to the number contained in . + + + + + Represents positive infinity. + + + + + Represents a value that is not a number. + + + + + Represents a value that is not a number and raises errors when used in calculations. + + + + + Converts the value of the specified to the equivalent 8-bit unsigned integer. + + The number to convert. + A 8-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + + Converts the value of the specified to the equivalent 16-bit signed integer. + + The number to convert. + A 16-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 32-bit signed integer. + + The number to convert. + A 32-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 64-bit signed integer. + + The number to convert. + A 64-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 8-bit signed integer. + + The number to convert. + A 8-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + Returns the fully qualified type name of this instance. + A containing a fully qualified type name. + + + + Converts the value of the specified to the equivalent 16-bit unsigned integer. + + The number to convert. + A 16-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent 32-bit unsigned integer. + + The number to convert. + A 32-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent 64-bit unsigned integer. + + The number to convert. + A 64-bit unsigned integer equivalent to . + + + + Converts the string representation of a number to its equivalent. A return value indicates whether the conversion succeeded or failed. + + The string representation of the number to convert. + When this method returns, contains the number that is equivalent to the numeric value contained in , if the conversion succeeded, or is zero if the conversion failed. The conversion fails if the parameter is null, is not a number in a valid format, or represents a number less than the min value or greater than the max value. This parameter is passed uninitialized. + + true if was converted successfully; otherwise, false. + + + + + Represents zero. + + + + + Indicates that an attribute restricted to one member has been applied to multiple members. + + + + + Initializes a new instance of the class. + + The info. + The context. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Represents how duplicate names should be handled. + + + + + Overwrite original value with new value. + + + + + Ignore duplicate name and keep original value. + + + + + Throw an exception. + + + + + A static class containing methods to convert to and from Guids and byte arrays in various byte orders. + + + + + Converts a byte array to a Guid. + + The byte array. + The representation of the Guid in the byte array. + A Guid. + + + + Converts a Guid to a byte array. + + The Guid. + The representation of the Guid in the byte array. + A byte array. + + + + Represents the representation to use when converting a Guid to a BSON binary value. + + + + + The representation for Guids is unspecified, so conversion between Guids and Bson binary data is not possible. + + + + + Use the new standard representation for Guids (binary subtype 4 with bytes in network byte order). + + + + + Use the representation used by older versions of the C# driver (including most community provided C# drivers). + + + + + Use the representation used by older versions of the Java driver. + + + + + Use the representation used by older versions of the Python driver. + + + + + An interface implemented by objects that convert themselves to a BsonDocument. + + + + + Converts this object to a BsonDocument. + + A BsonDocument. + + + + An interface for custom mappers that map an object to a BsonValue. + + + + + Tries to map an object to a BsonValue. + + An object. + The BsonValue. + True if the mapping was successfull. + + + + Represents a BSON array that is deserialized lazily. + + + + + Initializes a new instance of the class. + + The slice. + slice + LazyBsonArray cannot be used with an IByteBuffer that needs disposing. + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonArray. + + + The materialized values. + + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Gets the slice. + + + + + Represents a BSON document that is deserialized lazily. + + + + + Initializes a new instance of the class. + + The slice. + slice + LazyBsonDocument cannot be used with an IByteBuffer that needs disposing. + + + + Initializes a new instance of the class. + + The bytes. + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Gets the slice. + + + + + Represents a BSON array that is not materialized until you start using it. + + + + + Initializes a new instance of the class. + + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Clears the array. + + + + + Creates a shallow clone of the array (see also DeepClone). + + + A shallow clone of the array. + + + + + Compares the array to another array. + + The other array. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other. + + + + Compares the array to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Copies elements from this array to another array as raw values (see BsonValue.RawValue). + + The other array. + The zero based index of the other array at which to start copying. + + + + Gets the count of array elements. + + + + + Creates a deep clone of the array (see also Clone). + + + A deep clone of the array. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Gets a value indicating whether this instance is disposed. + + + + + Gets a value indicating whether this instance is materialized. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Materializes the BsonArray. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Gets the array elements as raw values (see BsonValue.RawValue). + + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Throws if disposed. + + + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Gets the array elements. + + + + + Represents a BSON document that is not materialized until you start using it. + + + + + Initializes a new instance of the class. + + + + + Adds an element to the document. + + The element to add. + + The document (so method calls can be chained). + + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + If the condition is false the value factory is not called at all. + + The name of the element. + A delegate called to compute the value of the element if condition is true. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds a list of elements to the document. + + The list of elements. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Compares this document to another document. + + The other document. + + A 32-bit signed integer that indicates whether this document is less than, equal to, or greather than the other. + + + + + Compares the BsonDocument to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDocument is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + + True if the document contains an element with the specified name. + + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + + True if the document contains an element with the specified value. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets an element of this document. + + The zero based index of the element. + + The element. + + + + + Gets an element of this document. + + The name of the element. + + A BsonElement. + + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + + An enumerator. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the value of an element. + + The zero based index of the element. + + The value of the element. + + + + + Gets the value of an element. + + The name of the element. + + The value of the element. + + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + + The value of the element or the default value if the element is not found. + + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Gets a value indicating whether this instance is disposed. + + + + + Gets a value indicating whether this instance is materialized. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value to return if the element is not found. + Teh value of the element or a default value if the element is not found. + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + + The document (so method calls can be chained). + + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + + The document (so method calls can be chained). + + + + + Gets the element names. + + + + + Gets the raw values (see BsonValue.RawValue). + + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + + The document. + + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + + The document. + + + + + Throws if disposed. + + + + + + Tries to get an element of this document. + + The name of the element. + The element. + + True if an element with that name was found. + + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + + True if an element with that name was found. + + + + + Gets the values. + + + + + Represents an ObjectId (see also BsonObjectId). + + + + + Initializes a new instance of the ObjectId class. + + The bytes. + + + + Initializes a new instance of the ObjectId class. + + The timestamp (expressed as a DateTime). + The machine hash. + The PID. + The increment. + + + + Initializes a new instance of the ObjectId class. + + The timestamp. + The machine hash. + The PID. + The increment. + + + + Initializes a new instance of the ObjectId class. + + The value. + + + + Compares this ObjectId to another ObjectId. + + The other ObjectId. + A 32-bit signed integer that indicates whether this ObjectId is less than, equal to, or greather than the other. + + + + Gets the creation time (derived from the timestamp). + + + + + Gets an instance of ObjectId where the value is empty. + + + + + Compares this ObjectId to another ObjectId. + + The other ObjectId. + True if the two ObjectIds are equal. + + + + Compares this ObjectId to another object. + + The other object. + True if the other object is an ObjectId and equal to this one. + + + + Generates a new ObjectId with a unique value. + + An ObjectId. + + + + Generates a new ObjectId with a unique value (with the timestamp component based on a given DateTime). + + The timestamp component (expressed as a DateTime). + An ObjectId. + + + + Generates a new ObjectId with a unique value (with the given timestamp). + + The timestamp component. + An ObjectId. + + + + Gets the hash code. + + The hash code. + + + + Gets the increment. + + + + + Gets the machine. + + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId. + True if the two ObjectIds are equal. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is greather than the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is greather than or equal to the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId. + True if the two ObjectIds are not equal. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is less than the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is less than or equal to the second ObjectId. + + + + Packs the components of an ObjectId into a byte array. + + The timestamp. + The machine hash. + The PID. + The increment. + A byte array. + + + + Parses a string and creates a new ObjectId. + + The string value. + A ObjectId. + + + + Gets the PID. + + + + + Gets the timestamp. + + + + + Converts the ObjectId to a byte array. + + A byte array. + + + + Converts the ObjectId to a byte array. + + The destination. + The offset. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Tries to parse a string and create a new ObjectId. + + The string value. + The new ObjectId. + True if the string was parsed successfully. + + + + Unpacks a byte array into the components of an ObjectId. + + A byte array. + The timestamp. + The machine hash. + The PID. + The increment. + + + + Represents an immutable BSON array that is represented using only the raw bytes. + + + + + Initializes a new instance of the class. + + The slice. + slice + RawBsonArray cannot be used with an IByteBuffer that needs disposing. + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Clears the array. + + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Copies elements from this array to another array as raw values (see BsonValue.RawValue). + + The other array. + The zero based index of the other array at which to start copying. + + + + Gets the count of array elements. + + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Gets whether the array is read-only. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets the array elements as raw values (see BsonValue.RawValue). + + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Gets the slice. + + + + + Throws if disposed. + + + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Gets the array elements. + + + + + Represents an immutable BSON document that is represented using only the raw bytes. + + + + + Initializes a new instance of the class. + + The slice. + slice + RawBsonDocument cannot be used with an IByteBuffer that needs disposing. + + + + Initializes a new instance of the class. + + The bytes. + + + + Adds an element to the document. + + The element to add. + + The document (so method calls can be chained). + + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds a list of elements to the document. + + The list of elements. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + + True if the document contains an element with the specified name. + + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + + True if the document contains an element with the specified value. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Gets an element of this document. + + The zero based index of the element. + + The element. + + + + + Gets an element of this document. + + The name of the element. + + A BsonElement. + + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + + An enumerator. + + + + + Gets the value of an element. + + The zero based index of the element. + + The value of the element. + + + + + Gets the value of an element. + + The name of the element. + + The value of the element. + + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + + The value of the element or the default value if the element is not found. + + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value to return if the element is not found. + Teh value of the element or a default value if the element is not found. + + + + Materializes the RawBsonDocument into a regular BsonDocument. + + The binary reader settings. + A BsonDocument. + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + + The document (so method calls can be chained). + + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + + The document (so method calls can be chained). + + + + + Gets the element names. + + + + + Gets the raw values (see BsonValue.RawValue). + + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + + The document. + + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + + The document. + + + + + Gets the slice. + + + + + Throws if disposed. + + RawBsonDocument + + + + Tries to get an element of this document. + + The name of the element. + The element. + + True if an element with that name was found. + + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + + True if an element with that name was found. + + + + + Gets the values. + + + + + Represents a truncation exception. + + + + + Initializes a new instance of the TruncationException class. + + + + + Initializes a new instance of the TruncationException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the TruncationException class. + + The error message. + + + + Initializes a new instance of the TruncationException class. + + The error message. + The inner exception. + + + + Represents a BSON reader for a binary BSON byte array. + + + + + Initializes a new instance of the BsonBinaryReader class. + + A stream (BsonBinary does not own the stream and will not Dispose it). + + + + Initializes a new instance of the BsonBinaryReader class. + + A stream (BsonBinary does not own the stream and will not Dispose it). + A BsonBinaryReaderSettings. + + + + Gets the base stream. + + + + + Gets the BSON stream. + + + + + Closes the reader. + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 from the reader. + + A . + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + The name of the element. + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + + The raw BSON array. + + + + + Reads a raw BSON document. + + + The raw BSON document. + + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Represents settings for a BsonBinaryReader. + + + + + Initializes a new instance of the BsonBinaryReaderSettings class. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Gets or sets the default settings for a BsonBinaryReader. + + + + + Gets or sets the Encoding. + + + + + Gets or sets whether to fix occurrences of the old binary subtype on input. + + + + + Gets or sets whether to fix occurrences of the old representation of DateTime.MaxValue on input. + + + + + Gets or sets the max document size. + + + + + Represents a BSON writer to a BSON Stream. + + + + + Initializes a new instance of the BsonBinaryWriter class. + + A stream. The BsonBinaryWriter does not own the stream and will not Dispose it. + + + + Initializes a new instance of the BsonBinaryWriter class. + + A stream. The BsonBinaryWriter does not own the stream and will not Dispose it. + The BsonBinaryWriter settings. + + + + Gets the base stream. + + + + + Gets the BSON stream. + + + + + Closes the writer. Also closes the base stream. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Flushes any pending data to the output destination. + + + + + Pops the max document size stack, restoring the previous max document size. + + + + + Pushes a new max document size onto the max document size stack. + + The maximum size of the document. + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 to the writer. + + The value. + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Represents settings for a BsonBinaryWriter. + + + + + Initializes a new instance of the BsonBinaryWriterSettings class. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Gets or sets the default BsonBinaryWriter settings. + + + + + Gets or sets the Encoding. + + + + + Gets or sets whether to fix the old binary data subtype on output. + + + + + Gets or sets the max document size. + + + + + Represents a pool of chunks. + + + + + Initializes a new instance of the class. + + The maximum number of chunks to keep in the pool. + The size of each chunk. + + + + Gets the size of the pool. + + + + + Gets the chunk size. + + + + + Gets or sets the default chunk pool. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets the chunk. + + Size of the requested. + A chunk. + + + + Gets the maximum size of the pool. + + + + + Represents a BSON reader for a BsonDocument. + + + + + Initializes a new instance of the BsonDocumentReader class. + + A BsonDocument. + + + + Initializes a new instance of the BsonDocumentReader class. + + A BsonDocument. + The reader settings. + + + + Closes the reader. + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 from the reader. + + A . + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Represents settings for a BsonDocumentReader. + + + + + Initializes a new instance of the BsonDocumentReaderSettings class. + + + + + Initializes a new instance of the BsonDocumentReaderSettings class. + + The representation for Guids. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Gets or sets the default settings for a BsonDocumentReader. + + + + + Represents a BSON writer to a BsonDocument. + + + + + Initializes a new instance of the BsonDocumentWriter class. + + The document to write to (normally starts out as an empty document). + + + + Initializes a new instance of the BsonDocumentWriter class. + + The document to write to (normally starts out as an empty document). + The settings. + + + + Closes the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Gets the BsonDocument being written to. + + + + + Flushes any pending data to the output destination. + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 to the writer. + + The value. + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Represents settings for a BsonDocumentWriter. + + + + + Initializes a new instance of the BsonDocumentWriterSettings class. + + + + + Initializes a new instance of the BsonDocumentWriterSettings class. + + The representation for Guids. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Gets or sets the default BsonDocumentWriter settings. + + + + + Represents a BSON reader for some external format (see subclasses). + + + + + Initializes a new instance of the BsonReader class. + + The reader settings. + + + + Closes the reader. + + + + + Gets the current BsonType. + + + + + Gets the current name. + + + + + Disposes of any resources used by the reader. + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Gets whether the BsonReader has been disposed. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Gets the current BsonType (calls ReadBsonType if necessary). + + The current BsonType. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 from the reader. + + A . + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name of the element. + + + + Reads the name of an element from the reader (using the provided name decoder). + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + The raw BSON array. + + + + Reads a raw BSON document. + + The raw BSON document. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Gets the settings of the reader. + + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Gets the current state of the reader. + + + + + Throws an InvalidOperationException when the method called is not valid for the current ContextType. + + The name of the method. + The actual ContextType. + The valid ContextTypes. + + + + Throws an InvalidOperationException when the method called is not valid for the current state. + + The name of the method. + The valid states. + + + + Throws an ObjectDisposedException. + + + + + Verifies the current state and BsonType of the reader. + + The name of the method calling this one. + The required BSON type. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Initializes a new instance of the BsonReaderBookmark class. + + The state of the reader. + The current BSON type. + The name of the current element. + + + + Gets the current BsonType; + + + + + Gets the name of the current element. + + + + + Gets the current state of the reader. + + + + + Represents settings for a BsonReader. + + + + + Initializes a new instance of the BsonReaderSettings class. + + + + + Initializes a new instance of the BsonReaderSettings class. + + The representation for Guids. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets or sets the representation for Guids. + + + + + Gets whether the settings are frozen. + + + + + Throws an InvalidOperationException when an attempt is made to change a setting after the settings are frozen. + + + + + Represents the state of a reader. + + + + + The initial state. + + + + + The reader is positioned at the type of an element or value. + + + + + The reader is positioned at the name of an element. + + + + + The reader is positioned at a value. + + + + + The reader is positioned at a scope document. + + + + + The reader is positioned at the end of a document. + + + + + The reader is positioned at the end of an array. + + + + + The reader has finished reading a document. + + + + + The reader is closed. + + + + + Represents a Stream has additional methods to suport reading and writing BSON values. + + + + + + + MongoDB.Bson.IO.BsonStream + + + + + + + Reads a BSON CString from the stream. + + The encoding. + A string. + + + + Reads a BSON CString from the stream. + + An ArraySegment containing the CString bytes (without the null byte). + + + + Reads a BSON Decimal128 from the stream. + + A . + + + + Reads a BSON double from the stream. + + A double. + + + + Reads a 32-bit BSON integer from the stream. + + An int. + + + + Reads a 64-bit BSON integer from the stream. + + A long. + + + + Reads a BSON ObjectId from the stream. + + An ObjectId. + + + + Reads a raw length prefixed slice from the stream. + + A slice. + + + + Reads a BSON string from the stream. + + The encoding. + A string. + + + + Skips over a BSON CString leaving the stream positioned just after the terminating null byte. + + + + + Writes a BSON CString to the stream. + + The value. + + + + Writes the CString bytes to the stream. + + The value. + + + + Writes a BSON Decimal128 to the stream. + + The value. + + + + Writes a BSON double to the stream. + + The value. + + + + Writes a 32-bit BSON integer to the stream. + + The value. + + + + Writes a 64-bit BSON integer to the stream. + + The value. + + + + Writes a BSON ObjectId to the stream. + + The value. + + + + Writes a BSON string to the stream. + + The value. + The encoding. + + + + A Stream that wraps another Stream while implementing the BsonStream abstract methods. + + + + + Initializes a new instance of the class. + + The stream. + if set to true [owns stream]. + stream + + + + Gets the base stream. + + + + Begins an asynchronous read operation. (Consider using instead; see the Remarks section.) + The buffer to read the data into. + The byte offset in at which to begin writing data read from the stream. + The maximum number of bytes to read. + An optional asynchronous callback, to be called when the read is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. + An that represents the asynchronous read, which could still be pending. + Attempted an asynchronous read past the end of the stream, or a disk error occurs. + One or more of the arguments is invalid. + Methods were called after the stream was closed. + The current Stream implementation does not support the read operation. + + + Begins an asynchronous write operation. (Consider using instead; see the Remarks section.) + The buffer to write data from. + The byte offset in from which to begin writing. + The maximum number of bytes to write. + An optional asynchronous callback, to be called when the write is complete. + A user-provided object that distinguishes this particular asynchronous write request from other requests. + An IAsyncResult that represents the asynchronous write, which could still be pending. + Attempted an asynchronous write past the end of the stream, or a disk error occurs. + One or more of the arguments is invalid. + Methods were called after the stream was closed. + The current Stream implementation does not support the write operation. + + + When overridden in a derived class, gets a value indicating whether the current stream supports reading. + true if the stream supports reading; otherwise, false. + + + When overridden in a derived class, gets a value indicating whether the current stream supports seeking. + true if the stream supports seeking; otherwise, false. + + + Gets a value that determines whether the current stream can time out. + A value that determines whether the current stream can time out. + + + When overridden in a derived class, gets a value indicating whether the current stream supports writing. + true if the stream supports writing; otherwise, false. + + + Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. Instead of calling this method, ensure that the stream is properly disposed. + + + Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token. + The stream to which the contents of the current stream will be copied. + The size, in bytes, of the buffer. This value must be greater than zero. The default size is 81920. + The token to monitor for cancellation requests. The default value is . + A task that represents the asynchronous copy operation. + + is null. + + is negative or zero. + Either the current stream or the destination stream is disposed. + The current stream does not support reading, or the destination stream does not support writing. + + + Waits for the pending asynchronous read to complete. (Consider using instead; see the Remarks section.) + The reference to the pending asynchronous request to finish. + The number of bytes read from the stream, between zero (0) and the number of bytes you requested. Streams return zero (0) only at the end of the stream, otherwise, they should block until at least one byte is available. + + is null. + A handle to the pending read operation is not available.-or-The pending operation does not support reading. + + did not originate from a method on the current stream. + The stream is closed or an internal error has occurred. + + + Ends an asynchronous write operation. (Consider using instead; see the Remarks section.) + A reference to the outstanding asynchronous I/O request. + + is null. + A handle to the pending write operation is not available.-or-The pending operation does not support writing. + + did not originate from a method on the current stream. + The stream is closed or an internal error has occurred. + + + When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device. + An I/O error occurs. + + + Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests. + The token to monitor for cancellation requests. The default value is . + A task that represents the asynchronous flush operation. + The stream has been disposed. + + + When overridden in a derived class, gets the length in bytes of the stream. + A long value representing the length of the stream in bytes. + A class derived from Stream does not support seeking. + Methods were called after the stream was closed. + + + When overridden in a derived class, gets or sets the position within the current stream. + The current position within the stream. + An I/O error occurs. + The stream does not support seeking. + Methods were called after the stream was closed. + + + When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + An array of bytes. When this method returns, the buffer contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source. + The zero-based byte offset in at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. + The sum of and is larger than the buffer length. + + is null. + + or is negative. + An I/O error occurs. + The stream does not support reading. + Methods were called after the stream was closed. + + + Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests. + The buffer to write the data into. + The byte offset in at which to begin writing data from the stream. + The maximum number of bytes to read. + The token to monitor for cancellation requests. The default value is . + A task that represents the asynchronous read operation. The value of the parameter contains the total number of bytes read into the buffer. The result value can be less than the number of bytes requested if the number of bytes currently available is less than the requested number, or it can be 0 (zero) if the end of the stream has been reached. + + is null. + + or is negative. + The sum of and is larger than the buffer length. + The stream does not support reading. + The stream has been disposed. + The stream is currently in use by a previous read operation. + + + Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream. + The unsigned byte cast to an Int32, or -1 if at the end of the stream. + The stream does not support reading. + Methods were called after the stream was closed. + + + + Reads a BSON CString from the stream. + + The encoding. + A string. + + + + Reads a BSON CString from the stream. + + An ArraySegment containing the CString bytes (without the null byte). + + + + Reads a BSON Decimal128 from the stream. + + A . + + + + Reads a BSON double from the stream. + + A double. + + + + Reads a 32-bit BSON integer from the stream. + + An int. + + + + Reads a 64-bit BSON integer from the stream. + + A long. + + + + Reads a BSON ObjectId from the stream. + + An ObjectId. + + + + Reads a raw length prefixed slice from the stream. + + A slice. + + + + Reads a BSON string from the stream. + + The encoding. + A string. + + + Gets or sets a value, in miliseconds, that determines how long the stream will attempt to read before timing out. + A value, in miliseconds, that determines how long the stream will attempt to read before timing out. + The method always throws an . + + + When overridden in a derived class, sets the position within the current stream. + A byte offset relative to the parameter. + A value of type indicating the reference point used to obtain the new position. + The new position within the current stream. + An I/O error occurs. + The stream does not support seeking, such as if the stream is constructed from a pipe or console output. + Methods were called after the stream was closed. + + + When overridden in a derived class, sets the length of the current stream. + The desired length of the current stream in bytes. + An I/O error occurs. + The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. + Methods were called after the stream was closed. + + + + Skips over a BSON CString leaving the stream positioned just after the terminating null byte. + + + + When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + The sum of  and  is greater than the buffer length. + + is null. + + or  is negative. + An I/O error occured, such as the specified file cannot be found. + The stream does not support writing. + + was called after the stream was closed. + + + Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests. + The buffer to write data from. + The zero-based byte offset in from which to begin copying bytes to the stream. + The maximum number of bytes to write. + The token to monitor for cancellation requests. The default value is . + A task that represents the asynchronous write operation. + + is null. + + or is negative. + The sum of and is larger than the buffer length. + The stream does not support writing. + The stream has been disposed. + The stream is currently in use by a previous write operation. + + + Writes a byte to the current position in the stream and advances the position within the stream by one byte. + The byte to write to the stream. + An I/O error occurs. + The stream does not support writing, or the stream is already closed. + Methods were called after the stream was closed. + + + + Writes a BSON CString to the stream. + + The value. + + + + Writes the CString bytes to the stream. + + The value. + + + + Writes a BSON Decimal128 to the stream. + + The value. + + + + Writes a BSON double to the stream. + + The value. + + + + Writes a 32-bit BSON integer to the stream. + + The value. + + + + Writes a 64-bit BSON integer to the stream. + + The value. + + + + Writes a BSON ObjectId to the stream. + + The value. + + + + Writes a BSON string to the stream. + + The value. + The encoding. + + + Gets or sets a value, in miliseconds, that determines how long the stream will attempt to write before timing out. + A value, in miliseconds, that determines how long the stream will attempt to write before timing out. + The method always throws an . + + + + Represents extension methods on BsonStream. + + + + + Backpatches the size. + + The stream. + The start position. + + + + Reads the binary sub type. + + The stream. + The binary sub type. + + + + Reads a boolean from the stream. + + The stream. + A boolean. + + + + Reads the BSON type. + + The stream. + The BSON type. + + + + Reads bytes from the stream. + + The stream. + The buffer. + The offset. + The count. + + + + Reads bytes from the stream. + + The stream. + The count. + The bytes. + + + + Writes a binary sub type to the stream. + + The stream. + The value. + + + + Writes a boolean to the stream. + + The stream. + The value. + + + + Writes a BsonType to the stream. + + The stream. + The value. + + + + Writes bytes to the stream. + + The stream. + The buffer. + The offset. + The count. + + + + Writes a slice to the stream. + + The stream. + The slice. + + + + Represents a mapping from a set of UTF8 encoded strings to a set of elementName/value pairs, implemented as a trie. + + The type of the BsonTrie values. + + + + Initializes a new instance of the BsonTrie class. + + + + + Adds the specified elementName (after encoding as a UTF8 byte sequence) and value to the trie. + + The element name to add. + The value to add. The value can be null for reference types. + + + + Gets the root node. + + + + + Tries to get the node associated with a name read from a stream. + + The stream. + The node. + + True if the node was found. + If the node was found the stream is advanced over the name, otherwise + the stream is repositioned to the beginning of the name. + + + + + Gets the node associated with the specified element name. + + The element name. + + When this method returns, contains the node associated with the specified element name, if the key is found; + otherwise, null. This parameter is passed unitialized. + + True if the node was found; otherwise, false. + + + + Gets the value associated with the specified element name. + + The element name. + + When this method returns, contains the value associated with the specified element name, if the key is found; + otherwise, the default value for the type of the value parameter. This parameter is passed unitialized. + + True if the value was found; otherwise, false. + + + + Gets the value associated with the specified element name. + + The element name. + + When this method returns, contains the value associated with the specified element name, if the key is found; + otherwise, the default value for the type of the value parameter. This parameter is passed unitialized. + + True if the value was found; otherwise, false. + + + + Represents a node in a BsonTrie. + + The type of the BsonTrie values. + + + + Gets the element name for this node. + + + + + Gets the child of this node for a given key byte. + + The key byte. + The child node if it exists; otherwise, null. + + + + Gets whether this node has a value. + + + + + Gets the value for this node. + + + + + Represents a BSON writer for some external format (see subclasses). + + + + + Initializes a new instance of the BsonWriter class. + + The writer settings. + + + + Closes the writer. + + + + + Disposes of any resources used by the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Gets whether the BsonWriter has been disposed. + + + + + Flushes any pending data to the output destination. + + + + + Gets the name of the element being written. + + + + + Pops the element name validator. + + The popped element validator. + + + + Pushes the element name validator. + + The validator. + + + + Gets the current serialization depth. + + + + + Gets the settings of the writer. + + + + + Gets the current state of the writer. + + + + + Throws an InvalidOperationException when the method called is not valid for the current ContextType. + + The name of the method. + The actual ContextType. + The valid ContextTypes. + + + + Throws an InvalidOperationException when the method called is not valid for the current state. + + The name of the method. + The valid states. + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 to the writer. + + The value. + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Represents settings for a BsonWriter. + + + + + Initializes a new instance of the BsonWriterSettings class. + + + + + Initializes a new instance of the BsonWriterSettings class. + + The representation for Guids. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets or sets the representation for Guids. + + + + + Gets whether the settings are frozen. + + + + + Gets or sets the max serialization depth allowed (used to detect circular references). + + + + + Throws an InvalidOperationException when an attempt is made to change a setting after the settings are frozen. + + + + + Represents the state of a BsonWriter. + + + + + The initial state. + + + + + The writer is positioned to write a name. + + + + + The writer is positioned to write a value. + + + + + The writer is positioned to write a scope document (call WriteStartDocument to start writing the scope document). + + + + + The writer is done. + + + + + The writer is closed. + + + + + An IByteBuffer that is backed by a contiguous byte array. + + + + + Initializes a new instance of the class. + + The bytes. + Whether the buffer is read only. + + + + Initializes a new instance of the class. + + The bytes. + The length. + Whether the buffer is read only. + + + + Access the backing bytes directly. The returned ArraySegment will point to the desired position and contain + as many bytes as possible up to the next chunk boundary (if any). If the returned ArraySegment does not + contain enough bytes for your needs you will have to call ReadBytes instead. + + The position. + + An ArraySegment pointing directly to the backing bytes for the position. + + + + + Gets the capacity. + + + + + Clears the specified bytes. + + The position. + The count. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Ensure that the buffer has a minimum capacity. Depending on the buffer allocation strategy + calling this method may result in a higher capacity than the minimum (but never lower). + + The minimum capacity. + + + + Gets a byte. + + The position. + A byte. + + + + Gets bytes. + + The position. + The destination. + The destination offset. + The count. + + + + Gets a slice of this buffer. + + The position of the start of the slice. + The length of the slice. + A slice of this buffer. + + + + Gets a value indicating whether this instance is read only. + + + + + Gets or sets the length. + + + + + Makes this buffer read only. + + + + + Sets a byte. + + The position. + The value. + + + + Sets bytes. + + The position. + The bytes. + The offset. + The count. + + + + Represents a chunk backed by a byte array. + + + + + Initializes a new instance of the class. + + The bytes. + bytes + + + + Initializes a new instance of the class. + + The size. + + + + Gets the bytes. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Returns a new reference to the same chunk that can be independently disposed. + + A new reference to the same chunk. + + + + Represents a factory for IBsonBuffers. + + + + + Creates a buffer of the specified length. Depending on the length, either a SingleChunkBuffer or a MultiChunkBuffer will be created. + + The chunk pool. + The minimum capacity. + A buffer with at least the minimum capacity. + + + + Represents a slice of a byte buffer. + + + + + Initializes a new instance of the class. + + The byte buffer. + The offset of the slice. + The length of the slice. + + + + Access the backing bytes directly. The returned ArraySegment will point to the desired position and contain + as many bytes as possible up to the next chunk boundary (if any). If the returned ArraySegment does not + contain enough bytes for your needs you will have to call ReadBytes instead. + + The position. + + An ArraySegment pointing directly to the backing bytes for the position. + + + + + Gets the buffer. + + + + + Gets the capacity. + + + + + Clears the specified bytes. + + The position. + The count. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Ensure that the buffer has a minimum capacity. Depending on the buffer allocation strategy + calling this method may result in a higher capacity than the minimum (but never lower). + + The minimum capacity. + + + + Gets a byte. + + The position. + A byte. + + + + Gets bytes. + + The position. + The destination. + The destination offset. + The count. + + + + Gets a slice of this buffer. + + The position of the start of the slice. + The length of the slice. + A slice of this buffer. + + + + Gets a value indicating whether this instance is read only. + + + + + Gets or sets the length. + + + + + Makes this buffer read only. + + + + + Sets a byte. + + The position. + The value. + + + + Sets bytes. + + The position. + The bytes. + The offset. + The count. + + + + Represents a Stream backed by an IByteBuffer. Similar to MemoryStream but backed by an IByteBuffer + instead of a byte array and also implements the BsonStream interface for higher performance BSON I/O. + + + + + Initializes a new instance of the class. + + The buffer. + Whether the stream owns the buffer and should Dispose it when done. + + + + Gets the buffer. + + + + When overridden in a derived class, gets a value indicating whether the current stream supports reading. + true if the stream supports reading; otherwise, false. + + + When overridden in a derived class, gets a value indicating whether the current stream supports seeking. + true if the stream supports seeking; otherwise, false. + + + Gets a value that determines whether the current stream can time out. + A value that determines whether the current stream can time out. + + + When overridden in a derived class, gets a value indicating whether the current stream supports writing. + true if the stream supports writing; otherwise, false. + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device. + An I/O error occurs. + + + When overridden in a derived class, gets the length in bytes of the stream. + A long value representing the length of the stream in bytes. + A class derived from Stream does not support seeking. + Methods were called after the stream was closed. + + + When overridden in a derived class, gets or sets the position within the current stream. + The current position within the stream. + An I/O error occurs. + The stream does not support seeking. + Methods were called after the stream was closed. + + + When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + An array of bytes. When this method returns, the buffer contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source. + The zero-based byte offset in at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. + The sum of and is larger than the buffer length. + + is null. + + or is negative. + An I/O error occurs. + The stream does not support reading. + Methods were called after the stream was closed. + + + Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream. + The unsigned byte cast to an Int32, or -1 if at the end of the stream. + The stream does not support reading. + Methods were called after the stream was closed. + + + + Reads a BSON CString from the stream. + + The encoding. + A string. + + + + Reads a BSON CString from the stream. + + An ArraySegment containing the CString bytes (without the null byte). + + + + Reads a BSON Decimal128 from the stream. + + A . + + + + Reads a BSON double from the stream. + + A double. + + + + Reads a 32-bit BSON integer from the stream. + + An int. + + + + Reads a 64-bit BSON integer from the stream. + + A long. + + + + Reads a BSON ObjectId from the stream. + + An ObjectId. + + + + Reads a raw length prefixed slice from the stream. + + A slice. + + + + Reads a BSON string from the stream. + + The encoding. + A string. + + + When overridden in a derived class, sets the position within the current stream. + A byte offset relative to the parameter. + A value of type indicating the reference point used to obtain the new position. + The new position within the current stream. + An I/O error occurs. + The stream does not support seeking, such as if the stream is constructed from a pipe or console output. + Methods were called after the stream was closed. + + + When overridden in a derived class, sets the length of the current stream. + The desired length of the current stream in bytes. + An I/O error occurs. + The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. + Methods were called after the stream was closed. + + + + Skips over a BSON CString leaving the stream positioned just after the terminating null byte. + + + + When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + The sum of  and  is greater than the buffer length. + + is null. + + or  is negative. + An I/O error occured, such as the specified file cannot be found. + The stream does not support writing. + + was called after the stream was closed. + + + Writes a byte to the current position in the stream and advances the position within the stream by one byte. + The byte to write to the stream. + An I/O error occurs. + The stream does not support writing, or the stream is already closed. + Methods were called after the stream was closed. + + + + Writes a BSON CString to the stream. + + The value. + + + + Writes the CString bytes to the stream. + + The value. + + + + Writes a BSON Decimal128 to the stream. + + The value. + + + + Writes a BSON double to the stream. + + The value. + + + + Writes a 32-bit BSON integer to the stream. + + The value. + + + + Writes a 64-bit BSON integer to the stream. + + The value. + + + + Writes a BSON ObjectId to the stream. + + The value. + + + + Writes a BSON string to the stream. + + The value. + The encoding. + + + + Used by BsonReaders and BsonWriters to represent the current context. + + + + + The top level of a BSON document. + + + + + A (possibly embedded) BSON document. + + + + + A BSON array. + + + + + A JavaScriptWithScope BSON value. + + + + + The scope document of a JavaScriptWithScope BSON value. + + + + + Represents a DateTime JSON token. + + + + + Initializes a new instance of the DateTimeJsonToken class. + + The lexeme. + The DateTime value. + + + + Gets the value of a DateTime token. + + + + + Represents a Double JSON token. + + + + + Initializes a new instance of the DoubleJsonToken class. + + The lexeme. + The Double value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + + + Represents a chunk of bytes. + + + + + Gets the bytes. + + + + + Returns a new reference to the same chunk that can be independently disposed. + + A new reference to the same chunk. + + + + Represents a source of chunks. + + + + + Gets the chunk. + + Size of the requested. + A chunk. + + + + Represents a BSON reader. + + + + + Closes the reader. + + + + + Gets the current BsonType. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Gets the current BsonType (calls ReadBsonType if necessary). + + The current BsonType. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 from the reader. + + A . + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader (using the provided name decoder). + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + The raw BSON array. + + + + Reads a raw BSON document. + + The raw BSON document. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Gets the current state of the reader. + + + + + Contains extensions methods for IBsonReader. + + + + + Positions the reader to an element by name. + + The reader. + The name of the element. + True if the element was found. + + + + Positions the reader to a string element by name. + + The reader. + The name of the element. + True if the element was found. + + + + Reads a BSON binary data element from the reader. + + The reader. + The name of the element. + A BsonBinaryData. + + + + Reads a BSON boolean element from the reader. + + The reader. + The name of the element. + A Boolean. + + + + Reads a BSON binary data element from the reader. + + The reader. + The name of the element. + A byte array. + + + + Reads a BSON DateTime element from the reader. + + The reader. + The name of the element. + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 element from the reader. + + The reader. + The name of the element. + A . + + + + Reads a BSON Double element from the reader. + + The reader. + The name of the element. + A Double. + + + + Reads a BSON Int32 element from the reader. + + The reader. + The name of the element. + An Int32. + + + + Reads a BSON Int64 element from the reader. + + The reader. + The name of the element. + An Int64. + + + + Reads a BSON JavaScript element from the reader. + + The reader. + The name of the element. + A string. + + + + Reads a BSON JavaScript with scope element from the reader (call ReadStartDocument next to read the scope). + + The reader. + The name of the element. + A string. + + + + Reads a BSON MaxKey element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON MinKey element from the reader. + + The reader. + The name of the element. + + + + Reads the name of an element from the reader. + + The reader. + The name of the element. + + + + Reads the name of an element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON null element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON ObjectId element from the reader. + + The reader. + The name of the element. + An ObjectId. + + + + Reads a raw BSON array. + + The reader. + The name. + + The raw BSON array. + + + + + Reads a raw BSON document. + + The reader. + The name. + The raw BSON document. + + + + Reads a BSON regular expression element from the reader. + + The reader. + The name of the element. + A BsonRegularExpression. + + + + Reads a BSON string element from the reader. + + The reader. + The name of the element. + A String. + + + + Reads a BSON symbol element from the reader. + + The reader. + The name of the element. + A string. + + + + Reads a BSON timestamp element from the reader. + + The reader. + The name of the element. + The combined timestamp/increment. + + + + Reads a BSON undefined element from the reader. + + The reader. + The name of the element. + + + + Represents a BSON writer. + + + + + Closes the writer. + + + + + Flushes any pending data to the output destination. + + + + + Pops the element name validator. + + The popped element validator. + + + + Pushes the element name validator. + + The validator. + + + + Gets the current serialization depth. + + + + + Gets the settings of the writer. + + + + + Gets the current state of the writer. + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 to the writer. + + The value. + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Contains extension methods for IBsonWriter. + + + + + Writes a BSON binary data element to the writer. + + The writer. + The name of the element. + The binary data. + + + + Writes a BSON Boolean element to the writer. + + The writer. + The name of the element. + The Boolean value. + + + + Writes a BSON binary data element to the writer. + + The writer. + The name of the element. + The bytes. + + + + Writes a BSON DateTime element to the writer. + + The writer. + The name of the element. + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 element to the writer. + + The writer. + The name of the element. + The value. + + + + Writes a BSON Double element to the writer. + + The writer. + The name of the element. + The Double value. + + + + Writes a BSON Int32 element to the writer. + + The writer. + The name of the element. + The Int32 value. + + + + Writes a BSON Int64 element to the writer. + + The writer. + The name of the element. + The Int64 value. + + + + Writes a BSON JavaScript element to the writer. + + The writer. + The name of the element. + The JavaScript code. + + + + Writes a BSON JavaScript element to the writer (call WriteStartDocument to start writing the scope). + + The writer. + The name of the element. + The JavaScript code. + + + + Writes a BSON MaxKey element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON MinKey element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON null element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON ObjectId element to the writer. + + The writer. + The name of the element. + The ObjectId. + + + + Writes a raw BSON array. + + The writer. + The name. + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The writer. + The name. + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression element to the writer. + + The writer. + The name of the element. + A BsonRegularExpression. + + + + Writes the start of a BSON array element to the writer. + + The writer. + The name of the element. + + + + Writes the start of a BSON document element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON String element to the writer. + + The writer. + The name of the element. + The String value. + + + + Writes a BSON Symbol element to the writer. + + The writer. + The name of the element. + The symbol. + + + + Writes a BSON timestamp element to the writer. + + The writer. + The name of the element. + The combined timestamp/increment value. + + + + Writes a BSON undefined element to the writer. + + The writer. + The name of the element. + + + + Represents a byte buffer (backed by various means depending on the implementation). + + + + + Access the backing bytes directly. The returned ArraySegment will point to the desired position and contain + as many bytes as possible up to the next chunk boundary (if any). If the returned ArraySegment does not + contain enough bytes for your needs you will have to call ReadBytes instead. + + The position. + + An ArraySegment pointing directly to the backing bytes for the position. + + + + + Gets the capacity. + + + + + Clears the specified bytes. + + The position. + The count. + + + + Ensure that the buffer has a minimum capacity. Depending on the buffer allocation strategy + calling this method may result in a higher capacity than the minimum (but never lower). + + The minimum capacity. + + + + Gets a byte. + + The position. + A byte. + + + + Gets bytes. + + The position. + The destination. + The destination offset. + The count. + + + + Gets a slice of this buffer. + + The position of the start of the slice. + The length of the slice. + A slice of this buffer. + + + + Gets a value indicating whether this instance is read only. + + + + + Gets or sets the length. + + + + + Makes this buffer read only. + + + + + Sets a byte. + + The position. + The value. + + + + Sets bytes. + + The position. + The bytes. + The offset. + The count. + + + + Represents an element name validator. Used by BsonWriters when WriteName is called + to determine if the element name is valid. + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents a name decoder. + + + + + Decodes the name. + + The stream. + The encoding. + + The name. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + Represents a source of chunks optimized for input buffers. + + + + + Initializes a new instance of the class. + + The chunk source. + The maximum size of an unpooled chunk. + The minimum size of a chunk. + The maximum size of a chunk. + + + + Gets the base source. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets the chunk. + + Size of the requested. + A chunk. + + + + Gets the maximum size of a chunk. + + + + + Gets the maximum size of an unpooled chunk. + + + + + Gets the minimum size of a chunk. + + + + + Represents an Int32 JSON token. + + + + + Initializes a new instance of the Int32JsonToken class. + + The lexeme. + The Int32 value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int32 token as an Int64. + + + + + Gets a value indicating whether this token is number. + + + + + Represents an Int64 JSON token. + + + + + Initializes a new instance of the Int64JsonToken class. + + The lexeme. + The Int64 value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + + + Encodes and decodes scalar values to JSON compatible strings. + + + + + Converts a string to a Boolean. + + The value. + A Boolean. + + + + Converts a string to a DateTime. + + The value. + A DateTime. + + + + Converts a string to a DateTimeOffset. + + The value. + A DateTimeOffset. + + + + Converts a string to a Decimal. + + The value. + A Decimal. + + + + Converts a string to a . + + The value. + A . + + + + Converts a string to a Double. + + The value. + A Double. + + + + Converts a string to an Int16. + + The value. + An Int16. + + + + Converts a string to an Int32. + + The value. + An Int32. + + + + Converts a string to an Int64. + + The value. + An Int64. + + + + Converts a string to a Single. + + The value. + A Single. + + + + Converts a to a string. + + The value. + A string. + + + + Converts a Boolean to a string. + + The value. + A string. + + + + Converts a DateTime to a string. + + The value. + A string. + + + + Converts a DateTimeOffset to a string. + + The value. + A string. + + + + Converts a Decimal to a string. + + The value. + A string. + + + + Converts a Double to a string. + + The value. + A string. + + + + Converts an Int16 to a string. + + The value. + A string. + + + + Converts an Int32 to a string. + + The value. + A string. + + + + Converts an Int64 to a string. + + The value. + A string. + + + + Converts a Single to a string. + + The value. + A string. + + + + Converts a UInt16 to a string. + + The value. + A string. + + + + Converts a UInt32 to a string. + + The value. + A string. + + + + Converts a UInt64 to a string. + + The value. + A string. + + + + Converts a string to a UInt16. + + The value. + A UInt16. + + + + Converts a string to a UInt32. + + The value. + A UInt32. + + + + Converts a string to a UInt64. + + The value. + A UInt64. + + + + Represents the output mode of a JsonWriter. + + + + + Output strict JSON. + + + + + Use a format that can be pasted in to the MongoDB shell. + + + + + Use JavaScript data types for some values. + + + + + Use JavaScript and MongoDB data types for some values. + + + + + Represents a BSON reader for a JSON string. + + + + + Initializes a new instance of the JsonReader class. + + The TextReader. + + + + Initializes a new instance of the JsonReader class. + + The TextReader. + The reader settings. + + + + Initializes a new instance of the JsonReader class. + + The JSON string. + + + + Initializes a new instance of the JsonReader class. + + The JSON string. + The reader settings. + + + + Closes the reader. + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 from the reader. + + A . + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Represents settings for a JsonReader. + + + + + Initializes a new instance of the JsonReaderSettings class. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Gets or sets the default settings for a JsonReader. + + + + + Represents a JSON token. + + + + + Initializes a new instance of the JsonToken class. + + The token type. + The lexeme. + + + + Gets the value of a DateTime token. + + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + + + Gets the lexeme. + + + + + Gets the value of an ObjectId token. + + + + + Gets the value of a regular expression token. + + + + + Gets the value of a string token. + + + + + Gets the token type. + + + + + Represents a JSON token type. + + + + + An invalid token. + + + + + A begin array token (a '['). + + + + + A begin object token (a '{'). + + + + + An end array token (a ']'). + + + + + A left parenthesis (a '('). + + + + + A right parenthesis (a ')'). + + + + + An end object token (a '}'). + + + + + A colon token (a ':'). + + + + + A comma token (a ','). + + + + + A DateTime token. + + + + + A Double token. + + + + + An Int32 token. + + + + + And Int64 token. + + + + + An ObjectId token. + + + + + A regular expression token. + + + + + A string token. + + + + + An unquoted string token. + + + + + An end of file token. + + + + + Represents a BSON writer to a TextWriter (in JSON format). + + + + + Initializes a new instance of the JsonWriter class. + + A TextWriter. + + + + Initializes a new instance of the JsonWriter class. + + A TextWriter. + Optional JsonWriter settings. + + + + Gets the base TextWriter. + + + + + Closes the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Flushes any pending data to the output destination. + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 to the writer. + + The value. + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Represents settings for a JsonWriter. + + + + + Initializes a new instance of the JsonWriterSettings class. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Gets or sets the default JsonWriterSettings. + + + + + Gets or sets the output Encoding. + + + + + Gets or sets whether to indent the output. + + + + + Gets or sets the indent characters. + + + + + Gets or sets the new line characters. + + + + + Gets or sets the output mode. + + + + + Gets or sets the shell version (used with OutputMode Shell). + + + + + An IByteBuffer that is backed by multiple chunks. + + + + + Initializes a new instance of the class. + + The chunk pool. + chunkPool + + + + Initializes a new instance of the class. + + The chunks. + The length. + Whether the buffer is read only. + chunks + + + + Access the backing bytes directly. The returned ArraySegment will point to the desired position and contain + as many bytes as possible up to the next chunk boundary (if any). If the returned ArraySegment does not + contain enough bytes for your needs you will have to call ReadBytes instead. + + The position. + + An ArraySegment pointing directly to the backing bytes for the position. + + + + + Gets the capacity. + + + + + Gets the chunk source. + + + + + Clears the specified bytes. + + The position. + The count. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Ensure that the buffer has a minimum capacity. Depending on the buffer allocation strategy + calling this method may result in a higher capacity than the minimum (but never lower). + + The minimum capacity. + + + + Gets a byte. + + The position. + A byte. + + + + Gets bytes. + + The position. + The destination. + The destination offset. + The count. + + + + Gets a slice of this buffer. + + The position of the start of the slice. + The length of the slice. + A slice of this buffer. + + + + Gets a value indicating whether this instance is read only. + + + + + Gets or sets the length. + + + + + Makes this buffer read only. + + + + + Sets a byte. + + The position. + The value. + + + + Sets bytes. + + The position. + The bytes. + The offset. + The count. + + + + Represents an element name validator that does no validation. + + + + + + + MongoDB.Bson.IO.NoOpElementNameValidator + + + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Gets the instance. + + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents an ObjectId JSON token. + + + + + Initializes a new instance of the ObjectIdJsonToken class. + + The lexeme. + The ObjectId value. + + + + Gets the value of an ObjectId token. + + + + + Represents a source of chunks optimized for output buffers. + + + + + Initializes a new instance of the class. + + The chunk source. + The size of the initial unpooled chunk. + The minimum size of a chunk. + The maximum size of a chunk. + + + + Gets the base source. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets the chunk. + + Size of the requested. + A chunk. + + + + Gets the initial unpooled chunk size. + + + + + Gets the maximum size of a chunk. + + + + + Gets the minimum size of a chunk. + + + + + Represents a regular expression JSON token. + + + + + Initializes a new instance of the RegularExpressionJsonToken class. + + The lexeme. + The BsonRegularExpression value. + + + + Gets the value of a regular expression token. + + + + + An IByteBuffer that is backed by a single chunk. + + + + + Initializes a new instance of the class. + + The chuns. + The length. + Whether the buffer is read only. + + + + Access the backing bytes directly. The returned ArraySegment will point to the desired position and contain + as many bytes as possible up to the next chunk boundary (if any). If the returned ArraySegment does not + contain enough bytes for your needs you will have to call ReadBytes instead. + + The position. + + An ArraySegment pointing directly to the backing bytes for the position. + + + + + Gets the capacity. + + + + + Clears the specified bytes. + + The position. + The count. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Ensure that the buffer has a minimum capacity. Depending on the buffer allocation strategy + calling this method may result in a higher capacity than the minimum (but never lower). + + The minimum capacity. + + + + Gets a byte. + + The position. + A byte. + + + + Gets bytes. + + The position. + The destination. + The destination offset. + The count. + + + + Gets a slice of this buffer. + + The position of the start of the slice. + The length of the slice. + A slice of this buffer. + + + + Gets a value indicating whether this instance is read only. + + + + + Gets or sets the length. + + + + + Makes this buffer read only. + + + + + Sets a byte. + + The position. + The value. + + + + Sets bytes. + + The position. + The bytes. + The offset. + The count. + + + + Represents a String JSON token. + + + + + Initializes a new instance of the StringJsonToken class. + + The token type. + The lexeme. + The String value. + + + + Gets the value of an String token. + + + + + Represents a Trie-based name decoder that also provides a value. + + The type of the value. + + + + Initializes a new instance of the class. + + The trie. + + + + Reads the name. + + The stream. + The encoding. + + The name. + + + + + Gets a value indicating whether this is found. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + Gets the value. + + + + + Represents a singleton instance of a strict UTF8Encoding. + + + + + Gets the lenient instance. + + + + + Gets the strict instance. + + + + + Represents a class that has some helper methods for decoding UTF8 strings. + + + + + Decodes a UTF8 string. + + The bytes. + The index. + The count. + The encoding. + The decoded string. + + + + Represents a UTF8 name decoder. + + + + + + + MongoDB.Bson.IO.Utf8NameDecoder + + + + + + + Decodes the name. + + The stream. + The encoding. + + The name. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + Gets the instance. + + + + + Provides serializers based on an attribute. + + + + + + + MongoDB.Bson.Serialization.AttributedSerializationProvider + + + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + Represents a mapping between a class and a BSON document. + + + + + Initializes a new instance of the BsonClassMap class. + + The class type. + + + + Initializes a new instance of the class. + + Type of the class. + The base class map. + + + + Adds a known type to the class map. + + The known type. + + + + Gets all the member maps (including maps for inherited members). + + + + + Automaps the class. + + + + + Gets the base class map. + + + + + Gets the class type. + + + + + Gets the conventions used for auto mapping. + + + + + Creates an instance of the class. + + An object. + + + + Gets the constructor maps. + + + + + Gets the declared member maps (only for members declared in this class). + + + + + Gets the discriminator. + + + + + Gets whether a discriminator is required when serializing this class. + + + + + Gets the member map of the member used to hold extra elements. + + + + + Freezes the class map. + + The frozen class map. + + + + Gets the type of a member. + + The member info. + The type of the member. + + + + Gets a member map (only considers members declared in this class). + + The member name. + The member map (or null if the member was not found). + + + + Gets the member map for a BSON element. + + The name of the element. + The member map. + + + + Gets all registered class maps. + + All registered class maps. + + + + Gets whether this class map has any creator maps. + + + + + Gets whether this class has a root class ancestor. + + + + + Gets the Id member map (null if none). + + + + + Gets whether extra elements should be ignored when deserializing. + + + + + Gets whether the IgnoreExtraElements value should be inherited by derived classes. + + + + + Gets whether this class is anonymous. + + + + + Checks whether a class map is registered for a type. + + The type to check. + True if there is a class map registered for the type. + + + + Gets whether the class map is frozen. + + + + + Gets whether this class is a root class. + + + + + Gets the known types of this class. + + + + + Looks up a class map (will AutoMap the class if no class map is registered). + + The class type. + The class map. + + + + Creates a creator map for a constructor and adds it to the class map. + + The constructor info. + The creator map (so method calls can be chained). + + + + Creates a creator map for a constructor and adds it to the class map. + + The constructor info. + The argument names. + The creator map (so method calls can be chained). + + + + Creates a creator map and adds it to the class. + + The delegate. + The factory method map (so method calls can be chained). + + + + Creates a creator map and adds it to the class. + + The delegate. + The argument names. + The factory method map (so method calls can be chained). + + + + Creates a member map for the extra elements field and adds it to the class map. + + The name of the extra elements field. + The member map (so method calls can be chained). + + + + Creates a member map for the extra elements member and adds it to the class map. + + The member info for the extra elements member. + The member map (so method calls can be chained). + + + + Creates a member map for the extra elements property and adds it to the class map. + + The name of the property. + The member map (so method calls can be chained). + + + + Creates a creator map for a factory method and adds it to the class. + + The method info. + The creator map (so method calls can be chained). + + + + Creates a creator map for a factory method and adds it to the class. + + The method info. + The argument names. + The creator map (so method calls can be chained). + + + + Creates a member map for a field and adds it to the class map. + + The name of the field. + The member map (so method calls can be chained). + + + + Creates a member map for the Id field and adds it to the class map. + + The name of the Id field. + The member map (so method calls can be chained). + + + + Creates a member map for the Id member and adds it to the class map. + + The member info for the Id member. + The member map (so method calls can be chained). + + + + Creates a member map for the Id property and adds it to the class map. + + The name of the Id property. + The member map (so method calls can be chained). + + + + Creates a member map for a member and adds it to the class map. + + The member info. + The member map (so method calls can be chained). + + + + Creates a member map for a property and adds it to the class map. + + The name of the property. + The member map (so method calls can be chained). + + + + Creates and registers a class map. + + The class. + The class map. + + + + Registers a class map. + + The class map. + + + + Creates and registers a class map. + + The class map initializer. + The class. + The class map. + + + + Resets the class map back to its initial state. + + + + + Sets the creator for the object. + + The creator. + The class map (so method calls can be chained). + + + + Sets the discriminator. + + The discriminator. + + + + Sets whether a discriminator is required when serializing this class. + + Whether a discriminator is required. + + + + Sets the member map of the member used to hold extra elements. + + The extra elements member map. + + + + Sets the Id member. + + The Id member (null if none). + + + + Sets whether extra elements should be ignored when deserializing. + + Whether extra elements should be ignored when deserializing. + + + + Sets whether the IgnoreExtraElements value should be inherited by derived classes. + + Whether the IgnoreExtraElements value should be inherited by derived classes. + + + + Sets whether this class is a root class. + + Whether this class is a root class. + + + + Removes a creator map for a constructor from the class map. + + The constructor info. + + + + Removes a creator map for a factory method from the class map. + + The method info. + + + + Removes the member map for a field from the class map. + + The name of the field. + + + + Removes a member map from the class map. + + The member info. + + + + Removes the member map for a property from the class map. + + The name of the property. + + + + Represents a mapping between a class and a BSON document. + + The class. + + + + Initializes a new instance of the BsonClassMap class. + + + + + Initializes a new instance of the BsonClassMap class. + + The class map initializer. + + + + Creates an instance. + + An instance. + + + + Gets a member map. + + A lambda expression specifying the member. + The member type. + The member map. + + + + Creates a creator map and adds it to the class map. + + Lambda expression specifying the creator code and parameters to use. + The member map. + + + + Creates a member map for the extra elements field and adds it to the class map. + + A lambda expression specifying the extra elements field. + The member type. + The member map. + + + + Creates a member map for the extra elements member and adds it to the class map. + + A lambda expression specifying the extra elements member. + The member type. + The member map. + + + + Creates a member map for the extra elements property and adds it to the class map. + + A lambda expression specifying the extra elements property. + The member type. + The member map. + + + + Creates a member map for a field and adds it to the class map. + + A lambda expression specifying the field. + The member type. + The member map. + + + + Creates a member map for the Id field and adds it to the class map. + + A lambda expression specifying the Id field. + The member type. + The member map. + + + + Creates a member map for the Id member and adds it to the class map. + + A lambda expression specifying the Id member. + The member type. + The member map. + + + + Creates a member map for the Id property and adds it to the class map. + + A lambda expression specifying the Id property. + The member type. + The member map. + + + + Creates a member map and adds it to the class map. + + A lambda expression specifying the member. + The member type. + The member map. + + + + Creates a member map for the Id property and adds it to the class map. + + A lambda expression specifying the Id property. + The member type. + The member map. + + + + Removes the member map for a field from the class map. + + A lambda expression specifying the field. + The member type. + + + + Removes a member map from the class map. + + A lambda expression specifying the member. + The member type. + + + + Removes a member map for a property from the class map. + + A lambda expression specifying the property. + The member type. + + + + Represents a serializer for a class map. + + The type of the class. + + + + Initializes a new instance of the BsonClassMapSerializer class. + + The class map. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a value. + + The deserialization context. + A deserialized value. + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Sets the document Id. + + The document. + The Id. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a mapping to a delegate and its arguments. + + + + + Initializes a new instance of the BsonCreatorMap class. + + The class map. + The member info (null if none). + The delegate. + + + + Gets the arguments. + + + + + Gets the class map that this creator map belongs to. + + + + + Gets the delegeate + + + + + Gets the element names. + + + + + Freezes the creator map. + + + + + Gets whether there is a default value for a missing element. + + The element name. + True if there is a default value for element name; otherwise, false. + + + + Gets the member info (null if none). + + + + + Sets the arguments for the creator map. + + The arguments. + The creator map. + + + + Sets the arguments for the creator map. + + The argument names. + The creator map. + + + + Represents args common to all serializers. + + + + + Gets or sets the nominal type. + + + + + Represents all the contextual information needed by a serializer to deserialize a value. + + + + + Gets a value indicating whether to allow duplicate element names. + + + + + Creates a root context. + + The reader. + The configurator. + + A root context. + + + + + Gets the dynamic array serializer. + + + + + Gets the dynamic document serializer. + + + + + Gets the reader. + + + + + Creates a new context with some values changed. + + The configurator. + + A new context. + + + + + Represents a builder for a BsonDeserializationContext. + + + + + Gets or sets a value indicating whether to allow duplicate element names. + + + + + Gets or sets the dynamic array serializer. + + + + + Gets or sets the dynamic document serializer. + + + + + Gets the reader. + + + + + A class backed by a BsonDocument. + + + + + Initializes a new instance of the class. + + The backing document. + The serializer. + + + + Initializes a new instance of the class. + + The serializer. + + + + Gets the backing document. + + + + + Gets the value from the backing document. + + The member name. + The type of the value. + The value. + + + + Gets the value from the backing document. + + The member name. + The default value. + The type of the value. + The value. + + + + Sets the value in the backing document. + + The member name. + The value. + + + + Represents a serializer for TClass (a subclass of BsonDocumentBackedClass). + + The subclass of BsonDocumentBackedClass. + + + + Initializes a new instance of the class. + + + + + Creates the instance. + + The backing document. + An instance of TClass. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Registers a member. + + The member name. + The element name. + The serializer. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents the mapping between a field or property and a BSON element. + + + + + Initializes a new instance of the BsonMemberMap class. + + The class map this member map belongs to. + The member info. + + + + Applies the default value to the member of an object. + + The object. + + + + Gets the class map that this member map belongs to. + + + + + Gets the default value. + + + + + Gets the name of the element. + + + + + Freezes this instance. + + + + + Gets the serializer. + + The serializer. + + + + Gets the getter function. + + + + + Gets the Id generator. + + + + + Gets whether default values should be ignored when serialized. + + + + + Gets whether null values should be ignored when serialized. + + + + + Gets whether a default value was specified. + + + + + Gets whether the member is readonly. + + + + + Gets whether an element is required for this member when deserialized. + + + + + Gets the member info. + + + + + Gets the name of the member. + + + + + Gets the type of the member. + + + + + Gets whether the member type is a BsonValue. + + + + + Gets the serialization order. + + + + + Resets the member map back to its initial state. + + The member map. + + + + Sets the default value creator. + + The default value creator (note: the supplied delegate must be thread safe). + The member map. + + + + Sets the default value. + + The default value. + The member map. + + + + Sets the name of the element. + + The name of the element. + The member map. + + + + Sets the Id generator. + + The Id generator. + The member map. + + + + Sets whether default values should be ignored when serialized. + + Whether default values should be ignored when serialized. + The member map. + + + + Sets whether null values should be ignored when serialized. + + Wether null values should be ignored when serialized. + The member map. + + + + Sets whether an element is required for this member when deserialized + + Whether an element is required for this member when deserialized + The member map. + + + + Sets the serialization order. + + The serialization order. + The member map. + + + + Sets the serializer. + + The serializer. + + The member map. + + serializer + serializer + + + + Sets the method that will be called to determine whether the member should be serialized. + + The method. + The member map. + + + + Gets the setter function. + + + + + Determines whether a value should be serialized + + The object. + The value. + True if the value should be serialized. + + + + Gets the method that will be called to determine whether the member should be serialized. + + + + + Indicates the usage restrictions for the attribute. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether the attribute this attribute applies to is allowed to be applied + to more than one member. + + + + + Provides serializers for BsonValue and its derivations. + + + + + + + MongoDB.Bson.Serialization.BsonObjectModelSerializationProvider + + + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + Represents args common to all serializers. + + + + + Initializes a new instance of the struct. + + The nominal type. + Whether to serialize as the nominal type. + Whether to serialize the id first. + + + + Gets or sets the nominal type. + + + + + Gets or sets a value indicating whether to serialize the value as if it were an instance of the nominal type. + + + + + Gets or sets a value indicating whether to serialize the id first. + + + + + Represents all the contextual information needed by a serializer to serialize a value. + + + + + Creates a root context. + + The writer. + The serialization context configurator. + + A root context. + + + + + Gets a function that, when executed, will indicate whether the type + is a dynamic type. + + + + + Creates a new context with some values changed. + + The serialization context configurator. + + A new context. + + + + + Gets the writer. + + + + + Represents a builder for a BsonSerializationContext. + + + + + Gets or sets the function used to determine if a type is a dynamic type. + + + + + Gets the writer. + + + + + Represents the information needed to serialize a member. + + + + + Initializes a new instance of the BsonSerializationInfo class. + + The element name. + The serializer. + The nominal type. + + + + Deserializes the value. + + The value. + A deserialized value. + + + + Gets or sets the dotted element name. + + + + + Merges the new BsonSerializationInfo by taking its properties and concatenating its ElementName. + + The new info. + A new BsonSerializationInfo. + + + + Gets or sets the nominal type. + + + + + Gets or sets the serializer. + + + + + Serializes the value. + + The value. + The serialized value. + + + + Serializes the values. + + The values. + The serialized values. + + + + Creates a new BsonSerializationInfo object using the elementName provided and copying all other attributes. + + Name of the element. + A new BsonSerializationInfo. + + + + Base class for serialization providers. + + + + + + + MongoDB.Bson.Serialization.BsonSerializationProviderBase + + + + + + + Creates the serializer from a serializer type definition and type arguments. + + The serializer type definition. + The type arguments. + A serializer. + + + + Creates the serializer from a serializer type definition and type arguments. + + The serializer type definition. + The type arguments. + The serializer registry. + + A serializer. + + + + + Creates the serializer. + + The serializer type. + A serializer. + + + + Creates the serializer. + + The serializer type. + The serializer registry. + + A serializer. + + + + + Gets a serializer for a type. + + The type. + A serializer. + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + A static class that represents the BSON serialization functionality. + + + + + Deserializes an object from a BsonDocument. + + The BsonDocument. + The configurator. + The nominal type of the object. + A deserialized value. + + + + Deserializes an object from a BsonDocument. + + The BsonDocument. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes a value. + + The BsonReader. + The configurator. + The nominal type of the object. + A deserialized value. + + + + Deserializes a value. + + The BsonReader. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON byte array. + + The BSON byte array. + The configurator. + The nominal type of the object. + A deserialized value. + + + + Deserializes an object from a BSON byte array. + + The BSON byte array. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON Stream. + + The BSON Stream. + The configurator. + The nominal type of the object. + A deserialized value. + + + + Deserializes an object from a BSON Stream. + + The BSON Stream. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON TextReader. + + The JSON TextReader. + The configurator. + The nominal type of the object. + A deserialized value. + + + + Deserializes an object from a JSON TextReader. + + The JSON TextReader. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON string. + + The JSON string. + The configurator. + The nominal type of the object. + A deserialized value. + + + + Deserializes an object from a JSON string. + + The JSON string. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Returns whether the given type has any discriminators registered for any of its subclasses. + + A Type. + True if the type is discriminated. + + + + Looks up the actual type of an object to be deserialized. + + The nominal type of the object. + The discriminator. + The actual type of the object. + + + + Looks up the discriminator convention for a type. + + The type. + A discriminator convention. + + + + Looks up an IdGenerator. + + The Id type. + An IdGenerator for the Id type. + + + + Looks up a serializer for a Type. + + The type. + A serializer for type T. + + + + Looks up a serializer for a Type. + + The Type. + A serializer for the Type. + + + + Registers the discriminator for a type. + + The type. + The discriminator. + + + + Registers the discriminator convention for a type. + + Type type. + The discriminator convention. + + + + Registers a generic serializer definition for a generic type. + + The generic type. + The generic serializer definition. + + + + Registers an IdGenerator for an Id Type. + + The Id Type. + The IdGenerator for the Id Type. + + + + Registers a serialization provider. + + The serialization provider. + + + + Registers a serializer for a type. + + The serializer. + The type. + + + + Registers a serializer for a type. + + The type. + The serializer. + + + + Serializes a value. + + The BsonWriter. + The nominal type of the object. + The object. + The serialization context configurator. + The serialization args. + + + + Serializes a value. + + The BsonWriter. + The object. + The serialization context configurator. + The serialization args. + The nominal type of the object. + + + + Gets the serializer registry. + + + + + Gets or sets whether to use the NullIdChecker on reference Id types that don't have an IdGenerator registered. + + + + + Gets or sets whether to use the ZeroIdChecker on value Id types that don't have an IdGenerator registered. + + + + + Default, global implementation of an . + + + + + Initializes a new instance of the class. + + + + + Gets the serializer for the specified . + + + + The serializer. + + + + + Gets the serializer for the specified . + + The type. + + The serializer. + + + + + Registers the serialization provider. This behaves like a stack, so the + last provider registered is the first provider consulted. + + The serialization provider. + + + + Registers the serializer. + + The type. + The serializer. + + + + Provides serializers for collections. + + + + + + + MongoDB.Bson.Serialization.CollectionsSerializationProvider + + + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + A helper class used to create and compile delegates for creator maps. + + + + + + + MongoDB.Bson.Serialization.CreatorMapDelegateCompiler + + + + + + + Creates and compiles a delegate that calls a constructor. + + The constructor. + A delegate that calls the constructor. + + + + Creates and compiles a delegate from a lambda expression. + + The lambda expression. + The arguments for the delegate's parameters. + The type of the class. + A delegate. + + + + Creates and compiles a delegate that calls a factory method. + + the method. + A delegate that calls the factory method. + + + + Visits a MemberExpression. + + The MemberExpression. + The MemberExpression (possibly modified). + + + + Visits a ParameterExpression. + + The ParameterExpression. + The ParameterExpression (possibly modified). + + + + Provides a serializer for interfaces. + + + + + + + MongoDB.Bson.Serialization.DiscriminatedInterfaceSerializationProvider + + + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + An abstract base class for an Expression visitor. + + + + + Initializes a new instance of the ExpressionVisitor class. + + + + + Visits an Expression list. + + The Expression list. + The Expression list (possibly modified). + + + + Visits an Expression. + + The Expression. + The Expression (posibly modified). + + + + Visits a BinaryExpression. + + The BinaryExpression. + The BinaryExpression (possibly modified). + + + + Visits a ConditionalExpression. + + The ConditionalExpression. + The ConditionalExpression (possibly modified). + + + + Visits a ConstantExpression. + + The ConstantExpression. + The ConstantExpression (possibly modified). + + + + Visits an ElementInit. + + The ElementInit. + The ElementInit (possibly modified). + + + + Visits an ElementInit list. + + The ElementInit list. + The ElementInit list (possibly modified). + + + + Visits an InvocationExpression. + + The InvocationExpression. + The InvocationExpression (possibly modified). + + + + Visits a LambdaExpression. + + The LambdaExpression. + The LambdaExpression (possibly modified). + + + + Visits a ListInitExpression. + + The ListInitExpression. + The ListInitExpression (possibly modified). + + + + Visits a MemberExpression. + + The MemberExpression. + The MemberExpression (possibly modified). + + + + Visits a MemberAssignment. + + The MemberAssignment. + The MemberAssignment (possibly modified). + + + + Visits a MemberBinding. + + The MemberBinding. + The MemberBinding (possibly modified). + + + + Visits a MemberBinding list. + + The MemberBinding list. + The MemberBinding list (possibly modified). + + + + Visits a MemberInitExpression. + + The MemberInitExpression. + The MemberInitExpression (possibly modified). + + + + Visits a MemberListBinding. + + The MemberListBinding. + The MemberListBinding (possibly modified). + + + + Visits a MemberMemberBinding. + + The MemberMemberBinding. + The MemberMemberBinding (possibly modified). + + + + Visits a MethodCallExpression. + + The MethodCallExpression. + The MethodCallExpression (possibly modified). + + + + Visits a NewExpression. + + The NewExpression. + The NewExpression (possibly modified). + + + + Visits a NewArrayExpression. + + The NewArrayExpression. + The NewArrayExpression (possibly modified). + + + + Visits a ParameterExpression. + + The ParameterExpression. + The ParameterExpression (possibly modified). + + + + Visits a TypeBinaryExpression. + + The TypeBinaryExpression. + The TypeBinaryExpression (possibly modified). + + + + Visits a UnaryExpression. + + The UnaryExpression. + The UnaryExpression (possibly modified). + + + + Contract for serializers to implement if they serialize an array of items. + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents an attribute used to modify a class map. + + + + + Applies the attribute to the class map. + + The class map. + + + + Represents an attribute used to modify a creator map. + + + + + Applies the attribute to the creator map. + + The creator map. + + + + Represents a dictionary serializer that can be used in LINQ queries. + + + + + Gets the dictionary representation. + + + + + Gets the key serializer. + + + + + Gets the value serializer. + + + + + Contract for composite serializers that contain a number of named serializers. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + Contract for serializers that can get and set Id values. + + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Sets the document Id. + + The document. + The Id. + + + + Represents an attribute used to modify a member map. + + + + + Applies the attribute to the member map. + + The member map. + + + + An interface implemented by a polymorphic serializer. + + + + + Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. + + + + + Represents an attribute used to post process a class map. + + + + + Applies the post processing attribute to the class map. + + The class map. + + + + An interface implemented by serialization providers. + + + + + Gets a serializer for a type. + + The type. + A serializer. + + + + An interface implemented by a serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Gets the type of the value. + + + + + An interface implemented by a serializer for values of type TValue. + + The type that this serializer knows how to serialize. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Extensions methods for IBsonSerializer. + + + + + Deserializes a value. + + The serializer. + The deserialization context. + A deserialized value. + + + + Deserializes a value. + + The serializer. + The deserialization context. + The type that this serializer knows how to serialize. + A deserialized value. + + + + Serializes a value. + + The serializer. + The serialization context. + The value. + + + + Serializes a value. + + The serializer. + The serialization context. + The value. + The type that this serializer knows how to serialize. + + + + Converts a value to a BsonValue by serializing it. + + The serializer. + The value. + The serialized value. + + + + Converts a value to a BsonValue by serializing it. + + The serializer. + The value. + The type of the value. + The serialized value. + + + + A serializer registry. + + + + + Gets the serializer for the specified . + + + The serializer. + + + + Gets the serializer for the specified . + + The type. + The serializer. + + + + Represents a serializer that has a child serializer that configuration attributes can be forwarded to. + + + + + Gets the child serializer. + + + + + Returns a serializer that has been reconfigured with the specified child serializer. + + The child serializer. + The reconfigured serializer. + + + + Represents a serializer that has a DictionaryRepresentation property. + + + + + Gets the dictionary representation. + + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Represents a serializer that has a DictionaryRepresentation property. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + An interface implemented by Id generators. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + An interface implemented by serialization providers that are aware of registries. + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + Represents a serializer that has a Representation property. + + + + + Gets the representation. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer that has a Representation property. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer that has a representation converter. + + + + + Gets the converter. + + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Represents a serializer that has a representation converter. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Provides serializers for primitive types. + + + + + + + MongoDB.Bson.Serialization.PrimitiveSerializationProvider + + + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + Represents a serialization provider based on a mapping from value types to serializer types. + + + + + Initializes a new instance of the class. + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + Registers the serializer mapping. + + The type. + Type of the serializer. + + + + Supports using type names as discriminators. + + + + + Resolves a type name discriminator. + + The type name. + The type if type type name can be resolved; otherwise, null. + + + + Gets a type name to be used as a discriminator (like AssemblyQualifiedName but shortened for common DLLs). + + The type. + The type name. + + + + Specifies that this constructor should be used for creator-based deserialization. + + + + + Initializes a new instance of the BsonConstructorAttribute class. + + + + + Initializes a new instance of the BsonConstructorAttribute class. + + The names of the members that the creator argument values come from. + + + + Applies a modification to the creator map. + + The creator map. + + + + Gets the names of the members that the creator arguments values come from. + + + + + Specifies serialization options for a DateTime field or property. + + + + + Initializes a new instance of the BsonDateTimeOptionsAttribute class. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Gets or sets whether the DateTime consists of a Date only. + + + + + Gets or sets the DateTimeKind (Local, Unspecified or Utc). + + + + + Gets or sets the external representation. + + + + + Specifies the default value for a field or property. + + + + + Initializes a new instance of the BsonDefaultValueAttribute class. + + The default value. + + + + Applies a modification to the member map. + + The member map. + + + + Gets the default value. + + + + + Gets or sets whether to serialize the default value. + + + + + Specifies serialization options for a Dictionary field or property. + + + + + Initializes a new instance of the BsonDictionaryOptionsAttribute class. + + + + + Initializes a new instance of the BsonDictionaryOptionsAttribute class. + + The representation to use for the Dictionary. + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Gets or sets the external representation. + + + + + Specifies the discriminator and related options for a class. + + + + + Initializes a new instance of the BsonDiscriminatorAttribute class. + + + + + Initializes a new instance of the BsonDiscriminatorAttribute class. + + The discriminator. + + + + Applies a modification to the class map. + + The class map. + + + + Gets the discriminator. + + + + + Gets or sets whether the discriminator is required. + + + + + Gets or sets whether this is a root class. + + + + + Specifies the element name and related options for a field or property. + + + + + Initializes a new instance of the BsonElementAttribute class. + + + + + Initializes a new instance of the BsonElementAttribute class. + + The name of the element. + + + + Applies a modification to the member map. + + The member map. + + + + Gets the element name. + + + + + Gets the element serialization order. + + + + + Indicates that this property or field will be used to hold any extra elements found during deserialization. + + + + + + + MongoDB.Bson.Serialization.Attributes.BsonExtraElementsAttribute + + + + + + + Applies a modification to the member map. + + The member map. + + + + Specifies that this factory method should be used for creator-based deserialization. + + + + + Initializes a new instance of the BsonFactoryMethodAttribute class. + + + + + Initializes a new instance of the BsonFactoryMethodAttribute class. + + The names of the members that the creator argument values come from. + + + + Applies a modification to the creator map. + + The creator map. + + + + Gets the names of the members that the creator arguments values come from. + + + + + Specifies that this is the Id field or property. + + + + + Initializes a new instance of the BsonIdAttribute class. + + + + + Applies a modification to the member map. + + The member map. + + + + Gets or sets the Id generator for the Id. + + + + + Gets or sets the Id element serialization order. + + + + + Indicates that this field or property should be ignored when this class is serialized. + + + + + + + MongoDB.Bson.Serialization.Attributes.BsonIgnoreAttribute + + + + + + + Specifies whether extra elements should be ignored when this class is deserialized. + + + + + Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. + + + + + Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. + + Whether extra elements should be ignored when this class is deserialized. + + + + Applies a modification to the class map. + + The class map. + + + + Gets whether extra elements should be ignored when this class is deserialized. + + + + + Gets whether extra elements should also be ignored when any class derived from this one is deserialized. + + + + + Indicates whether a field or property equal to the default value should be ignored when serializing this class. + + + + + Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. + + + + + Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. + + Whether a field or property equal to the default value should be ignored when serializing this class. + + + + Applies a modification to the member map. + + The member map. + + + + Gets whether a field or property equal to the default value should be ignored when serializing this class. + + + + + Indicates whether a field or property equal to null should be ignored when serializing this class. + + + + + Initializes a new instance of the BsonIgnoreIfNullAttribute class. + + + + + Initializes a new instance of the BsonIgnoreIfNullAttribute class. + + Whether a field or property equal to null should be ignored when serializing this class. + + + + Applies a modification to the member map. + + The member map. + + + + Gets whether a field or property equal to null should be ignored when serializing this class. + + + + + Specifies the known types for this class (the derived classes). + + + + + Initializes a new instance of the BsonKnownTypesAttribute class. + + A known types. + + + + Initializes a new instance of the BsonKnownTypesAttribute class. + + One or more known types. + + + + Applies a modification to the class map. + + The class map. + + + + Gets a list of the known types. + + + + + Specifies that the class's IdMember should be null. + + + + + + + MongoDB.Bson.Serialization.Attributes.BsonNoIdAttribute + + + + + + + Applies the post processing attribute to the class map. + + The class map. + + + + Specifies the external representation and related options for this field or property. + + + + + Initializes a new instance of the BsonRepresentationAttribute class. + + The external representation. + + + + Gets or sets whether to allow overflow. + + + + + Gets or sets whether to allow truncation. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Gets the external representation. + + + + + Indicates that a field or property is required. + + + + + + + MongoDB.Bson.Serialization.Attributes.BsonRequiredAttribute + + + + + + + Applies a modification to the member map. + + The member map. + + + + Abstract base class for serialization options attributes. + + + + + Initializes a new instance of the BsonSerializationOptionsAttribute class. + + + + + Applies a modification to the member map. + + The member map. + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + + Specifies the type of the serializer to use for a class. + + + + + Initializes a new instance of the BsonSerializerAttribute class. + + + + + Initializes a new instance of the BsonSerializerAttribute class. + + The type of the serializer to use for a class. + + + + Applies a modification to the member map. + + The member map. + + + + Gets or sets the type of the serializer to use for a class. + + + + + Specifies the external representation and related options for this field or property. + + + + + Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + + The external representation. + + + + Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + + The external representation. + The TimeSpanUnits. + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Gets the external representation. + + + + + Gets or sets the TimeSpanUnits. + + + + + Convention pack for applying attributes. + + + + + Gets the conventions. + + + + + Gets the instance. + + + + + A convention that sets the element name the same as the member name with the first character lower cased. + + + + + + + MongoDB.Bson.Serialization.Conventions.CamelCaseElementNameConvention + + + + + + + Applies a modification to the member map. + + The member map. + + + + Base class for a convention. + + + + + Initializes a new instance of the ConventionBase class. + + + + + Initializes a new instance of the ConventionBase class. + + The name of the convention. + + + + Gets the name of the convention. + + + + + A mutable pack of conventions. + + + + + Initializes a new instance of the class. + + + + + Adds the specified convention. + + The convention. + + + + + Adds a class map convention created using the specified action upon a class map. + + The name of the convention. + The action the convention should take upon the class map. + + + + Adds a member map convention created using the specified action upon a member map. + + The name of the convention. + The action the convention should take upon the member map. + + + + Adds a post processing convention created using the specified action upon a class map. + + The name of the convention. + The action the convention should take upon the class map. + + + + Adds a range of conventions. + + The conventions. + + + + + Appends the conventions in another pack to the end of this pack. + + The other pack. + + + + Gets the conventions. + + + + + Gets an enumerator for the conventions. + + An enumerator. + + + + Inserts the convention after another convention specified by the name. + + The name. + The convention. + + + + Inserts the convention before another convention specified by the name. + + The name. + The convention. + + + + Removes the named convention. + + The name of the convention. + + + + Represents a registry of conventions. + + + + + Looks up the effective set of conventions that apply to a type. + + The type. + The conventions for that type. + + + + Registers the conventions. + + The name. + The conventions. + The filter. + + + + Removes the conventions specified by the given name. + + The name. + + + + Runs the conventions against a BsonClassMap and its BsonMemberMaps. + + + + + Initializes a new instance of the class. + + The conventions. + + + + Applies a modification to the class map. + + The class map. + + + + Convention pack of defaults. + + + + + Gets the conventions. + + + + + Gets the instance. + + + + + A class map convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a modification to the class map. + + The class map. + + + + A member map convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a modification to the member map. + + The member map. + + + + A post processing convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a post processing modification to the class map. + + The class map. + + + + A convention that allows you to set the Enum serialization representation + + + + + Initializes a new instance of the class. + + The serialization representation. 0 is used to detect representation + from the enum itself. + + + + Applies a modification to the member map. + + The member map. + + + + Gets the representation. + + + + + Represents a discriminator convention where the discriminator is an array of all the discriminators provided by the class maps of the root class down to the actual type. + + + + + Initializes a new instance of the HierarchicalDiscriminatorConvention class. + + The element name. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + Represents a convention that applies to a BsonClassMap. + + + + + Applies a modification to the class map. + + The class map. + + + + Represents a convention. + + + + + Gets the name of the convention. + + + + + Represents a grouping of conventions. + + + + + Gets the conventions. + + + + + Represents a convention that applies to a BsonCreatorMap. + + + + + Applies a modification to the creator map. + + The creator map. + + + + Represents a discriminator convention. + + + + + Gets the discriminator element name. + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + A convention that sets whether to ignore extra elements encountered during deserialization. + + + + + Initializes a new instance of the class. + + Whether to ignore extra elements encountered during deserialization. + + + + Applies a modification to the class map. + + The class map. + + + + A convention that sets whether to ignore default values during serialization. + + + + + Initializes a new instance of the class. + + Whether to ignore default values during serialization. + + + + Applies a modification to the member map. + + The member map. + + + + A convention that sets whether to ignore nulls during serialization. + + + + + Initializes a new instance of the class. + + Whether to ignore nulls during serialization. + + + + Applies a modification to the member map. + + The member map. + + + + Represents a convention that applies to a BsonMemberMap. + + + + + Applies a modification to the member map. + + The member map. + + + + Maps a fully immutable type. This will include anonymous types. + + + + + + + MongoDB.Bson.Serialization.Conventions.ImmutableTypeClassMapConvention + + + + + + + Applies a modification to the class map. + + The class map. + + + + Represents a post processing convention that applies to a BsonClassMap. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + A convention that looks up an id generator for the id member. + + + + + + + MongoDB.Bson.Serialization.Conventions.LookupIdGeneratorConvention + + + + + + + Applies a post processing modification to the class map. + + The class map. + + + + A convention that sets the default value for members of a given type. + + + + + Initializes a new instance of the class. + + The type of the member. + The default value for members of this type. + + + + Applies a modification to the member map. + + The member map. + + + + A convention that sets the element name the same as the member name. + + + + + + + MongoDB.Bson.Serialization.Conventions.MemberNameElementNameConvention + + + + + + + Applies a modification to the member map. + + The member map. + + + + A convention that finds the extra elements member by name (and that is also of type or ). + + + + + Initializes a new instance of the class. + + The names. + + + + Initializes a new instance of the class. + + The names. + The binding flags. + + + + Initializes a new instance of the class. + + The names. + The member types. + + + + Initializes a new instance of the class. + + The names. + The member types. + The binding flags. + + + + + Initializes a new instance of the NamedExtraElementsMemberConvention class. + + The name of the extra elements member. + + + + Applies a modification to the class map. + + The class map. + + + + A convention that finds the id member by name. + + + + + Initializes a new instance of the class. + + The names. + + + + Initializes a new instance of the class. + + The names. + The binding flags. + + + + Initializes a new instance of the class. + + The names. + The member types. + + + + Initializes a new instance of the class. + + The names. + The member types. + The binding flags. + + + + + Initializes a new instance of the class. + + The names. + + + + Applies a modification to the class map. + + The class map. + + + + A convention that uses the names of the creator parameters to find the matching members. + + + + + + + MongoDB.Bson.Serialization.Conventions.NamedParameterCreatorMapConvention + + + + + + + Applies a modification to the creator map. + + The creator map. + + + + A convention that sets a class's IdMember to null. + + + + + + + MongoDB.Bson.Serialization.Conventions.NoIdMemberConvention + + + + + + + Applies a post processing modification to the class map. + + The class map. + + + + Represents the object discriminator convention. + + + + + Initializes a new instance of the ObjectDiscriminatorConvention class. + + The element name. + + + + Gets the discriminator element name. + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + Gets an instance of the ObjectDiscriminatorConvention. + + + + + A convention that finds readable and writeable members and adds them to the class map. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The binding flags. + + + + Initializes a new instance of the class. + + The member types. + + + + Initializes a new instance of the class. + + The member types. + The binding flags. + + + + Applies a modification to the class map. + + The class map. + + + + A convention that resets a class map (resetting any changes that earlier conventions may have applied). + + + + + + + MongoDB.Bson.Serialization.Conventions.ResetClassMapConvention + + + + + + + Applies a modification to the class map. + + The class map. + + + + A convention that resets class members (resetting any changes that earlier conventions may have applied). + + + + + + + MongoDB.Bson.Serialization.Conventions.ResetMemberMapsConvention + + + + + + + Applies a modification to the member map. + + The member map. + + + + Represents a discriminator convention where the discriminator is provided by the class map of the actual type. + + + + + Initializes a new instance of the ScalarDiscriminatorConvention class. + + The element name. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + Represents the standard discriminator conventions (see ScalarDiscriminatorConvention and HierarchicalDiscriminatorConvention). + + + + + Initializes a new instance of the StandardDiscriminatorConvention class. + + The element name. + + + + Gets the discriminator element name. + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + Gets an instance of the HierarchicalDiscriminatorConvention. + + + + + Gets an instance of the ScalarDiscriminatorConvention. + + + + + A convention that sets the id generator for a string member with a BSON representation of ObjectId. + + + + + + + MongoDB.Bson.Serialization.Conventions.StringObjectIdIdGeneratorConvention + + + + + + + Applies a post processing modification to the class map. + + The class map. + + + + A GUID generator that generates GUIDs in ascending order. To enable + an index to make use of the ascending nature make sure to use + GuidRepresentation.Standard + as the storage representation. + Internally the GUID is of the form + 8 bytes: Ticks from DateTime.UtcNow.Ticks + 3 bytes: hash of machine name + 2 bytes: low order bytes of process Id + 3 bytes: increment + + + + + + + MongoDB.Bson.Serialization.IdGenerators.AscendingGuidGenerator + + + + + + + Generates a Guid for a document. Note - this is purely used for + unit testing + + The time portion of the Guid + A 5 byte array with the first 3 bytes + representing a machine id and the next 2 representing a process + id + The increment portion of the Guid. Used + to distinguish between 2 Guids that have the timestamp. Note + only the least significant 3 bytes are used. + A Guid. + + + + Generates an ascending Guid for a document. Consecutive invocations + should generate Guids that are ascending from a MongoDB perspective + + The container of the document (will be a + MongoCollection when called from the driver). + The document it was generated for. + A Guid. + + + + Gets an instance of AscendingGuidGenerator. + + + + + Tests whether an id is empty. + + The id to test. + True if the Id is empty. False otherwise + + + + Represents an Id generator for Guids stored in BsonBinaryData values. + + + + + Initializes a new instance of the BsonBinaryDataGuidGenerator class. + + The GuidRepresentation to use when generating new Id values. + + + + Gets an instance of BsonBinaryDataGuidGenerator for CSharpLegacy GuidRepresentation. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Gets the instance of BsonBinaryDataGuidGenerator for a GuidRepresentation. + + The GuidRepresentation. + The instance of BsonBinaryDataGuidGenerator for a GuidRepresentation. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Gets an instance of BsonBinaryDataGuidGenerator for JavaLegacy GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for PythonLegacy GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for Standard GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for Unspecifed GuidRepresentation. + + + + + Represents an Id generator for BsonObjectIds. + + + + + Initializes a new instance of the BsonObjectIdGenerator class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Gets an instance of ObjectIdGenerator. + + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for Guids using the COMB algorithm. + + + + + Initializes a new instance of the CombGuidGenerator class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Gets an instance of CombGuidGenerator. + + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Create a new CombGuid from a given Guid and timestamp. + + The base Guid. + The timestamp. + A new CombGuid created by combining the base Guid with the timestamp. + + + + Represents an Id generator for Guids. + + + + + Initializes a new instance of the GuidGenerator class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Gets an instance of GuidGenerator. + + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator that only checks that the Id is not null. + + + + + Initializes a new instance of the NullIdChecker class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Gets an instance of NullIdChecker. + + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for ObjectIds. + + + + + Initializes a new instance of the ObjectIdGenerator class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Gets an instance of ObjectIdGenerator. + + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for ObjectIds represented internally as strings. + + + + + Initializes a new instance of the StringObjectIdGenerator class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Gets an instance of StringObjectIdGenerator. + + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator that only checks that the Id is not all zeros. + + The type of the Id. + + + + Initializes a new instance of the ZeroIdChecker class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents the representation to use for dictionaries. + + + + + Represent the dictionary as a Document. + + + + + Represent the dictionary as an array of arrays. + + + + + Represent the dictionary as an array of documents. + + + + + Represents the external representation of a field or property. + + + + + Initializes a new instance of the RepresentationConverter class. + + Whether to allow overflow. + Whether to allow truncation. + + + + Gets whether to allow overflow. + + + + + Gets whether to allow truncation. + + + + + Converts a Decimal128 to a Decimal. + + A Decimal128. + A Decimal. + + + + Converts a Double to a Decimal. + + A Double. + A Decimal. + + + + Converts an Int32 to a Decimal. + + An Int32. + A Decimal. + + + + Converts an Int64 to a Decimal. + + An Int64. + A Decimal. + + + + Converts a decimal to a Decimal128. + + A decimal. + A Decimal128. + + + + Converts a Double to a Decimal128. + + A Double. + A Decimal128. + + + + Converts an Int32 to a Decimal128. + + An Int32. + A Decimal128. + + + + Converts an Int64 to a Decimal128. + + An Int64. + A Decimal128. + + + + Converts a UInt64 to a Decimal128. + + A UInt64. + A Decimal128. + + + + Converts a Decimal128 to a Double. + + A Decimal. + A Double. + + + + Converts a Decimal to a Double. + + A Decimal. + A Double. + + + + Converts a Double to a Double. + + A Double. + A Double. + + + + Converts an Int16 to a Double. + + An Int16. + A Double. + + + + Converts an Int32 to a Double. + + An Int32. + A Double. + + + + Converts an Int64 to a Double. + + An Int64. + A Double. + + + + Converts a Single to a Double. + + A Single. + A Double. + + + + Converts a UInt16 to a Double. + + A UInt16. + A Double. + + + + Converts a UInt32 to a Double. + + A UInt32. + A Double. + + + + Converts a UInt64 to a Double. + + A UInt64. + A Double. + + + + Converts a Decimal128 to an Int16. + + A Decimal128. + An Int16. + + + + Converts a Double to an Int16. + + A Double. + An Int16. + + + + Converts an Int32 to an Int16. + + An Int32. + An Int16. + + + + Converts an Int64 to an Int16. + + An Int64. + An Int16. + + + + Converts a Decimal128 to an Int32. + + A Decimal128. + An Int32. + + + + Converts a Decimal to an Int32. + + A Decimal. + An Int32. + + + + Converts a Double to an Int32. + + A Double. + An Int32. + + + + Converts an Int16 to an Int32. + + An Int16. + An Int32. + + + + Converts an Int32 to an Int32. + + An Int32. + An Int32. + + + + Converts an Int64 to an Int32. + + An Int64. + An Int32. + + + + Converts a Single to an Int32. + + A Single. + An Int32. + + + + Converts a UInt16 to an Int32. + + A UInt16. + An Int32. + + + + Converts a UInt32 to an Int32. + + A UInt32. + An Int32. + + + + Converts a UInt64 to an Int32. + + A UInt64. + An Int32. + + + + Converts a Decimal128 to an Int64. + + A Decimal128. + An Int64. + + + + Converts a Decimal to an Int64. + + A Decimal. + An Int64. + + + + Converts a Double to an Int64. + + A Double. + An Int64. + + + + Converts an Int16 to an Int64. + + An Int16. + An Int64. + + + + Converts an Int32 to an Int64. + + An Int32. + An Int64. + + + + Converts an Int64 to an Int64. + + An Int64. + An Int64. + + + + Converts a Single to an Int64. + + A Single. + An Int64. + + + + Converts a UInt16 to an Int64. + + A UInt16. + An Int64. + + + + Converts a UInt32 to an Int64. + + A UInt32. + An Int64. + + + + Converts a UInt64 to an Int64. + + A UInt64. + An Int64. + + + + Converts a Decimal128 to a Single. + + A Decimal128. + A Single. + + + + Converts a Double to a Single. + + A Double. + A Single. + + + + Converts an Int32 to a Single. + + An Int32. + A Single. + + + + Converts an Int64 to a Single. + + An Int64. + A Single. + + + + Converts a Decimal128 to a UInt16. + + A Decimal128. + A UInt16. + + + + Converts a Double to a UInt16. + + A Double. + A UInt16. + + + + Converts an Int32 to a UInt16. + + An Int32. + A UInt16. + + + + Converts an Int64 to a UInt16. + + An Int64. + A UInt16. + + + + Converts a Decimal128 to a UInt32. + + A Decimal128. + A UInt32. + + + + Converts a Double to a UInt32. + + A Double. + A UInt32. + + + + Converts an Int32 to a UInt32. + + An Int32. + A UInt32. + + + + Converts an Int64 to a UInt32. + + An Int64. + A UInt32. + + + + Converts a Decimal128 to a UInt64. + + A Decimal128. + A UInt64. + + + + Converts a Double to a UInt64. + + A Double. + A UInt64. + + + + Converts an Int32 to a UInt64. + + An Int32. + A UInt64. + + + + Converts an Int64 to a UInt64. + + An Int64. + A UInt64. + + + + Represents the units a TimeSpan is serialized in. + + + + + Use ticks as the units. + + + + + Use days as the units. + + + + + Use hours as the units. + + + + + Use minutes as the units. + + + + + Use seconds as the units. + + + + + Use milliseconds as the units. + + + + + Use microseconds as the units. + + + + + Use nanoseconds as the units. + + + + + Represents a serializer for an abstract class. + + The type of the class. + + + + + + MongoDB.Bson.Serialization.Serializers.AbstractClassSerializer`1 + + + + + + + Represents a serializer for one-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for BitArrays. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Booleans. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for BsonArrays. + + + + + Initializes a new instance of the BsonArraySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonArraySerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for BsonBinaryDatas. + + + + + Initializes a new instance of the BsonBinaryDataSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonBinaryDataSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonBooleans. + + + + + Initializes a new instance of the BsonBooleanSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonBooleanSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDateTimes. + + + + + Initializes a new instance of the BsonDateTimeSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonDateTimeSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDecimal128s. + + + + + Initializes a new instance of the BsonBooleanSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonBooleanSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDocuments. + + + + + Initializes a new instance of the BsonDocumentSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Gets an instance of the BsonDocumentSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Sets the document Id. + + The document. + The Id. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for BsonDocumentWrappers. + + + + + Initializes a new instance of the BsonDocumentWrapperSerializer class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Gets an instance of the BsonDocumentWrapperSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDoubles. + + + + + Initializes a new instance of the BsonDoubleSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonDoubleSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonInt32s. + + + + + Initializes a new instance of the BsonInt32Serializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonInt32Serializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonInt64s. + + + + + Initializes a new instance of the BsonInt64Serializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonInt64Serializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonJavaScripts. + + + + + Initializes a new instance of the BsonJavaScriptSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonJavaScriptSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonJavaScriptWithScopes. + + + + + Initializes a new instance of the BsonJavaScriptWithScopeSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonJavaScriptWithScopeSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonMaxKeys. + + + + + Initializes a new instance of the BsonMaxKeySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonMaxKeySerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonMinKeys. + + + + + Initializes a new instance of the BsonMinKeySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonMinKeySerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonNulls. + + + + + Initializes a new instance of the BsonNullSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonNullSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonObjectIds. + + + + + Initializes a new instance of the BsonObjectIdSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonObjectIdSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonRegularExpressions. + + + + + Initializes a new instance of the BsonRegularExpressionSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonRegularExpressionSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonStrings. + + + + + Initializes a new instance of the BsonStringSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonStringSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonSymbols. + + + + + Initializes a new instance of the BsonSymbolSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonSymbolSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonTimestamps. + + + + + Initializes a new instance of the BsonTimestampSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonTimestampSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonUndefineds. + + + + + Initializes a new instance of the BsonUndefinedSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonUndefinedSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonArraySerializer and IBsonDocumentSerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + The serialization info for the items. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonArraySerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonDocumentSerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for a BsonValue that can round trip C# null. + + The type of the BsonValue. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonValues. + + + + + Initializes a new instance of the BsonValueSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets an instance of the BsonValueSerializer class. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a base class for BsonValue serializers. + + The type of the BsonValue. + + + + Initializes a new instance of the class. + + The Bson type. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for ByteArrays. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Chars. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for class serializers. + + The type of the value. + + + + + + MongoDB.Bson.Serialization.Serializers.ClassSerializerBase`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the actual type. + + The context. + The actual type. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Serializes a value of type {TValue}. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for CultureInfos. + + + + + Initializes a new instance of the CultureInfoSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for DateTimeOffsets. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for DateTimes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + if set to true [date only]. + + + + Initializes a new instance of the class. + + if set to true [date only]. + The representation. + + + + Initializes a new instance of the class. + + The kind. + + + + Initializes a new instance of the class. + + The kind. + The representation. + + + + Gets whether this DateTime consists of a Date only. + + + + + Gets an instance of DateTimeSerializer with DateOnly=true. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the DateTimeKind (Local, Unspecified or Utc). + + + + + Gets an instance of DateTimeSerializer with Kind=Local. + + + + + Gets the external representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Gets an instance of DateTimeSerializer with Kind=Utc. + + + + + Returns a serializer that has been reconfigured with the specified dateOnly value. + + if set to true the values will be required to be Date's only (zero time component). + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified dateOnly value and representation. + + if set to true the values will be required to be Date's only (zero time component). + The representation. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified DateTimeKind value. + + The DateTimeKind. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified DateTimeKind value and representation. + + The DateTimeKind. + The representation. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Decimal128s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Decimals. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for a class that implements IDictionary. + + The type of the dictionary. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Creates the instance. + + The instance. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + + The dictionary representation. + The key serializer. + The value serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified key serializer. + + The key serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified value serializer. + + The value serializer. + The reconfigured serializer. + + + + Represents a serializer for a class that implements . + + The type of the dictionary. + The type of the key. + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Creates the instance. + + The instance. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + + The dictionary representation. + The key serializer. + The value serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified key serializer. + + The key serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified value serializer. + + The value serializer. + The reconfigured serializer. + + + + Represents a serializer for dictionaries. + + The type of the dictionary. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Creates the instance. + + The instance. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the dictionary representation. + + + + + Gets the key serializer. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + Gets the value serializer. + + + + + Represents a serializer for dictionaries. + + The type of the dictionary. + The type of the keys. + The type of the values. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Initializes a new instance of the class. + + The dictionary representation. + The serializer registry. + + + + Creates the instance. + + The instance. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the dictionary representation. + + + + + Gets the key serializer. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + Gets the value serializer. + + + + + Represents a serializer for Interfaces. + + The type of the interface. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The discriminator convention. + interfaceType + interfaceType + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + Represents a serializer that serializes values as a discriminator/value pair. + + The type of the value. + + + + Initializes a new instance of the class. + + The discriminator convention. + The wrapped serializer. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Determines whether the reader is positioned at a discriminated wrapper. + + The context. + True if the reader is positioned at a discriminated wrapper. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for Doubles. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Base serializer for dynamic types. + + The dynamic type. + + + + Initializes a new instance of the class. + + + + + Configures the deserialization context. + + The builder. + + + + Configures the serialization context. + + The builder. + + + + Creates the document. + + A + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Sets the value for the member. + + The document. + Name of the member. + The value. + + + + Tries to get the value for a member. Returns true if the member should be serialized. + + The document. + Name of the member. + The value. + + true if the member should be serialized; otherwise false. + + + + Represents a serializer for a class that implements IEnumerable. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + + + + + Creates the accumulator. + + The accumulator. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for a class that implementes . + + The type of the value. + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for enumerable values. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for enumerable values. + + The type of the value. + The type of the items. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a base serializer for enumerable values. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Gets the item serializer. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for enumerable values. + + The type of the value. + The type of the items. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Gets the item serializer. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + The serialization info for the items. + + + + + Represents a serializer for enums. + + The type of the enum. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Serializer for . + + + + + Initializes a new instance of the class. + + + + + Configures the deserialization context. + + The builder. + + + + Configures the serialization context. + + The builder. + + + + Creates the document. + + + A . + + + + + Sets the value for the member. + + The document. + Name of the member. + The value. + + + + Tries to get the value for a member. Returns true if the member should be serialized. + + The value. + Name of the member. + The member value. + + true if the member should be serialized; otherwise false. + + + + Represents a serializer for Guids. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Interfaces. + + The type of the interface. + The type of the implementation. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The implementation serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + Gets the dictionary representation. + + + + + + Gets the implementation serializer. + + + + + Gets the key serializer. + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Gets the value serializer. + + + + + + Returns a serializer that has been reconfigured with the specified implementation serializer. + + The implementation serializer. + + The reconfigured serializer. + + + + + Represents a serializer for Int16s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Int32. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Int64s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for IPAddresses. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for IPEndPoints. + + + + + Initializes a new instance of the IPEndPointSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for KeyValuePairs. + + The type of the keys. + The type of the values. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The key serializer. + The value serializer. + + + + Initializes a new instance of the class. + + The representation. + The serializer registry. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the key serializer. + + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + Gets the value serializer. + + + + + Represents a serializer for LazyBsonArrays. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for LazyBsonDocuments. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for nullable values. + + The underlying type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified serializer. + + The serializer. + + The reconfigured serializer. + + + + + Represents a serializer for ObjectIds. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for objects. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The discriminator convention. + discriminatorConvention + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the standard instance. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for a BsonDocument with some parts raw. + + + + + Initializes a new instance of the class. + + The name. + The raw serializer. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Wraps a serializer and projects using a function. + + The type of from. + The type of to. + + + + Initializes a new instance of the class. + + From serializer. + The projector. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Represents a serializer for Queues. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items. + + The value. + The items. + + + + Finalizes the result. + + The instance. + The result. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for Queues. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for RawBsonArrays. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for RawBsonDocuments. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the instance. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for readonly collection. + + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for a subclass of ReadOnlyCollection. + + The type of the value. + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for SBytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for sealed class serializers. + + The type of the value. + + + + + + MongoDB.Bson.Serialization.Serializers.SealedClassSerializerBase`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Serializes a value of type {TValue}. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a class that will be serialized as if it were one of its base classes. + + The actual type. + The nominal type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base class serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents an abstract base class for serializers. + + The type of the value. + + + + + + MongoDB.Bson.Serialization.Serializers.SerializerBase`1 + + + + + + + Creates an exception to throw when a type cannot be deserialized. + + An exception. + + + + Creates an exception to throw when a type cannot be deserialized. + + An exception. + + + + Creates an exception to throw when a type cannot be deserialized from a BsonType. + + The BSON type. + An exception. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Ensures that the BsonType equals the expected type. + + The reader. + The expected type. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Gets the type of the values. + + + + + Represents a helper for serializers. + + + + + Initializes a new instance of the class. + + The members. + + + + Deserializes the members. + + The deserialization context. + The member handler. + The found member flags. + + + + Represents information about a member. + + + + + Initializes a new instance of the class. + + The name of the element. + The flag. + Whether the member is optional. + + + + Gets the name of the element. + + + + + Gets the flag. + + + + + Gets a value indicating whether this member is optional. + + + + + Represents a serializer for Singles. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Stacks. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for Stacks. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for Strings. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for struct serializers. + + The type of the value. + + + + + + MongoDB.Bson.Serialization.Serializers.StructSerializerBase`1 + + + + + + + Represents a serializer for three-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the item serializer. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for Timespans. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The units. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Gets the units. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation and units. + + The representation. + The units. + + The reconfigured serializer. + + + + + Represents a serializer for a . + + The type of item 1. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Gets the Item1 serializer. + + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + The type of the rest item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + The Rest serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + Gets the Rest serializer. + + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for two-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the item serializer. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for UInt16s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for UInt32s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for UInt64s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for interfaces and base classes that delegates to the actual type interface without writing a discriminator. + + Type type of the value. + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + Represents a serializer for Uris. + + + + + Initializes a new instance of the UriSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for Versions. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the representation. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + \ No newline at end of file diff --git a/packages/MongoDB.Bson.2.4.3/lib/netstandard1.5/MongoDB.Bson.xml b/packages/MongoDB.Bson.2.4.3/lib/netstandard1.5/MongoDB.Bson.xml new file mode 100644 index 0000000..ff40d68 --- /dev/null +++ b/packages/MongoDB.Bson.2.4.3/lib/netstandard1.5/MongoDB.Bson.xml @@ -0,0 +1,21631 @@ + + + + MongoDB.Bson + + + + + A static class containing BSON constants. + + + + + Gets the number of milliseconds since the Unix epoch for DateTime.MaxValue. + + + + + Gets the number of milliseconds since the Unix epoch for DateTime.MinValue. + + + + + Gets the Unix Epoch for BSON DateTimes (1970-01-01). + + + + + A static helper class containing BSON defaults. + + + + + Gets or sets the dynamic array serializer. + + + + + Gets or sets the dynamic document serializer. + + + + + Gets or sets the default representation to be used in serialization of + Guids to the database. + + + + + + Gets or sets the default max document size. The default is 4MiB. + + + + + Gets or sets the default max serialization depth (used to detect circular references during serialization). The default is 100. + + + + + A static class containing BSON extension methods. + + + + + Serializes an object to a BSON byte array. + + The nominal type of the object. + The object. + The serializer. + The writer settings. + The serialization context configurator. + The serialization args. + A BSON byte array. + + + + Serializes an object to a BSON byte array. + + The object. + The nominal type of the object.. + The writer settings. + The serializer. + The serialization context configurator. + The serialization args. + A BSON byte array. + nominalType + serializer + + + + Serializes an object to a BsonDocument. + + The nominal type of the object. + The object. + The serializer. + The serialization context configurator. + The serialization args. + A BsonDocument. + + + + Serializes an object to a BsonDocument. + + The object. + The nominal type of the object. + The serializer. + The serialization context configurator. + The serialization args. + A BsonDocument. + nominalType + serializer + + + + Serializes an object to a JSON string. + + The nominal type of the object. + The object. + The JsonWriter settings. + The serializer. + The serializastion context configurator. + The serialization args. + + A JSON string. + + + + + Serializes an object to a JSON string. + + The object. + The nominal type of the objectt. + The JsonWriter settings. + The serializer. + The serialization context configurator. + The serialization args. + + A JSON string. + + nominalType + serializer + + + + A static class containing BSON utility methods. + + + + + Gets a friendly class name suitable for use in error messages. + + The type. + A friendly class name. + + + + Parses a hex string into its equivalent byte array. + + The hex string to parse. + The byte equivalent of the hex string. + + + + Converts from number of milliseconds since Unix epoch to DateTime. + + The number of milliseconds since Unix epoch. + A DateTime. + + + + Converts a byte array to a hex string. + + The byte array. + A hex string. + + + + Converts a DateTime to local time (with special handling for MinValue and MaxValue). + + A DateTime. + The DateTime in local time. + + + + Converts a DateTime to number of milliseconds since Unix epoch. + + A DateTime. + Number of seconds since Unix epoch. + + + + Converts a DateTime to UTC (with special handling for MinValue and MaxValue). + + A DateTime. + The DateTime in UTC. + + + + Tries to parse a hex string to a byte array. + + The hex string. + A byte array. + True if the hex string was successfully parsed. + + + + Represents a BSON exception. + + + + + Initializes a new instance of the BsonException class. + + + + + Initializes a new instance of the BsonException class. + + The error message. + + + + Initializes a new instance of the BsonException class. + + The error message. + The inner exception. + + + + Initializes a new instance of the BsonException class. + + The error message format string. + One or more args for the error message. + + + + Represents a BSON internal exception (almost surely the result of a bug). + + + + + Initializes a new instance of the BsonInternalException class. + + + + + Initializes a new instance of the BsonInternalException class. + + The error message. + + + + Initializes a new instance of the BsonInternalException class. + + The error message. + The inner exception. + + + + Represents a BSON serialization exception. + + + + + Initializes a new instance of the BsonSerializationException class. + + + + + Initializes a new instance of the BsonSerializationException class. + + The error message. + + + + Initializes a new instance of the BsonSerializationException class. + + The error message. + The inner exception. + + + + Indicates that an attribute restricted to one member has been applied to multiple members. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Represents a truncation exception. + + + + + Initializes a new instance of the TruncationException class. + + + + + Initializes a new instance of the TruncationException class. + + The error message. + + + + Initializes a new instance of the TruncationException class. + + The error message. + The inner exception. + + + + Represents a fast converter from integer indexes to UTF8 BSON array element names. + + + + + Gets the element name bytes. + + The index. + The element name bytes. + + + + Represents a fast converter from integer indexes to UTF8 BSON array element names. + + + + + Gets or sets the default array element name accelerator. + + + + + Initializes a new instance of the class. + + The number of cached element names. + + + + Gets the element name bytes. + + The index. + + The element name bytes. + + + + + Represents a BSON reader for a binary BSON byte array. + + + + + Initializes a new instance of the BsonBinaryReader class. + + A stream (BsonBinary does not own the stream and will not Dispose it). + + + + Initializes a new instance of the BsonBinaryReader class. + + A stream (BsonBinary does not own the stream and will not Dispose it). + A BsonBinaryReaderSettings. + + + + Gets the base stream. + + + The base stream. + + + + + Gets the BSON stream. + + + The BSON stream. + + + + + Closes the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + The name of the element. + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + + The raw BSON array. + + + + + Reads a raw BSON document. + + + The raw BSON document. + + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Creates a clone of the context. + + A clone of the context. + + + + Represents settings for a BsonBinaryReader. + + + + + Initializes a new instance of the BsonBinaryReaderSettings class. + + + + + Gets or sets the default settings for a BsonBinaryReader. + + + + + Gets or sets the Encoding. + + + + + Gets or sets whether to fix occurrences of the old binary subtype on input. + + + + + Gets or sets whether to fix occurrences of the old representation of DateTime.MaxValue on input. + + + + + Gets or sets the max document size. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Represents a BSON writer to a BSON Stream. + + + + + Initializes a new instance of the BsonBinaryWriter class. + + A stream. The BsonBinaryWriter does not own the stream and will not Dispose it. + + + + Initializes a new instance of the BsonBinaryWriter class. + + A stream. The BsonBinaryWriter does not own the stream and will not Dispose it. + The BsonBinaryWriter settings. + + + + Gets the base stream. + + + The base stream. + + + + + Gets the BSON stream. + + + The BSON stream. + + + + + Closes the writer. Also closes the base stream. + + + + + Flushes any pending data to the output destination. + + + + + Pops the max document size stack, restoring the previous max document size. + + + + + Pushes a new max document size onto the max document size stack. + + The maximum size of the document. + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Represents settings for a BsonBinaryWriter. + + + + + Initializes a new instance of the BsonBinaryWriterSettings class. + + + + + Gets or sets the default BsonBinaryWriter settings. + + + + + Gets or sets the Encoding. + + + + + Gets or sets whether to fix the old binary data subtype on output. + + + + + Gets or sets the max document size. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Represents a pool of chunks. + + + + + Gets or sets the default chunk pool. + + + The default chunk pool. + + + + + Initializes a new instance of the class. + + The maximum number of chunks to keep in the pool. + The size of each chunk. + + + + Gets the chunk size. + + + The chunk size. + + + + + Gets the maximum size of the pool. + + + The maximum size of the pool. + + + + + Gets the size of the pool. + + + The size of the pool. + + + + + + + + + + + Represents a BSON reader for a BsonDocument. + + + + + Initializes a new instance of the BsonDocumentReader class. + + A BsonDocument. + + + + Initializes a new instance of the BsonDocumentReader class. + + A BsonDocument. + The reader settings. + + + + Closes the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Creates a clone of the context. + + A clone of the context. + + + + Represents settings for a BsonDocumentReader. + + + + + Initializes a new instance of the BsonDocumentReaderSettings class. + + + + + Initializes a new instance of the BsonDocumentReaderSettings class. + + The representation for Guids. + + + + Gets or sets the default settings for a BsonDocumentReader. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Represents a BSON writer to a BsonDocument. + + + + + Initializes a new instance of the BsonDocumentWriter class. + + The document to write to (normally starts out as an empty document). + + + + Initializes a new instance of the BsonDocumentWriter class. + + The document to write to (normally starts out as an empty document). + The settings. + + + + Gets the BsonDocument being written to. + + + + + Closes the writer. + + + + + Flushes any pending data to the output destination. + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Represents settings for a BsonDocumentWriter. + + + + + Initializes a new instance of the BsonDocumentWriterSettings class. + + + + + Initializes a new instance of the BsonDocumentWriterSettings class. + + The representation for Guids. + + + + Gets or sets the default BsonDocumentWriter settings. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Represents a BSON reader for some external format (see subclasses). + + + + + Initializes a new instance of the BsonReader class. + + The reader settings. + + + + Gets the current BsonType. + + + + + Gets the settings of the reader. + + + + + Gets the current state of the reader. + + + + + Gets the current name. + + + + + Gets whether the BsonReader has been disposed. + + + + + Closes the reader. + + + + + Disposes of any resources used by the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Gets the current BsonType (calls ReadBsonType if necessary). + + The current BsonType. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name of the element. + + + + Reads the name of an element from the reader (using the provided name decoder). + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + The raw BSON array. + + + + Reads a raw BSON document. + + The raw BSON document. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Throws an InvalidOperationException when the method called is not valid for the current ContextType. + + The name of the method. + The actual ContextType. + The valid ContextTypes. + + + + Throws an InvalidOperationException when the method called is not valid for the current state. + + The name of the method. + The valid states. + + + + Throws an ObjectDisposedException. + + + + + Verifies the current state and BsonType of the reader. + + The name of the method calling this one. + The required BSON type. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Initializes a new instance of the BsonReaderBookmark class. + + The state of the reader. + The current BSON type. + The name of the current element. + + + + Gets the current state of the reader. + + + + + Gets the current BsonType; + + + + + Gets the name of the current element. + + + + + Represents settings for a BsonReader. + + + + + Initializes a new instance of the BsonReaderSettings class. + + + + + Initializes a new instance of the BsonReaderSettings class. + + The representation for Guids. + + + + Gets or sets the representation for Guids. + + + + + Gets whether the settings are frozen. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Throws an InvalidOperationException when an attempt is made to change a setting after the settings are frozen. + + + + + Represents the state of a reader. + + + + + The initial state. + + + + + The reader is positioned at the type of an element or value. + + + + + The reader is positioned at the name of an element. + + + + + The reader is positioned at a value. + + + + + The reader is positioned at a scope document. + + + + + The reader is positioned at the end of a document. + + + + + The reader is positioned at the end of an array. + + + + + The reader has finished reading a document. + + + + + The reader is closed. + + + + + Represents a Stream has additional methods to suport reading and writing BSON values. + + + + + Reads a BSON CString from the stream. + + The encoding. + A string. + + + + Reads a BSON CString from the stream. + + An ArraySegment containing the CString bytes (without the null byte). + + + + Reads a BSON Decimal128 from the stream. + + A . + + + + Reads a BSON double from the stream. + + A double. + + + + Reads a 32-bit BSON integer from the stream. + + An int. + + + + Reads a 64-bit BSON integer from the stream. + + A long. + + + + Reads a BSON ObjectId from the stream. + + An ObjectId. + + + + Reads a raw length prefixed slice from the stream. + + A slice. + + + + Reads a BSON string from the stream. + + The encoding. + A string. + + + + Skips over a BSON CString leaving the stream positioned just after the terminating null byte. + + + + + Writes a BSON CString to the stream. + + The value. + + + + Writes the CString bytes to the stream. + + The value. + + + + Writes a BSON Decimal128 to the stream. + + The value. + + + + Writes a BSON double to the stream. + + The value. + + + + Writes a 32-bit BSON integer to the stream. + + The value. + + + + Writes a 64-bit BSON integer to the stream. + + The value. + + + + Writes a BSON ObjectId to the stream. + + The value. + + + + Writes a BSON string to the stream. + + The value. + The encoding. + + + + A Stream that wraps another Stream while implementing the BsonStream abstract methods. + + + + + Initializes a new instance of the class. + + The stream. + if set to true [owns stream]. + stream + + + + Gets the base stream. + + + The base stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents extension methods on BsonStream. + + + + + Backpatches the size. + + The stream. + The start position. + + + + Reads the binary sub type. + + The stream. + The binary sub type. + + + + Reads a boolean from the stream. + + The stream. + A boolean. + + + + Reads the BSON type. + + The stream. + The BSON type. + + + + Reads bytes from the stream. + + The stream. + The buffer. + The offset. + The count. + + + + Reads bytes from the stream. + + The stream. + The count. + The bytes. + + + + Writes a binary sub type to the stream. + + The stream. + The value. + + + + Writes a boolean to the stream. + + The stream. + The value. + + + + Writes a BsonType to the stream. + + The stream. + The value. + + + + Writes bytes to the stream. + + The stream. + The buffer. + The offset. + The count. + + + + Writes a slice to the stream. + + The stream. + The slice. + + + + Represents a mapping from a set of UTF8 encoded strings to a set of elementName/value pairs, implemented as a trie. + + The type of the BsonTrie values. + + + + Initializes a new instance of the BsonTrie class. + + + + + Gets the root node. + + + + + Adds the specified elementName (after encoding as a UTF8 byte sequence) and value to the trie. + + The element name to add. + The value to add. The value can be null for reference types. + + + + Gets the node associated with the specified element name. + + The element name. + + When this method returns, contains the node associated with the specified element name, if the key is found; + otherwise, null. This parameter is passed unitialized. + + True if the node was found; otherwise, false. + + + + Tries to get the node associated with a name read from a stream. + + The stream. + The node. + + True if the node was found. + If the node was found the stream is advanced over the name, otherwise + the stream is repositioned to the beginning of the name. + + + + + Gets the value associated with the specified element name. + + The element name. + + When this method returns, contains the value associated with the specified element name, if the key is found; + otherwise, the default value for the type of the value parameter. This parameter is passed unitialized. + + True if the value was found; otherwise, false. + + + + Gets the value associated with the specified element name. + + The element name. + + When this method returns, contains the value associated with the specified element name, if the key is found; + otherwise, the default value for the type of the value parameter. This parameter is passed unitialized. + + True if the value was found; otherwise, false. + + + + Represents a node in a BsonTrie. + + The type of the BsonTrie values. + + + + Gets whether this node has a value. + + + + + Gets the element name for this node. + + + + + Gets the value for this node. + + + + + Gets the child of this node for a given key byte. + + The key byte. + The child node if it exists; otherwise, null. + + + + Represents a BSON writer for some external format (see subclasses). + + + + + Initializes a new instance of the BsonWriter class. + + The writer settings. + + + + Gets the current serialization depth. + + + + + Gets the settings of the writer. + + + + + Gets the current state of the writer. + + + + + Gets whether the BsonWriter has been disposed. + + + + + Gets the name of the element being written. + + + + + Closes the writer. + + + + + Disposes of any resources used by the writer. + + + + + Flushes any pending data to the output destination. + + + + + Pops the element name validator. + + The popped element validator. + + + + Pushes the element name validator. + + The validator. + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Throws an InvalidOperationException when the method called is not valid for the current ContextType. + + The name of the method. + The actual ContextType. + The valid ContextTypes. + + + + Throws an InvalidOperationException when the method called is not valid for the current state. + + The name of the method. + The valid states. + + + + Represents settings for a BsonWriter. + + + + + Initializes a new instance of the BsonWriterSettings class. + + + + + Initializes a new instance of the BsonWriterSettings class. + + The representation for Guids. + + + + Gets or sets the representation for Guids. + + + + + Gets whether the settings are frozen. + + + + + Gets or sets the max serialization depth allowed (used to detect circular references). + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Throws an InvalidOperationException when an attempt is made to change a setting after the settings are frozen. + + + + + Represents the state of a BsonWriter. + + + + + The initial state. + + + + + The writer is positioned to write a name. + + + + + The writer is positioned to write a value. + + + + + The writer is positioned to write a scope document (call WriteStartDocument to start writing the scope document). + + + + + The writer is done. + + + + + The writer is closed. + + + + + An IByteBuffer that is backed by a contiguous byte array. + + + + + Initializes a new instance of the class. + + The bytes. + Whether the buffer is read only. + + + + Initializes a new instance of the class. + + The bytes. + The length. + Whether the buffer is read only. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a chunk backed by a byte array. + + + + + Initializes a new instance of the class. + + The size. + + + + Initializes a new instance of the class. + + The bytes. + bytes + + + + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Represents a factory for IBsonBuffers. + + + + + Creates a buffer of the specified length. Depending on the length, either a SingleChunkBuffer or a MultiChunkBuffer will be created. + + The chunk pool. + The minimum capacity. + A buffer with at least the minimum capacity. + + + + Represents a slice of a byte buffer. + + + + + Initializes a new instance of the class. + + The byte buffer. + The offset of the slice. + The length of the slice. + + + + Gets the buffer. + + + The buffer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Represents a Stream backed by an IByteBuffer. Similar to MemoryStream but backed by an IByteBuffer + instead of a byte array and also implements the BsonStream interface for higher performance BSON I/O. + + + + + Initializes a new instance of the class. + + The buffer. + Whether the stream owns the buffer and should Dispose it when done. + + + + Gets the buffer. + + + The buffer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used by BsonReaders and BsonWriters to represent the current context. + + + + + The top level of a BSON document. + + + + + A (possibly embedded) BSON document. + + + + + A BSON array. + + + + + A JavaScriptWithScope BSON value. + + + + + The scope document of a JavaScriptWithScope BSON value. + + + + + Represents a chunk of bytes. + + + + + Gets the bytes. + + + The bytes. + + + + + Returns a new reference to the same chunk that can be independently disposed. + + A new reference to the same chunk. + + + + Represents a source of chunks. + + + + + Gets the chunk. + + The chunk source is free to return a larger or smaller chunk than requested. + Size of the requested. + A chunk. + + + + Represents a BSON reader. + + + + + Gets the current BsonType. + + + + + Gets the current state of the reader. + + + + + Closes the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Gets the current BsonType (calls ReadBsonType if necessary). + + The current BsonType. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 from the reader. + + A . + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader (using the provided name decoder). + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + The raw BSON array. + + + + Reads a raw BSON document. + + The raw BSON document. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Contains extensions methods for IBsonReader. + + + + + Positions the reader to an element by name. + + The reader. + The name of the element. + True if the element was found. + + + + Positions the reader to a string element by name. + + The reader. + The name of the element. + True if the element was found. + + + + Reads a BSON binary data element from the reader. + + The reader. + The name of the element. + A BsonBinaryData. + + + + Reads a BSON boolean element from the reader. + + The reader. + The name of the element. + A Boolean. + + + + Reads a BSON binary data element from the reader. + + The reader. + The name of the element. + A byte array. + + + + Reads a BSON DateTime element from the reader. + + The reader. + The name of the element. + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 element from the reader. + + The reader. + The name of the element. + A . + + + + Reads a BSON Double element from the reader. + + The reader. + The name of the element. + A Double. + + + + Reads a BSON Int32 element from the reader. + + The reader. + The name of the element. + An Int32. + + + + Reads a BSON Int64 element from the reader. + + The reader. + The name of the element. + An Int64. + + + + Reads a BSON JavaScript element from the reader. + + The reader. + The name of the element. + A string. + + + + Reads a BSON JavaScript with scope element from the reader (call ReadStartDocument next to read the scope). + + The reader. + The name of the element. + A string. + + + + Reads a BSON MaxKey element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON MinKey element from the reader. + + The reader. + The name of the element. + + + + Reads the name of an element from the reader. + + The reader. + The name of the element. + + + + Reads the name of an element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON null element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON ObjectId element from the reader. + + The reader. + The name of the element. + An ObjectId. + + + + Reads a raw BSON array. + + The reader. + The name. + + The raw BSON array. + + + + + Reads a raw BSON document. + + The reader. + The name. + The raw BSON document. + + + + Reads a BSON regular expression element from the reader. + + The reader. + The name of the element. + A BsonRegularExpression. + + + + Reads a BSON string element from the reader. + + The reader. + The name of the element. + A String. + + + + Reads a BSON symbol element from the reader. + + The reader. + The name of the element. + A string. + + + + Reads a BSON timestamp element from the reader. + + The combined timestamp/increment. + The reader. + The name of the element. + + + + Reads a BSON undefined element from the reader. + + The reader. + The name of the element. + + + + Represents a BSON writer. + + + + + Gets the current serialization depth. + + + + + Gets the settings of the writer. + + + + + Gets the current state of the writer. + + + + + Closes the writer. + + + + + Flushes any pending data to the output destination. + + + + + Pops the element name validator. + + The popped element validator. + + + + Pushes the element name validator. + + The validator. + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 to the writer. + + The value. + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Contains extension methods for IBsonWriter. + + + + + Writes a BSON binary data element to the writer. + + The writer. + The name of the element. + The binary data. + + + + Writes a BSON Boolean element to the writer. + + The writer. + The name of the element. + The Boolean value. + + + + Writes a BSON binary data element to the writer. + + The writer. + The name of the element. + The bytes. + + + + Writes a BSON DateTime element to the writer. + + The writer. + The name of the element. + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 element to the writer. + + The writer. + The name of the element. + The value. + + + + Writes a BSON Double element to the writer. + + The writer. + The name of the element. + The Double value. + + + + Writes a BSON Int32 element to the writer. + + The writer. + The name of the element. + The Int32 value. + + + + Writes a BSON Int64 element to the writer. + + The writer. + The name of the element. + The Int64 value. + + + + Writes a BSON JavaScript element to the writer. + + The writer. + The name of the element. + The JavaScript code. + + + + Writes a BSON JavaScript element to the writer (call WriteStartDocument to start writing the scope). + + The writer. + The name of the element. + The JavaScript code. + + + + Writes a BSON MaxKey element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON MinKey element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON null element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON ObjectId element to the writer. + + The writer. + The name of the element. + The ObjectId. + + + + Writes a raw BSON array. + + The writer. + The name. + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The writer. + The name. + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression element to the writer. + + The writer. + The name of the element. + A BsonRegularExpression. + + + + Writes the start of a BSON array element to the writer. + + The writer. + The name of the element. + + + + Writes the start of a BSON document element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON String element to the writer. + + The writer. + The name of the element. + The String value. + + + + Writes a BSON Symbol element to the writer. + + The writer. + The name of the element. + The symbol. + + + + Writes a BSON timestamp element to the writer. + + The writer. + The name of the element. + The combined timestamp/increment value. + + + + Writes a BSON undefined element to the writer. + + The writer. + The name of the element. + + + + Represents a byte buffer (backed by various means depending on the implementation). + + + + + Gets the capacity. + + + The capacity. + + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + Gets or sets the length. + + + The length. + + + + + Access the backing bytes directly. The returned ArraySegment will point to the desired position and contain + as many bytes as possible up to the next chunk boundary (if any). If the returned ArraySegment does not + contain enough bytes for your needs you will have to call ReadBytes instead. + + The position. + + An ArraySegment pointing directly to the backing bytes for the position. + + + + + Clears the specified bytes. + + The position. + The count. + + + + Ensure that the buffer has a minimum capacity. Depending on the buffer allocation strategy + calling this method may result in a higher capacity than the minimum (but never lower). + + The minimum capacity. + + + + Gets a slice of this buffer. + + The position of the start of the slice. + The length of the slice. + A slice of this buffer. + + + + Makes this buffer read only. + + + + + Gets a byte. + + The position. + A byte. + + + + Gets bytes. + + The position. + The destination. + The destination offset. + The count. + + + + Sets a byte. + + The position. + The value. + + + + Sets bytes. + + The position. + The bytes. + The offset. + The count. + + + + Represents an element name validator. Used by BsonWriters when WriteName is called + to determine if the element name is valid. + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents a name decoder. + + + + + Decodes the name. + + The stream. + The encoding. + + The name. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + Represents a source of chunks optimized for input buffers. + + + + + Initializes a new instance of the class. + + The chunk source. + The maximum size of an unpooled chunk. + The minimum size of a chunk. + The maximum size of a chunk. + + + + Gets the base source. + + + The base source. + + + + + Gets the maximum size of a chunk. + + + The maximum size of a chunk. + + + + + Gets the minimum size of a chunk. + + + The minimum size of a chunk. + + + + + Gets the maximum size of an unpooled chunk. + + + The maximum size of an unpooled chunk. + + + + + + + + + + + Represents a wrapper around a TextReader to provide some buffering functionality. + + + + + Initializes a new instance of the class. + + The json. + + + + Initializes a new instance of the class. + + The reader. + + + + Gets or sets the current position. + + + + + Gets a snippet of a maximum length from the buffer (usually to include in an error message). + + The start. + The maximum length. + The snippet. + + + + Gets a substring from the buffer. + + The start. + The count. + The substring. + + + + Reads the next character from the text reader and advances the character position by one character. + + + The next character from the text reader, or -1 if no more characters are available. The default implementation returns -1. + + + + + Resets the buffer (clears everything up to the current position). + + + + + Unreads one character (moving the current Position back one position). + + The character. + + + + Encodes and decodes scalar values to JSON compatible strings. + + + + + Converts a string to a Boolean. + + The value. + A Boolean. + + + + Converts a string to a DateTime. + + The value. + A DateTime. + + + + Converts a string to a DateTimeOffset. + + The value. + A DateTimeOffset. + + + + Converts a string to a Decimal. + + The value. + A Decimal. + + + + Converts a string to a . + + The value. + A . + + + + Converts a string to a Double. + + The value. + A Double. + + + + Converts a string to an Int16. + + The value. + An Int16. + + + + Converts a string to an Int32. + + The value. + An Int32. + + + + Converts a string to an Int64. + + The value. + An Int64. + + + + Converts a string to a Single. + + The value. + A Single. + + + + Converts a Boolean to a string. + + The value. + A string. + + + + Converts a DateTime to a string. + + The value. + A string. + + + + Converts a DateTimeOffset to a string. + + The value. + A string. + + + + Converts a Decimal to a string. + + The value. + A string. + + + + Converts a to a string. + + The value. + A string. + + + + Converts a Double to a string. + + The value. + A string. + + + + Converts a Single to a string. + + The value. + A string. + + + + Converts an Int32 to a string. + + The value. + A string. + + + + Converts an Int64 to a string. + + The value. + A string. + + + + Converts an Int16 to a string. + + The value. + A string. + + + + Converts a UInt32 to a string. + + The value. + A string. + + + + Converts a UInt64 to a string. + + The value. + A string. + + + + Converts a UInt16 to a string. + + The value. + A string. + + + + Converts a string to a UInt16. + + The value. + A UInt16. + + + + Converts a string to a UInt32. + + The value. + A UInt32. + + + + Converts a string to a UInt64. + + The value. + A UInt64. + + + + Represents the output mode of a JsonWriter. + + + + + Output strict JSON. + + + + + Use a format that can be pasted in to the MongoDB shell. + + + + + Use JavaScript data types for some values. + + + + + Use JavaScript and MongoDB data types for some values. + + + + + Represents a BSON reader for a JSON string. + + + + + Initializes a new instance of the JsonReader class. + + The JSON string. + + + + Initializes a new instance of the JsonReader class. + + The JSON string. + The reader settings. + + + + Initializes a new instance of the JsonReader class. + + The TextReader. + + + + Initializes a new instance of the JsonReader class. + + The TextReader. + The reader settings. + + + + Closes the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Creates a clone of the context. + + A clone of the context. + + + + Represents settings for a JsonReader. + + + + + Initializes a new instance of the JsonReaderSettings class. + + + + + Gets or sets the default settings for a JsonReader. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + A static class that represents a JSON scanner. + + + + + Gets the next JsonToken from a JsonBuffer. + + The buffer. + The next token. + + + + Represents a JSON token type. + + + + + An invalid token. + + + + + A begin array token (a '['). + + + + + A begin object token (a '{'). + + + + + An end array token (a ']'). + + + + + A left parenthesis (a '('). + + + + + A right parenthesis (a ')'). + + + + + An end object token (a '}'). + + + + + A colon token (a ':'). + + + + + A comma token (a ','). + + + + + A DateTime token. + + + + + A Double token. + + + + + An Int32 token. + + + + + And Int64 token. + + + + + An ObjectId token. + + + + + A regular expression token. + + + + + A string token. + + + + + An unquoted string token. + + + + + An end of file token. + + + + + Represents a JSON token. + + + + + Initializes a new instance of the JsonToken class. + + The token type. + The lexeme. + + + + Gets the token type. + + + + + Gets the lexeme. + + + + + Gets the value of a DateTime token. + + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + true if this token is number; otherwise, false. + + + + + Gets the value of an ObjectId token. + + + + + Gets the value of a regular expression token. + + + + + Gets the value of a string token. + + + + + Represents a DateTime JSON token. + + + + + Initializes a new instance of the DateTimeJsonToken class. + + The lexeme. + The DateTime value. + + + + Gets the value of a DateTime token. + + + + + Represents a Double JSON token. + + + + + Initializes a new instance of the DoubleJsonToken class. + + The lexeme. + The Double value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + true if this token is number; otherwise, false. + + + + + Represents an Int32 JSON token. + + + + + Initializes a new instance of the Int32JsonToken class. + + The lexeme. + The Int32 value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int32 token as an Int64. + + + + + Gets a value indicating whether this token is number. + + + true if this token is number; otherwise, false. + + + + + Represents an Int64 JSON token. + + + + + Initializes a new instance of the Int64JsonToken class. + + The lexeme. + The Int64 value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + true if this token is number; otherwise, false. + + + + + Represents an ObjectId JSON token. + + + + + Initializes a new instance of the ObjectIdJsonToken class. + + The lexeme. + The ObjectId value. + + + + Gets the value of an ObjectId token. + + + + + Represents a regular expression JSON token. + + + + + Initializes a new instance of the RegularExpressionJsonToken class. + + The lexeme. + The BsonRegularExpression value. + + + + Gets the value of a regular expression token. + + + + + Represents a String JSON token. + + + + + Initializes a new instance of the StringJsonToken class. + + The token type. + The lexeme. + The String value. + + + + Gets the value of an String token. + + + + + Represents a BSON writer to a TextWriter (in JSON format). + + + + + Initializes a new instance of the JsonWriter class. + + A TextWriter. + + + + Initializes a new instance of the JsonWriter class. + + A TextWriter. + Optional JsonWriter settings. + + + + Gets the base TextWriter. + + + The base TextWriter. + + + + + Closes the writer. + + + + + Flushes any pending data to the output destination. + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Represents settings for a JsonWriter. + + + + + Initializes a new instance of the JsonWriterSettings class. + + + + + Gets or sets the default JsonWriterSettings. + + + + + Gets or sets the output Encoding. + + + + + Gets or sets whether to indent the output. + + + + + Gets or sets the indent characters. + + + + + Gets or sets the new line characters. + + + + + Gets or sets the output mode. + + + + + Gets or sets the shell version (used with OutputMode Shell). + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + An IByteBuffer that is backed by multiple chunks. + + + + + Initializes a new instance of the class. + + The chunk pool. + chunkPool + + + + Initializes a new instance of the class. + + The chunks. + The length. + Whether the buffer is read only. + chunks + + + + + + + Gets the chunk source. + + + The chunk source. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an element name validator that does no validation. + + + + + Gets the instance. + + + The instance. + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents a source of chunks optimized for output buffers. + + + + + Initializes a new instance of the class. + + The chunk source. + The size of the initial unpooled chunk. + The minimum size of a chunk. + The maximum size of a chunk. + + + + Gets the base source. + + + The base source. + + + + + Gets the initial unpooled chunk size. + + + The initial unpooled chunk size. + + + + + Gets the maximum size of a chunk. + + + The maximum size of a chunk. + + + + + Gets the minimum size of a chunk. + + + The minimum size of a chunk. + + + + + + + + + + + An IByteBuffer that is backed by a single chunk. + + + + + Initializes a new instance of the class. + + The chuns. + The length. + Whether the buffer is read only. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a Trie-based name decoder that also provides a value. + + The type of the value. + + + + Initializes a new instance of the class. + + The trie. + + + + Gets a value indicating whether this is found. + + + true if found; otherwise, false. + + + + + Gets the value. + + + The value. + + + + + Reads the name. + + The stream. + The encoding. + + The name. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + Represents a singleton instance of a strict UTF8Encoding. + + + + + Gets the lenient instance. + + + + + Gets the strict instance. + + + + + Represents a class that has some helper methods for decoding UTF8 strings. + + + + + Decodes a UTF8 string. + + The bytes. + The index. + The count. + The encoding. + The decoded string. + + + + Represents a UTF8 name decoder. + + + + + Gets the instance. + + + The instance. + + + + + Decodes the name. + + The stream. + The encoding. + + The name. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + Represents a BSON array. + + + + + Initializes a new instance of the BsonArray class. + + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + The initial capacity of the array. + + + + Compares two BsonArray values. + + The first BsonArray. + The other BsonArray. + True if the two BsonArray values are not equal according to ==. + + + + Compares two BsonArray values. + + The first BsonArray. + The other BsonArray. + True if the two BsonArray values are equal according to ==. + + + + Gets the BsonType of this BsonValue. + + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Gets the count of array elements. + + + + + Gets whether the array is read-only. + + + + + Gets the array elements as raw values (see BsonValue.RawValue). + + + + + Gets the array elements. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Creates a new BsonArray. + + A value to be mapped to a BsonArray. + A BsonArray or null. + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Clears the array. + + + + + Compares the array to another array. + + The other array. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other. + + + + Compares the array to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Copies elements from this array to another array as raw values (see BsonValue.RawValue). + + The other array. + The zero based index of the other array at which to start copying. + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Compares this array to another array. + + The other array. + True if the two arrays are equal. + + + + Compares this BsonArray to another object. + + The other object. + True if the other object is a BsonArray and equal to this one. + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Represents BSON binary data. + + + + + Initializes a new instance of the BsonBinaryData class. + + The binary data. + + + + Initializes a new instance of the BsonBinaryData class. + + The binary data. + The binary data subtype. + + + + Initializes a new instance of the BsonBinaryData class. + + The binary data. + The binary data subtype. + The representation for Guids. + + + + Initializes a new instance of the BsonBinaryData class. + + A Guid. + + + + Initializes a new instance of the BsonBinaryData class. + + A Guid. + The representation for Guids. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the binary data. + + + + + Gets the representation to use when representing the Guid as BSON binary data. + + + + + Gets the BsonBinaryData as a Guid if the subtype is UuidStandard or UuidLegacy, otherwise null. + + + + + Gets the binary data subtype. + + + + + Converts a byte array to a BsonBinaryData. + + A byte array. + A BsonBinaryData. + + + + Converts a Guid to a BsonBinaryData. + + A Guid. + A BsonBinaryData. + + + + Compares two BsonBinaryData values. + + The first BsonBinaryData. + The other BsonBinaryData. + True if the two BsonBinaryData values are not equal according to ==. + + + + Compares two BsonBinaryData values. + + The first BsonBinaryData. + The other BsonBinaryData. + True if the two BsonBinaryData values are equal according to ==. + + + + Creates a new BsonBinaryData. + + An object to be mapped to a BsonBinaryData. + A BsonBinaryData or null. + + + + Compares this BsonBinaryData to another BsonBinaryData. + + The other BsonBinaryData. + A 32-bit signed integer that indicates whether this BsonBinaryData is less than, equal to, or greather than the other. + + + + Compares the BsonBinaryData to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonBinaryData is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonBinaryData to another BsonBinaryData. + + The other BsonBinaryData. + True if the two BsonBinaryData values are equal. + + + + Compares this BsonBinaryData to another object. + + The other object. + True if the other object is a BsonBinaryData and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonBinaryData to a Guid. + + A Guid. + + + + Converts this BsonBinaryData to a Guid. + + The representation for Guids. + A Guid. + + + + Returns a string representation of the binary data. + + A string representation of the binary data. + + + + Represents the binary data subtype of a BsonBinaryData. + + + + + Binary data. + + + + + A function. + + + + + Obsolete binary data subtype (use Binary instead). + + + + + A UUID in a driver dependent legacy byte order. + + + + + A UUID in standard network byte order. + + + + + An MD5 hash. + + + + + User defined binary data. + + + + + Represents a BSON boolean value. + + + + + Initializes a new instance of the BsonBoolean class. + + The value. + + + + Gets the instance of BsonBoolean that represents false. + + + + + Gets the instance of BsonBoolean that represents true. + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the BsonBoolean as a bool. + + + + + Gets the value of this BsonBoolean. + + + + + Converts a bool to a BsonBoolean. + + A bool. + A BsonBoolean. + + + + Compares two BsonBoolean values. + + The first BsonBoolean. + The other BsonBoolean. + True if the two BsonBoolean values are not equal according to ==. + + + + Compares two BsonBoolean values. + + The first BsonBoolean. + The other BsonBoolean. + True if the two BsonBoolean values are equal according to ==. + + + + Returns one of the two possible BsonBoolean values. + + An object to be mapped to a BsonBoolean. + A BsonBoolean or null. + + + + Compares this BsonBoolean to another BsonBoolean. + + The other BsonBoolean. + A 32-bit signed integer that indicates whether this BsonBoolean is less than, equal to, or greather than the other. + + + + Compares the BsonBoolean to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonBoolean is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonBoolean to another BsonBoolean. + + The other BsonBoolean. + True if the two BsonBoolean values are equal. + + + + Compares this BsonBoolean to another object. + + The other object. + True if the other object is a BsonBoolean and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a BSON DateTime value. + + + + + Initializes a new instance of the BsonDateTime class. + + A DateTime. + + + + Initializes a new instance of the BsonDateTime class. + + Milliseconds since Unix Epoch. + + + + Gets the BsonType of this BsonValue. + + + + + Gets whether this BsonDateTime is a valid .NET DateTime. + + + + + Gets the number of milliseconds since the Unix Epoch. + + + + + Gets the number of milliseconds since the Unix Epoch. + + + + + Gets the DateTime value. + + + + + Converts a DateTime to a BsonDateTime. + + A DateTime. + A BsonDateTime. + + + + Compares two BsonDateTime values. + + The first BsonDateTime. + The other BsonDateTime. + True if the two BsonDateTime values are not equal according to ==. + + + + Compares two BsonDateTime values. + + The first BsonDateTime. + The other BsonDateTime. + True if the two BsonDateTime values are equal according to ==. + + + + Creates a new BsonDateTime. + + An object to be mapped to a BsonDateTime. + A BsonDateTime or null. + + + + Compares this BsonDateTime to another BsonDateTime. + + The other BsonDateTime. + A 32-bit signed integer that indicates whether this BsonDateTime is less than, equal to, or greather than the other. + + + + Compares the BsonDateTime to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDateTime is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonDateTime to another BsonDateTime. + + The other BsonDateTime. + True if the two BsonDateTime values are equal. + + + + Compares this BsonDateTime to another object. + + The other object. + True if the other object is a BsonDateTime and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a DateTime in local time. + + A DateTime. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Converts this BsonValue to a DateTime in UTC. + + A DateTime. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + Represents a BSON Decimal128 value. + + + + + + Initializes a new instance of the class. + + The value. + + + + + + + + + + Gets the value. + + + + + Converts a Decimal128 to a BsonDecimal128. + + A Decimal128. + A BsonDecimal128. + + + + Compares two BsonDecimal128 values. + + The first BsonDecimal128. + The other BsonDecimal128. + True if the two BsonDecimal128 values are not equal according to ==. + + + + Compares two BsonDecimal128 values. + + The first BsonDecimal128. + The other BsonDecimal128. + True if the two BsonDecimal128 values are equal according to ==. + + + + Creates a new instance of the BsonDecimal128 class. + + An object to be mapped to a BsonDecimal128. + A BsonDecimal128. + + + + Compares this BsonDecimal128 to another BsonDecimal128. + + The other BsonDecimal128. + A 32-bit signed integer that indicates whether this BsonDecimal128 is less than, equal to, or greather than the other. + + + + + + + Compares this BsonDecimal128 to another BsonDecimal128. + + The other BsonDecimal128. + True if the two BsonDecimal128 values are equal. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a BSON document. + + + + + Initializes a new instance of the BsonDocument class. + + + + + Initializes a new instance of the BsonDocument class specifying whether duplicate element names are allowed + (allowing duplicate element names is not recommended). + + Whether duplicate element names are allowed. + + + + Initializes a new instance of the BsonDocument class and adds one element. + + An element to add to the document. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + A list of keys to select values from the dictionary. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + A list of keys to select values from the dictionary. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + A list of keys to select values from the dictionary. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a list of elements. + + A list of elements to add to the document. + + + + Initializes a new instance of the BsonDocument class and adds one or more elements. + + One or more elements to add to the document. + + + + Initializes a new instance of the BsonDocument class and creates and adds a new element. + + The name of the element to add to the document. + The value of the element to add to the document. + + + + Compares two BsonDocument values. + + The first BsonDocument. + The other BsonDocument. + True if the two BsonDocument values are not equal according to ==. + + + + Compares two BsonDocument values. + + The first BsonDocument. + The other BsonDocument. + True if the two BsonDocument values are equal according to ==. + + + + Gets or sets whether to allow duplicate names (allowing duplicate names is not recommended). + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Gets the element names. + + + + + Gets the raw values (see BsonValue.RawValue). + + + + + Gets the values. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value to return if the element is not found. + Teh value of the element or a default value if the element is not found. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Creates a new BsonDocument by mapping an object to a BsonDocument. + + The object to be mapped to a BsonDocument. + A BsonDocument. + + + + Parses a JSON string and returns a BsonDocument. + + The JSON string. + A BsonDocument. + + + + Tries to parse a JSON string and returns a value indicating whether it succeeded or failed. + + The JSON string. + The result. + Whether it succeeded or failed. + + + + Adds an element to the document. + + The element to add. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + If the condition is false the value factory is not called at all. + + The name of the element. + A delegate called to compute the value of the element if condition is true. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + A shallow clone of the document. + + + + Compares this document to another document. + + The other document. + A 32-bit signed integer that indicates whether this document is less than, equal to, or greather than the other. + + + + Compares the BsonDocument to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDocument is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + True if the document contains an element with the specified name. + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + True if the document contains an element with the specified value. + + + + Creates a deep clone of the document (see also Clone). + + A deep clone of the document. + + + + Compares this document to another document. + + The other document. + True if the two documents are equal. + + + + Compares this BsonDocument to another object. + + The other object. + True if the other object is a BsonDocument and equal to this one. + + + + Gets an element of this document. + + The zero based index of the element. + The element. + + + + Gets an element of this document. + + The name of the element. + A BsonElement. + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the value of an element. + + The zero based index of the element. + The value of the element. + + + + Gets the value of an element. + + The name of the element. + The value of the element. + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + The value of the element or the default value if the element is not found. + + + + Gets the index of an element. + + The name of the element. + The index of the element, or -1 if the element is not found. + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + The document (so method calls can be chained). + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + The document (so method calls can be chained). + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + The document (so method calls can be chained). + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + The document (so method calls can be chained). + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + The document. + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + The document. + + + + Converts the BsonDocument to a Dictionary<string, object>. + + A dictionary. + + + + Converts the BsonDocument to a Hashtable. + + A hashtable. + + + + Returns a string representation of the document. + + A string representation of the document. + + + + Tries to get an element of this document. + + The name of the element. + The element. + True if an element with that name was found. + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + True if an element with that name was found. + + + + Represents a BsonDocument wrapper. + + + + + Initializes a new instance of the class. + + The value. + + + + Initializes a new instance of the class. + + The value. + The serializer. + + + + Gets the serializer. + + + The serializer. + + + + + Gets the wrapped value. + + + + + Creates a new instance of the BsonDocumentWrapper class. + + The nominal type of the wrapped object. + The wrapped object. + A BsonDocumentWrapper. + + + + Creates a new instance of the BsonDocumentWrapper class. + + The nominal type of the wrapped object. + The wrapped object. + A BsonDocumentWrapper. + + + + Creates a list of new instances of the BsonDocumentWrapper class. + + The nominal type of the wrapped objects. + A list of wrapped objects. + A list of BsonDocumentWrappers. + + + + Creates a list of new instances of the BsonDocumentWrapper class. + + The nominal type of the wrapped object. + A list of wrapped objects. + A list of BsonDocumentWrappers. + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Represents a BSON double value. + + + + + + Initializes a new instance of the BsonDouble class. + + The value. + + + + + + + + + + Gets the value of this BsonDouble. + + + + + Converts a double to a BsonDouble. + + A double. + A BsonDouble. + + + + Compares two BsonDouble values. + + The first BsonDouble. + The other BsonDouble. + True if the two BsonDouble values are not equal according to ==. + + + + Compares two BsonDouble values. + + The first BsonDouble. + The other BsonDouble. + True if the two BsonDouble values are equal according to ==. + + + + Creates a new instance of the BsonDouble class. + + An object to be mapped to a BsonDouble. + A BsonDouble. + + + + Compares this BsonDouble to another BsonDouble. + + The other BsonDouble. + A 32-bit signed integer that indicates whether this BsonDouble is less than, equal to, or greather than the other. + + + + + + + Compares this BsonDouble to another BsonDouble. + + The other BsonDouble. + True if the two BsonDouble values are equal. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a BSON element. + + + + + Initializes a new instance of the BsonElement class. + + The name of the element. + The value of the element. + + + + Gets the name of the element. + + + + + Gets or sets the value of the element. + + + + + Compares two BsonElements. + + The first BsonElement. + The other BsonElement. + True if the two BsonElements are equal (or both null). + + + + Compares two BsonElements. + + The first BsonElement. + The other BsonElement. + True if the two BsonElements are not equal (or one is null and the other is not). + + + + Creates a shallow clone of the element (see also DeepClone). + + A shallow clone of the element. + + + + Creates a deep clone of the element (see also Clone). + + A deep clone of the element. + + + + Compares this BsonElement to another BsonElement. + + The other BsonElement. + A 32-bit signed integer that indicates whether this BsonElement is less than, equal to, or greather than the other. + + + + Compares this BsonElement to another BsonElement. + + The other BsonElement. + True if the two BsonElement values are equal. + + + + Compares this BsonElement to another object. + + The other object. + True if the other object is a BsonElement and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON int value. + + + + + Creates a new instance of the BsonInt32 class. + + The value. + + + + Gets an instance of BsonInt32 that represents -1. + + + + + Gets an instance of BsonInt32 that represents -0. + + + + + Gets an instance of BsonInt32 that represents 1. + + + + + Gets an instance of BsonInt32 that represents 2. + + + + + Gets an instance of BsonInt32 that represents 3. + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the BsonInt32 as an int. + + + + + Gets the value of this BsonInt32. + + + + + Converts an int to a BsonInt32. + + An int. + A BsonInt32. + + + + Compares two BsonInt32 values. + + The first BsonInt32. + The other BsonInt32. + True if the two BsonInt32 values are not equal according to ==. + + + + Compares two BsonInt32 values. + + The first BsonInt32. + The other BsonInt32. + True if the two BsonInt32 values are equal according to ==. + + + + Creates a new BsonInt32. + + An object to be mapped to a BsonInt32. + A BsonInt32 or null. + + + + Compares this BsonInt32 to another BsonInt32. + + The other BsonInt32. + A 32-bit signed integer that indicates whether this BsonInt32 is less than, equal to, or greather than the other. + + + + Compares the BsonInt32 to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonInt32 is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonInt32 to another BsonInt32. + + The other BsonInt32. + True if the two BsonInt32 values are equal. + + + + Compares this BsonInt32 to another object. + + The other object. + True if the other object is a BsonInt32 and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + + + + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compares this BsonInt32 against another BsonValue. + + The other BsonValue. + True if this BsonInt32 and the other BsonValue are equal according to ==. + + + + Represents a BSON long value. + + + + + Initializes a new instance of the BsonInt64 class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the BsonInt64 as a long. + + + + + Gets the value of this BsonInt64. + + + + + Converts a long to a BsonInt64. + + A long. + A BsonInt64. + + + + Compares two BsonInt64 values. + + The first BsonInt64. + The other BsonInt64. + True if the two BsonInt64 values are not equal according to ==. + + + + Compares two BsonInt64 values. + + The first BsonInt64. + The other BsonInt64. + True if the two BsonInt64 values are equal according to ==. + + + + Creates a new BsonInt64. + + An object to be mapped to a BsonInt64. + A BsonInt64 or null. + + + + Compares this BsonInt64 to another BsonInt64. + + The other BsonInt64. + A 32-bit signed integer that indicates whether this BsonInt64 is less than, equal to, or greather than the other. + + + + Compares the BsonInt64 to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonInt64 is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonInt64 to another BsonInt64. + + The other BsonInt64. + True if the two BsonInt64 values are equal. + + + + Compares this BsonInt64 to another object. + + The other object. + True if the other object is a BsonInt64 and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + + + + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compares this BsonInt32 against another BsonValue. + + The other BsonValue. + True if this BsonInt64 and the other BsonValue are equal according to ==. + + + + Represents a BSON JavaScript value. + + + + + Initializes a new instance of the BsonJavaScript class. + + The JavaScript code. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the JavaScript code. + + + + + Compares two BsonJavaScript values. + + The first BsonJavaScript. + The other BsonJavaScript. + True if the two BsonJavaScript values are not equal according to ==. + + + + Compares two BsonJavaScript values. + + The first BsonJavaScript. + The other BsonJavaScript. + True if the two BsonJavaScript values are equal according to ==. + + + + Converts a string to a BsonJavaScript. + + A string. + A BsonJavaScript. + + + + Creates a new BsonJavaScript. + + An object to be mapped to a BsonJavaScript. + A BsonJavaScript or null. + + + + Compares this BsonJavaScript to another BsonJavaScript. + + The other BsonJavaScript. + A 32-bit signed integer that indicates whether this BsonJavaScript is less than, equal to, or greather than the other. + + + + Compares the BsonJavaScript to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonJavaScript is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonJavaScript to another BsonJavaScript. + + The other BsonJavaScript. + True if the two BsonJavaScript values are equal. + + + + Compares this BsonJavaScript to another object. + + The other object. + True if the other object is a BsonJavaScript and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON JavaScript value with a scope. + + + + + Initializes a new instance of the BsonJavaScriptWithScope class. + + The JavaScript code. + A scope (a set of variables with values). + + + + Compares two BsonJavaScriptWithScope values. + + The first BsonJavaScriptWithScope. + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are not equal according to ==. + + + + Compares two BsonJavaScriptWithScope values. + + The first BsonJavaScriptWithScope. + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are equal according to ==. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the scope (a set of variables with values). + + + + + Creates a new BsonJavaScriptWithScope. + + An object to be mapped to a BsonJavaScriptWithScope. + A BsonJavaScriptWithScope or null. + + + + Creates a shallow clone of the BsonJavaScriptWithScope (see also DeepClone). + + A shallow clone of the BsonJavaScriptWithScope. + + + + Creates a deep clone of the BsonJavaScriptWithScope (see also Clone). + + A deep clone of the BsonJavaScriptWithScope. + + + + Compares this BsonJavaScriptWithScope to another BsonJavaScriptWithScope. + + The other BsonJavaScriptWithScope. + A 32-bit signed integer that indicates whether this BsonJavaScriptWithScope is less than, equal to, or greather than the other. + + + + Compares the BsonJavaScriptWithScope to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonJavaScriptWithScope is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonJavaScriptWithScope to another BsonJavaScriptWithScope. + + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are equal. + + + + Compares this BsonJavaScriptWithScope to another object. + + The other object. + True if the other object is a BsonJavaScriptWithScope and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the BSON MaxKey value. + + + + + Compares two BsonMaxKey values. + + The first BsonMaxKey. + The other BsonMaxKey. + True if the two BsonMaxKey values are not equal according to ==. + + + + Compares two BsonMaxKey values. + + The first BsonMaxKey. + The other BsonMaxKey. + True if the two BsonMaxKey values are equal according to ==. + + + + Gets the singleton instance of BsonMaxKey. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonMaxKey to another BsonMaxKey. + + The other BsonMaxKey. + A 32-bit signed integer that indicates whether this BsonMaxKey is less than, equal to, or greather than the other. + + + + Compares the BsonMaxKey to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonMaxKey is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonMaxKey to another BsonMaxKey. + + The other BsonMaxKey. + True if the two BsonMaxKey values are equal. + + + + Compares this BsonMaxKey to another object. + + The other object. + True if the other object is a BsonMaxKey and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the BSON MinKey value. + + + + + Compares two BsonMinKey values. + + The first BsonMinKey. + The other BsonMinKey. + True if the two BsonMinKey values are not equal according to ==. + + + + Compares two BsonMinKey values. + + The first BsonMinKey. + The other BsonMinKey. + True if the two BsonMinKey values are equal according to ==. + + + + Gets the singleton instance of BsonMinKey. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonMinKey to another BsonMinKey. + + The other BsonMinKey. + A 32-bit signed integer that indicates whether this BsonMinKey is less than, equal to, or greather than the other. + + + + Compares the BsonMinKey to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonMinKey is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonMinKey to another BsonMinKey. + + The other BsonMinKey. + True if the two BsonMinKey values are equal. + + + + Compares this BsonMinKey to another object. + + The other object. + True if the other object is a BsonMinKey and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the BSON Null value. + + + + + Compares two BsonNull values. + + The first BsonNull. + The other BsonNull. + True if the two BsonNull values are not equal according to ==. + + + + Compares two BsonNull values. + + The first BsonNull. + The other BsonNull. + True if the two BsonNull values are equal according to ==. + + + + Gets the singleton instance of BsonNull. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonNull to another BsonNull. + + The other BsonNull. + A 32-bit signed integer that indicates whether this BsonNull is less than, equal to, or greather than the other. + + + + Compares the BsonNull to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonNull is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonNull to another BsonNull. + + The other BsonNull. + True if the two BsonNull values are equal. + + + + Compares this BsonNull to another object. + + The other object. + True if the other object is a BsonNull and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON ObjectId value (see also ObjectId). + + + + + Initializes a new instance of the BsonObjectId class. + + The value. + + + + Initializes a new instance of the BsonObjectId class. + + The bytes. + + + + Initializes a new instance of the BsonObjectId class. + + The timestamp (expressed as a DateTime). + The machine hash. + The PID. + The increment. + + + + Initializes a new instance of the BsonObjectId class. + + The timestamp. + The machine hash. + The PID. + The increment. + + + + Initializes a new instance of the BsonObjectId class. + + The value. + + + + Gets an instance of BsonObjectId where the value is empty. + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the timestamp. + + + + + Gets the machine. + + + + + Gets the PID. + + + + + Gets the increment. + + + + + Gets the creation time (derived from the timestamp). + + + + + Gets the BsonObjectId as an ObjectId. + + + + + Gets the value of this BsonObjectId. + + + + + Converts an ObjectId to a BsonObjectId. + + An ObjectId. + A BsonObjectId. + + + + Compares two BsonObjectId values. + + The first BsonObjectId. + The other BsonObjectId. + True if the two BsonObjectId values are not equal according to ==. + + + + Compares two BsonObjectId values. + + The first BsonObjectId. + The other BsonObjectId. + True if the two BsonObjectId values are equal according to ==. + + + + Creates a new BsonObjectId. + + An object to be mapped to a BsonObjectId. + A BsonObjectId or null. + + + + Generates a new BsonObjectId with a unique value. + + A BsonObjectId. + + + + Generates a new BsonObjectId with a unique value (with the timestamp component based on a given DateTime). + + The timestamp component (expressed as a DateTime). + A BsonObjectId. + + + + Generates a new BsonObjectId with a unique value (with the given timestamp). + + The timestamp component. + A BsonObjectId. + + + + Parses a string and creates a new BsonObjectId. + + The string value. + A BsonObjectId. + + + + Tries to parse a string and create a new BsonObjectId. + + The string value. + The new BsonObjectId. + True if the string was parsed successfully. + + + + Compares this BsonObjectId to another BsonObjectId. + + The other BsonObjectId. + A 32-bit signed integer that indicates whether this BsonObjectId is less than, equal to, or greather than the other. + + + + Compares the BsonObjectId to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonObjectId is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonObjectId to another BsonObjectId. + + The other BsonObjectId. + True if the two BsonObjectId values are equal. + + + + Compares this BsonObjectId to another object. + + The other object. + True if the other object is a BsonObjectId and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts the BsonObjectId to a byte array. + + A byte array. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + Represents a BSON regular expression value. + + + + + Initializes a new instance of the BsonRegularExpression class. + + A regular expression pattern. + + + + Initializes a new instance of the BsonRegularExpression class. + + A regular expression pattern. + Regular expression options. + + + + Initializes a new instance of the BsonRegularExpression class. + + A Regex. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the regular expression pattern. + + + + + Gets the regular expression options. + + + + + Converts a Regex to a BsonRegularExpression. + + A Regex. + A BsonRegularExpression. + + + + Converts a string to a BsonRegularExpression. + + A string. + A BsonRegularExpression. + + + + Compares two BsonRegularExpression values. + + The first BsonRegularExpression. + The other BsonRegularExpression. + True if the two BsonRegularExpression values are not equal according to ==. + + + + Compares two BsonRegularExpression values. + + The first BsonRegularExpression. + The other BsonRegularExpression. + True if the two BsonRegularExpression values are equal according to ==. + + + + Creates a new BsonRegularExpression. + + An object to be mapped to a BsonRegularExpression. + A BsonRegularExpression or null. + + + + Compares this BsonRegularExpression to another BsonRegularExpression. + + The other BsonRegularExpression. + A 32-bit signed integer that indicates whether this BsonRegularExpression is less than, equal to, or greather than the other. + + + + Compares the BsonRegularExpression to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonRegularExpression is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonRegularExpression to another BsonRegularExpression. + + The other BsonRegularExpression. + True if the two BsonRegularExpression values are equal. + + + + Compares this BsonRegularExpression to another object. + + The other object. + True if the other object is a BsonRegularExpression and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts the BsonRegularExpression to a Regex. + + A Regex. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON string value. + + + + + Initializes a new instance of the BsonString class. + + The value. + + + + Gets an instance of BsonString that represents an empty string. + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the BsonString as a string. + + + + + Gets the value of this BsonString. + + + + + Converts a string to a BsonString. + + A string. + A BsonString. + + + + Compares two BsonString values. + + The first BsonString. + The other BsonString. + True if the two BsonString values are not equal according to ==. + + + + Compares two BsonString values. + + The first BsonString. + The other BsonString. + True if the two BsonString values are equal according to ==. + + + + Creates a new BsonString. + + An object to be mapped to a BsonString. + A BsonString or null. + + + + Compares this BsonString to another BsonString. + + The other BsonString. + A 32-bit signed integer that indicates whether this BsonString is less than, equal to, or greather than the other. + + + + Compares the BsonString to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonString is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonString to another BsonString. + + The other BsonString. + True if the two BsonString values are equal. + + + + Compares this BsonString to another object. + + The other object. + True if the other object is a BsonString and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + + + + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a BSON symbol value. + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the name of the symbol. + + + + + Converts a string to a BsonSymbol. + + A string. + A BsonSymbol. + + + + Compares two BsonSymbol values. + + The first BsonSymbol. + The other BsonSymbol. + True if the two BsonSymbol values are not equal according to ==. + + + + Compares two BsonSymbol values. + + The first BsonSymbol. + The other BsonSymbol. + True if the two BsonSymbol values are equal according to ==. + + + + Creates a new BsonSymbol. + + An object to be mapped to a BsonSymbol. + A BsonSymbol or null. + + + + Compares this BsonSymbol to another BsonSymbol. + + The other BsonSymbol. + A 32-bit signed integer that indicates whether this BsonSymbol is less than, equal to, or greather than the other. + + + + Compares the BsonSymbol to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonSymbol is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonSymbol to another BsonSymbol. + + The other BsonSymbol. + True if the two BsonSymbol values are equal. + + + + Compares this BsonSymbol to another object. + + The other object. + True if the other object is a BsonSymbol and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the symbol table of BsonSymbols. + + + + + Looks up a symbol (and creates a new one if necessary). + + The name of the symbol. + The symbol. + + + + Represents a BSON timestamp value. + + + + + Initializes a new instance of the BsonTimestamp class. + + The combined timestamp/increment value. + + + + Initializes a new instance of the BsonTimestamp class. + + The timestamp. + The increment. + + + + Compares two BsonTimestamp values. + + The first BsonTimestamp. + The other BsonTimestamp. + True if the two BsonTimestamp values are not equal according to ==. + + + + Compares two BsonTimestamp values. + + The first BsonTimestamp. + The other BsonTimestamp. + True if the two BsonTimestamp values are equal according to ==. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonTimestamp. + + + + + Gets the increment. + + + + + Gets the timestamp. + + + + + Creates a new BsonTimestamp. + + An object to be mapped to a BsonTimestamp. + A BsonTimestamp or null. + + + + Compares this BsonTimestamp to another BsonTimestamp. + + The other BsonTimestamp. + A 32-bit signed integer that indicates whether this BsonTimestamp is less than, equal to, or greather than the other. + + + + Compares the BsonTimestamp to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonTimestamp is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonTimestamp to another BsonTimestamp. + + The other BsonTimestamp. + True if the two BsonTimestamp values are equal. + + + + Compares this BsonTimestamp to another object. + + The other object. + True if the other object is a BsonTimestamp and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the type of a BSON element. + + + + + Not a real BSON type. Used to signal the end of a document. + + + + + A BSON double. + + + + + A BSON string. + + + + + A BSON document. + + + + + A BSON array. + + + + + BSON binary data. + + + + + A BSON undefined value. + + + + + A BSON ObjectId. + + + + + A BSON bool. + + + + + A BSON DateTime. + + + + + A BSON null value. + + + + + A BSON regular expression. + + + + + BSON JavaScript code. + + + + + A BSON symbol. + + + + + BSON JavaScript code with a scope (a set of variables with values). + + + + + A BSON 32-bit integer. + + + + + A BSON timestamp. + + + + + A BSON 64-bit integer. + + + + + A BSON 128-bit decimal. + + + + + A BSON MinKey value. + + + + + A BSON MaxKey value. + + + + + A static class that maps between .NET objects and BsonValues. + + + + + Maps an object to an instance of the closest BsonValue class. + + An object. + A BsonValue. + + + + Maps an object to a specific BsonValue type. + + An object. + The BsonType to map to. + A BsonValue of the desired type (or BsonNull.Value if value is null and bsonType is Null). + + + + Maps a BsonValue to a .NET value using the default BsonTypeMapperOptions. + + The BsonValue. + The mapped .NET value. + + + + Maps a BsonValue to a .NET value. + + The BsonValue. + The BsonTypeMapperOptions. + The mapped .NET value. + + + + Registers a custom type mapper. + + The type. + A custom type mapper. + + + + Tries to map an object to an instance of the closest BsonValue class. + + An object. + The BsonValue. + True if the mapping was successfull. + + + + Compares this Mapping to another object. + + The other object. + True if the other object is a Mapping and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Represents how duplicate names should be handled. + + + + + Overwrite original value with new value. + + + + + Ignore duplicate name and keep original value. + + + + + Throw an exception. + + + + + Represents options used by the BsonTypeMapper. + + + + + Initializes a new instance of the BsonTypeMapperOptions class. + + + + + Gets or sets the default BsonTypeMapperOptions. + + + + + Gets or sets how duplicate names should be handled. + + + + + Gets whether the BsonTypeMapperOptions is frozen. + + + + + Gets or sets the type that a BsonArray should be mapped to. + + + + + Gets or sets the type that a BsonDocument should be mapped to. + + + + + Gets or sets whether binary sub type OldBinary should be mapped to byte[] the way sub type Binary is. + + + + + Clones the BsonTypeMapperOptions. + + The cloned BsonTypeMapperOptions. + + + + Freezes the BsonTypeMapperOptions. + + The frozen BsonTypeMapperOptions. + + + + Represents the BSON undefined value. + + + + + Compares two BsonUndefined values. + + The first BsonUndefined. + The other BsonUndefined. + True if the two BsonUndefined values are not equal according to ==. + + + + Compares two BsonUndefined values. + + The first BsonUndefined. + The other BsonUndefined. + True if the two BsonUndefined values are equal according to ==. + + + + Gets the singleton instance of BsonUndefined. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonUndefined to another BsonUndefined. + + The other BsonUndefined. + A 32-bit signed integer that indicates whether this BsonUndefined is less than, equal to, or greather than the other. + + + + Compares the BsonUndefined to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonUndefined is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonUndefined to another BsonUndefined. + + The other BsonUndefined. + True if the two BsonUndefined values are equal. + + + + Compares this BsonUndefined to another object. + + The other object. + True if the other object is a BsonUndefined and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON value (this is an abstract class, see the various subclasses). + + + + + Casts the BsonValue to a Boolean (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonArray (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonBinaryData (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonDateTime (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonDocument (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonJavaScript (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonJavaScriptWithScope (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonMaxKey (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonMinKey (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonNull (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonRegularExpression (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonSymbol (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonTimestamp (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonUndefined (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonValue (a way of upcasting subclasses of BsonValue to BsonValue at compile time). + + + + + Casts the BsonValue to a Byte[] (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a DateTime in UTC (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Double (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Guid (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to an Int32 (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a DateTime in the local timezone (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Int64 (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Boolean} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{DateTime} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Decimal} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Decimal128} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Double} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Guid} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Int32} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Int64} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{ObjectId} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to an ObjectId (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Regex (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a String (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a DateTime in UTC (throws an InvalidCastException if the cast is not valid). + + + + + Gets the BsonType of this BsonValue. + + + + + Tests whether this BsonValue is a Boolean. + + + + + Tests whether this BsonValue is a BsonArray. + + + + + Tests whether this BsonValue is a BsonBinaryData. + + + + + Tests whether this BsonValue is a BsonDateTime. + + + + + Tests whether this BsonValue is a BsonDocument. + + + + + Tests whether this BsonValue is a BsonJavaScript. + + + + + Tests whether this BsonValue is a BsonJavaScriptWithScope. + + + + + Tests whether this BsonValue is a BsonMaxKey. + + + + + Tests whether this BsonValue is a BsonMinKey. + + + + + Tests whether this BsonValue is a BsonNull. + + + + + Tests whether this BsonValue is a BsonRegularExpression. + + + + + Tests whether this BsonValue is a BsonSymbol . + + + + + Tests whether this BsonValue is a BsonTimestamp. + + + + + Tests whether this BsonValue is a BsonUndefined. + + + + + Tests whether this BsonValue is a DateTime. + + + + + Tests whether this BsonValue is a Decimal128. + + + + + Tests whether this BsonValue is a Double. + + + + + Tests whether this BsonValue is a Guid. + + + + + Tests whether this BsonValue is an Int32. + + + + + Tests whether this BsonValue is an Int64. + + + + + Tests whether this BsonValue is a numeric value. + + + + + Tests whether this BsonValue is an ObjectId . + + + + + Tests whether this BsonValue is a String. + + + + + Tests whether this BsonValue is a valid DateTime. + + + + + Gets the raw value of this BsonValue (or null if this BsonValue doesn't have a single scalar value). + + + + + Casts a BsonValue to a bool. + + The BsonValue. + A bool. + + + + Casts a BsonValue to a bool?. + + The BsonValue. + A bool?. + + + + Converts a bool to a BsonValue. + + A bool. + A BsonValue. + + + + Converts a bool? to a BsonValue. + + A bool?. + A BsonValue. + + + + Converts a byte[] to a BsonValue. + + A byte[]. + A BsonValue. + + + + Converts a DateTime to a BsonValue. + + A DateTime. + A BsonValue. + + + + Converts a DateTime? to a BsonValue. + + A DateTime?. + A BsonValue. + + + + Converts a decimal to a BsonValue. + + A decimal. + A BsonValue. + + + + Converts a decimal? to a BsonValue. + + A decimal?. + A BsonValue. + + + + Converts a to a BsonValue. + + A Decimal128. + A BsonValue. + + + + Converts a nullable to a BsonValue. + + A Decimal128?. + A BsonValue. + + + + Converts a double to a BsonValue. + + A double. + A BsonValue. + + + + Converts a double? to a BsonValue. + + A double?. + A BsonValue. + + + + Converts an Enum to a BsonValue. + + An Enum. + A BsonValue. + + + + Converts a Guid to a BsonValue. + + A Guid. + A BsonValue. + + + + Converts a Guid? to a BsonValue. + + A Guid?. + A BsonValue. + + + + Converts an int to a BsonValue. + + An int. + A BsonValue. + + + + Converts an int? to a BsonValue. + + An int?. + A BsonValue. + + + + Converts a long to a BsonValue. + + A long. + A BsonValue. + + + + Converts a long? to a BsonValue. + + A long?. + A BsonValue. + + + + Converts an ObjectId to a BsonValue. + + An ObjectId. + A BsonValue. + + + + Converts an ObjectId? to a BsonValue. + + An ObjectId?. + A BsonValue. + + + + Converts a Regex to a BsonValue. + + A Regex. + A BsonValue. + + + + Converts a string to a BsonValue. + + A string. + A BsonValue. + + + + Casts a BsonValue to a byte[]. + + The BsonValue. + A byte[]. + + + + Casts a BsonValue to a DateTime. + + The BsonValue. + A DateTime. + + + + Casts a BsonValue to a DateTime?. + + The BsonValue. + A DateTime?. + + + + Casts a BsonValue to a decimal. + + The BsonValue. + A decimal. + + + + Casts a BsonValue to a decimal?. + + The BsonValue. + A decimal?. + + + + Casts a BsonValue to a . + + The BsonValue. + A . + + + + Casts a BsonValue to a nullable ?. + + The BsonValue. + A nullable . + + + + Casts a BsonValue to a double. + + The BsonValue. + A double. + + + + Casts a BsonValue to a double?. + + The BsonValue. + A double?. + + + + Casts a BsonValue to a Guid. + + The BsonValue. + A Guid. + + + + Casts a BsonValue to a Guid?. + + The BsonValue. + A Guid?. + + + + Casts a BsonValue to an int. + + The BsonValue. + An int. + + + + Casts a BsonValue to an int?. + + The BsonValue. + An int?. + + + + Casts a BsonValue to a long. + + The BsonValue. + A long. + + + + Casts a BsonValue to a long?. + + The BsonValue. + A long?. + + + + Casts a BsonValue to an ObjectId. + + The BsonValue. + An ObjectId. + + + + Casts a BsonValue to an ObjectId?. + + The BsonValue. + An ObjectId?. + + + + Casts a BsonValue to a Regex. + + The BsonValue. + A Regex. + + + + Casts a BsonValue to a string. + + The BsonValue. + A string. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is less than the other one. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is less than or equal to the other one. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the two BsonValues are not equal according to ==. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the two BsonValues are equal according to ==. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is greater than the other one. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is greater than or equal to the other one. + + + + Gets or sets a value by position (only applies to BsonDocument and BsonArray). + + The position. + The value. + + + + Gets or sets a value by name (only applies to BsonDocument). + + The name. + The value. + + + + Creates a new instance of the BsonValue class. + + A value to be mapped to a BsonValue. + A BsonValue. + + + + Creates a shallow clone of the BsonValue (see also DeepClone). + + A shallow clone of the BsonValue. + + + + Compares this BsonValue to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonValue is less than, equal to, or greather than the other BsonValue. + + + + Compares the type of this BsonValue to the type of another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether the type of this BsonValue is less than, equal to, or greather than the type of the other BsonValue. + + + + Creates a deep clone of the BsonValue (see also Clone). + + A deep clone of the BsonValue. + + + + Compares this BsonValue to another BsonValue. + + The other BsonValue. + True if the two BsonValue values are equal. + + + + Compares this BsonValue to another object. + + The other object. + True if the other object is a BsonValue and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a Decimal. + + A Decimal. + + + + Converts this BsonValue to a Decimal128. + + A Decimal128. + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int64. + + + + Converts this BsonValue to a DateTime in local time. + + A DateTime. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Converts this BsonValue to a DateTime in UTC. + + A DateTime. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToChar method. + + The format provider. + A char. + + + + Implementation of the IConvertible ToDateTime method. + + The format provider. + A DateTime. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Implementation of operator ==. + + The other BsonValue. + True if the two BsonValues are equal according to ==. + + + + Represents a Decimal128 value. + + + + + Gets the maximum value. + + + + + Gets the minimum value. + + + + + Represents negative infinity. + + + + + Represents one. + + + + + Represents positive infinity. + + + + + Represents a value that is not a number. + + + + + Represents a value that is not a number and raises errors when used in calculations. + + + + + Represents zero. + + + + + Implements the operator ==. + + The LHS. + The RHS. + + The result of the operator. + + + + + Implements the operator !=. + + The LHS. + The RHS. + + The result of the operator. + + + + + Returns a value indicating whether a specified Decimal128 is greater than another specified Decimal128. + + The first value. + The second value. + + true if x > y; otherwise, false. + + + + + Returns a value indicating whether a specified Decimal128 is greater than or equal to another another specified Decimal128. + + The first value. + The second value. + + true if x >= y; otherwise, false. + + + + + Returns a value indicating whether a specified Decimal128 is less than another specified Decimal128. + + The first value. + The second value. + + true if x < y; otherwise, false. + + + + + Returns a value indicating whether a specified Decimal128 is less than or equal to another another specified Decimal128. + + The first value. + The second value. + + true if x <= y; otherwise, false. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Compares two specified Decimal128 values and returns an integer that indicates whether the first value + is greater than, less than, or equal to the second value. + + The first value. + The second value. + Less than zero if x < y, zero if x == y, and greater than zero if x > y. + + + + Determines whether the specified Decimal128 instances are considered equal. + + The first Decimal128 object to compare. + The second Decimal128 object to compare. + True if the objects are considered equal; otherwise false. If both x and y are null, the method returns true. + + + + Creates a new Decimal128 value from its components. + + if set to true [is negative]. + The exponent. + The signficand high bits. + The significand low bits. + A Decimal128 value. + + + + Creates a new Decimal128 value from the IEEE encoding bits. + + The high bits. + The low bits. + A Decimal128 value. + + + + Gets the exponent of a Decimal128 value. + + The Decimal128 value. + The exponent. + + + + Gets the high bits of the significand of a Decimal128 value. + + The Decimal128 value. + The high bits of the significand. + + + + Gets the high bits of the significand of a Decimal128 value. + + The Decimal128 value. + The high bits of the significand. + + + + Returns a value indicating whether the specified number evaluates to negative or positive infinity. + + A 128-bit decimal. + true if evaluates to negative or positive infinity; otherwise, false. + + + + Returns a value indicating whether the specified number is not a number. + + A 128-bit decimal. + true if is not a number; otherwise, false. + + + + Returns a value indicating whether the specified number is negative. + + A 128-bit decimal. + true if is negative; otherwise, false. + + + + Returns a value indicating whether the specified number evaluates to negative infinity. + + A 128-bit decimal. + true if evaluates to negative infinity; otherwise, false. + + + + Returns a value indicating whether the specified number evaluates to positive infinity. + + A 128-bit decimal. + true if evaluates to positive infinity; otherwise, false. + + + + Returns a value indicating whether the specified number is a quiet not a number. + + A 128-bit decimal. + true if is a quiet not a number; otherwise, false. + + + + Returns a value indicating whether the specified number is a signaled not a number. + + A 128-bit decimal. + true if is a signaled not a number; otherwise, false. + + + + Gets a value indicating whether this instance is zero. + + + true if this instance is zero; otherwise, false. + + + + + Negates the specified x. + + The x. + The result of multiplying the value by negative one. + + + + Converts the string representation of a number to its equivalent. + + The string representation of the number to convert. + + The equivalent to the number contained in . + + + + + Converts the value of the specified to the equivalent 8-bit unsigned integer. + + The number to convert. + A 8-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + + Converts the value of the specified to the equivalent 16-bit signed integer. + + The number to convert. + A 16-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 32-bit signed integer. + + The number to convert. + A 32-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 64-bit signed integer. + + The number to convert. + A 64-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 8-bit signed integer. + + The number to convert. + A 8-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + + Converts the value of the specified to the equivalent 16-bit unsigned integer. + + The number to convert. + A 16-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent 32-bit unsigned integer. + + The number to convert. + A 32-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent 64-bit unsigned integer. + + The number to convert. + A 64-bit unsigned integer equivalent to . + + + + Converts the string representation of a number to its equivalent. A return value indicates whether the conversion succeeded or failed. + + The string representation of the number to convert. + When this method returns, contains the number that is equivalent to the numeric value contained in , if the conversion succeeded, or is zero if the conversion failed. The conversion fails if the parameter is null, is not a number in a valid format, or represents a number less than the min value or greater than the max value. This parameter is passed uninitialized. + + true if was converted successfully; otherwise, false. + + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + + + + + + + + + + + + + Gets the high order 64 bits of the binary representation of this instance. + + The high order 64 bits of the binary representation of this instance. + + + + Gets the low order 64 bits of the binary representation of this instance. + + The low order 64 bits of the binary representation of this instance. + + + + + + + A static class containing methods to convert to and from Guids and byte arrays in various byte orders. + + + + + Converts a byte array to a Guid. + + The byte array. + The representation of the Guid in the byte array. + A Guid. + + + + Converts a Guid to a byte array. + + The Guid. + The representation of the Guid in the byte array. + A byte array. + + + + Represents the representation to use when converting a Guid to a BSON binary value. + + + + + The representation for Guids is unspecified, so conversion between Guids and Bson binary data is not possible. + + + + + Use the new standard representation for Guids (binary subtype 4 with bytes in network byte order). + + + + + Use the representation used by older versions of the C# driver (including most community provided C# drivers). + + + + + Use the representation used by older versions of the Java driver. + + + + + Use the representation used by older versions of the Python driver. + + + + + An interface implemented by objects that convert themselves to a BsonDocument. + + + + + Converts this object to a BsonDocument. + + A BsonDocument. + + + + An interface for custom mappers that map an object to a BsonValue. + + + + + Tries to map an object to a BsonValue. + + An object. + The BsonValue. + True if the mapping was successfull. + + + + Represents a BSON array that is deserialized lazily. + + + + + Initializes a new instance of the class. + + The slice. + slice + LazyBsonArray cannot be used with an IByteBuffer that needs disposing. + + + + Gets the slice. + + + The slice. + + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonArray. + + + The materialized values. + + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Represents a BSON document that is deserialized lazily. + + + + + Initializes a new instance of the class. + + The slice. + slice + LazyBsonDocument cannot be used with an IByteBuffer that needs disposing. + + + + Initializes a new instance of the class. + + The bytes. + + + + Gets the slice. + + + The slice. + + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Represents a BSON array that is not materialized until you start using it. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Gets the count of array elements. + + + + + Gets a value indicating whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Gets a value indicating whether this instance is materialized. + + + true if this instance is materialized; otherwise, false. + + + + + Gets the array elements as raw values (see BsonValue.RawValue). + + + + + Gets the array elements. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Clears the array. + + + + + Creates a shallow clone of the array (see also DeepClone). + + + A shallow clone of the array. + + + + + Compares the array to another array. + + The other array. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other. + + + + Compares the array to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Copies elements from this array to another array as raw values (see BsonValue.RawValue). + + The other array. + The zero based index of the other array at which to start copying. + + + + Creates a deep clone of the array (see also Clone). + + + A deep clone of the array. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonArray. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Throws if disposed. + + + + + + Represents a BSON document that is not materialized until you start using it. + + + + + Initializes a new instance of the class. + + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Gets a value indicating whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Gets a value indicating whether this instance is materialized. + + + true if this instance is materialized; otherwise, false. + + + + + Gets the element names. + + + + + Gets the raw values (see BsonValue.RawValue). + + + + + Gets the values. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value to return if the element is not found. + Teh value of the element or a default value if the element is not found. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Adds an element to the document. + + The element to add. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + If the condition is false the value factory is not called at all. + + The name of the element. + A delegate called to compute the value of the element if condition is true. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds a list of elements to the document. + + The list of elements. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Compares this document to another document. + + The other document. + + A 32-bit signed integer that indicates whether this document is less than, equal to, or greather than the other. + + + + + Compares the BsonDocument to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDocument is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + + True if the document contains an element with the specified name. + + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + + True if the document contains an element with the specified value. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets an element of this document. + + The zero based index of the element. + + The element. + + + + + Gets an element of this document. + + The name of the element. + + A BsonElement. + + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + + An enumerator. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the value of an element. + + The zero based index of the element. + + The value of the element. + + + + + Gets the value of an element. + + The name of the element. + + The value of the element. + + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + + The value of the element or the default value if the element is not found. + + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + + The document (so method calls can be chained). + + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + + The document (so method calls can be chained). + + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + + The document. + + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + + The document. + + + + + Tries to get an element of this document. + + The name of the element. + The element. + + True if an element with that name was found. + + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + + True if an element with that name was found. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Throws if disposed. + + + + + + Represents an ObjectId (see also BsonObjectId). + + + + + Initializes a new instance of the ObjectId class. + + The bytes. + + + + Initializes a new instance of the ObjectId class. + + The bytes. + The index into the byte array where the ObjectId starts. + + + + Initializes a new instance of the ObjectId class. + + The timestamp (expressed as a DateTime). + The machine hash. + The PID. + The increment. + + + + Initializes a new instance of the ObjectId class. + + The timestamp. + The machine hash. + The PID. + The increment. + + + + Initializes a new instance of the ObjectId class. + + The value. + + + + Gets an instance of ObjectId where the value is empty. + + + + + Gets the timestamp. + + + + + Gets the machine. + + + + + Gets the PID. + + + + + Gets the increment. + + + + + Gets the creation time (derived from the timestamp). + + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is less than the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is less than or equal to the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId. + True if the two ObjectIds are equal. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId. + True if the two ObjectIds are not equal. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is greather than or equal to the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is greather than the second ObjectId. + + + + Generates a new ObjectId with a unique value. + + An ObjectId. + + + + Generates a new ObjectId with a unique value (with the timestamp component based on a given DateTime). + + The timestamp component (expressed as a DateTime). + An ObjectId. + + + + Generates a new ObjectId with a unique value (with the given timestamp). + + The timestamp component. + An ObjectId. + + + + Packs the components of an ObjectId into a byte array. + + The timestamp. + The machine hash. + The PID. + The increment. + A byte array. + + + + Parses a string and creates a new ObjectId. + + The string value. + A ObjectId. + + + + Tries to parse a string and create a new ObjectId. + + The string value. + The new ObjectId. + True if the string was parsed successfully. + + + + Unpacks a byte array into the components of an ObjectId. + + A byte array. + The timestamp. + The machine hash. + The PID. + The increment. + + + + Gets the current process id. This method exists because of how CAS operates on the call stack, checking + for permissions before executing the method. Hence, if we inlined this call, the calling method would not execute + before throwing an exception requiring the try/catch at an even higher level that we don't necessarily control. + + + + + Compares this ObjectId to another ObjectId. + + The other ObjectId. + A 32-bit signed integer that indicates whether this ObjectId is less than, equal to, or greather than the other. + + + + Compares this ObjectId to another ObjectId. + + The other ObjectId. + True if the two ObjectIds are equal. + + + + Compares this ObjectId to another object. + + The other object. + True if the other object is an ObjectId and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts the ObjectId to a byte array. + + A byte array. + + + + Converts the ObjectId to a byte array. + + The destination. + The offset. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents an immutable BSON array that is represented using only the raw bytes. + + + + + Initializes a new instance of the class. + + The slice. + slice + RawBsonArray cannot be used with an IByteBuffer that needs disposing. + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Gets the count of array elements. + + + + + Gets whether the array is read-only. + + + + + Gets the array elements as raw values (see BsonValue.RawValue). + + + + + Gets the slice. + + + The slice. + + + + + Gets the array elements. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Clears the array. + + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Copies elements from this array to another array as raw values (see BsonValue.RawValue). + + The other array. + The zero based index of the other array at which to start copying. + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Throws if disposed. + + + + + + Represents an immutable BSON document that is represented using only the raw bytes. + + + + + Initializes a new instance of the class. + + The slice. + slice + RawBsonDocument cannot be used with an IByteBuffer that needs disposing. + + + + Initializes a new instance of the class. + + The bytes. + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Gets the element names. + + + + + Gets the raw values (see BsonValue.RawValue). + + + + + Gets the slice. + + + The slice. + + + + + Gets the values. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value to return if the element is not found. + Teh value of the element or a default value if the element is not found. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Adds an element to the document. + + The element to add. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds a list of elements to the document. + + The list of elements. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + + True if the document contains an element with the specified name. + + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + + True if the document contains an element with the specified value. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets an element of this document. + + The zero based index of the element. + + The element. + + + + + Gets an element of this document. + + The name of the element. + + A BsonElement. + + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + + An enumerator. + + + + + Gets the value of an element. + + The zero based index of the element. + + The value of the element. + + + + + Gets the value of an element. + + The name of the element. + + The value of the element. + + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + + The value of the element or the default value if the element is not found. + + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Materializes the RawBsonDocument into a regular BsonDocument. + + The binary reader settings. + A BsonDocument. + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + + The document (so method calls can be chained). + + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + + The document (so method calls can be chained). + + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + + The document. + + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + + The document. + + + + + Tries to get an element of this document. + + The name of the element. + The element. + + True if an element with that name was found. + + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + + True if an element with that name was found. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Throws if disposed. + + RawBsonDocument + + + + Provides serializers based on an attribute. + + + + + + + + Represents a mapping between a class and a BSON document. + + + + + Initializes a new instance of the BsonClassMap class. + + The class type. + + + + Initializes a new instance of the class. + + Type of the class. + The base class map. + + + + Gets all the member maps (including maps for inherited members). + + + + + Gets the base class map. + + + + + Gets the class type. + + + + + Gets the constructor maps. + + + + + Gets the conventions used for auto mapping. + + + + + Gets the declared member maps (only for members declared in this class). + + + + + Gets the discriminator. + + + + + Gets whether a discriminator is required when serializing this class. + + + + + Gets the member map of the member used to hold extra elements. + + + + + Gets whether this class map has any creator maps. + + + + + Gets whether this class has a root class ancestor. + + + + + Gets the Id member map (null if none). + + + + + Gets whether extra elements should be ignored when deserializing. + + + + + Gets whether the IgnoreExtraElements value should be inherited by derived classes. + + + + + Gets whether this class is anonymous. + + + + + Gets whether the class map is frozen. + + + + + Gets whether this class is a root class. + + + + + Gets the known types of this class. + + + + + Gets the element name to member index trie. + + + + + Gets the member index of the member used to hold extra elements. + + + + + Gets the type of a member. + + The member info. + The type of the member. + + + + Gets all registered class maps. + + All registered class maps. + + + + Checks whether a class map is registered for a type. + + The type to check. + True if there is a class map registered for the type. + + + + Looks up a class map (will AutoMap the class if no class map is registered). + + The class type. + The class map. + + + + Creates and registers a class map. + + The class. + The class map. + + + + Creates and registers a class map. + + The class. + The class map initializer. + The class map. + + + + Registers a class map. + + The class map. + + + + Automaps the class. + + + + + Creates an instance of the class. + + An object. + + + + Freezes the class map. + + The frozen class map. + + + + Gets a member map (only considers members declared in this class). + + The member name. + The member map (or null if the member was not found). + + + + Gets the member map for a BSON element. + + The name of the element. + The member map. + + + + Creates a creator map for a constructor and adds it to the class map. + + The constructor info. + The creator map (so method calls can be chained). + + + + Creates a creator map for a constructor and adds it to the class map. + + The constructor info. + The argument names. + The creator map (so method calls can be chained). + + + + Creates a creator map and adds it to the class. + + The delegate. + The factory method map (so method calls can be chained). + + + + Creates a creator map and adds it to the class. + + The delegate. + The argument names. + The factory method map (so method calls can be chained). + + + + Creates a member map for the extra elements field and adds it to the class map. + + The name of the extra elements field. + The member map (so method calls can be chained). + + + + Creates a member map for the extra elements member and adds it to the class map. + + The member info for the extra elements member. + The member map (so method calls can be chained). + + + + Creates a member map for the extra elements property and adds it to the class map. + + The name of the property. + The member map (so method calls can be chained). + + + + Creates a creator map for a factory method and adds it to the class. + + The method info. + The creator map (so method calls can be chained). + + + + Creates a creator map for a factory method and adds it to the class. + + The method info. + The argument names. + The creator map (so method calls can be chained). + + + + Creates a member map for a field and adds it to the class map. + + The name of the field. + The member map (so method calls can be chained). + + + + Creates a member map for the Id field and adds it to the class map. + + The name of the Id field. + The member map (so method calls can be chained). + + + + Creates a member map for the Id member and adds it to the class map. + + The member info for the Id member. + The member map (so method calls can be chained). + + + + Creates a member map for the Id property and adds it to the class map. + + The name of the Id property. + The member map (so method calls can be chained). + + + + Creates a member map for a member and adds it to the class map. + + The member info. + The member map (so method calls can be chained). + + + + Creates a member map for a property and adds it to the class map. + + The name of the property. + The member map (so method calls can be chained). + + + + Resets the class map back to its initial state. + + + + + Sets the creator for the object. + + The creator. + The class map (so method calls can be chained). + + + + Sets the discriminator. + + The discriminator. + + + + Sets whether a discriminator is required when serializing this class. + + Whether a discriminator is required. + + + + Sets the member map of the member used to hold extra elements. + + The extra elements member map. + + + + Adds a known type to the class map. + + The known type. + + + + Sets the Id member. + + The Id member (null if none). + + + + Sets whether extra elements should be ignored when deserializing. + + Whether extra elements should be ignored when deserializing. + + + + Sets whether the IgnoreExtraElements value should be inherited by derived classes. + + Whether the IgnoreExtraElements value should be inherited by derived classes. + + + + Sets whether this class is a root class. + + Whether this class is a root class. + + + + Removes a creator map for a constructor from the class map. + + The constructor info. + + + + Removes a creator map for a factory method from the class map. + + The method info. + + + + Removes the member map for a field from the class map. + + The name of the field. + + + + Removes a member map from the class map. + + The member info. + + + + Removes the member map for a property from the class map. + + The name of the property. + + + + Gets the discriminator convention for the class. + + The discriminator convention for the class. + + + + Represents a mapping between a class and a BSON document. + + The class. + + + + Initializes a new instance of the BsonClassMap class. + + + + + Initializes a new instance of the BsonClassMap class. + + The class map initializer. + + + + Creates an instance. + + An instance. + + + + Gets a member map. + + The member type. + A lambda expression specifying the member. + The member map. + + + + Creates a creator map and adds it to the class map. + + Lambda expression specifying the creator code and parameters to use. + The member map. + + + + Creates a member map for the extra elements field and adds it to the class map. + + The member type. + A lambda expression specifying the extra elements field. + The member map. + + + + Creates a member map for the extra elements member and adds it to the class map. + + The member type. + A lambda expression specifying the extra elements member. + The member map. + + + + Creates a member map for the extra elements property and adds it to the class map. + + The member type. + A lambda expression specifying the extra elements property. + The member map. + + + + Creates a member map for a field and adds it to the class map. + + The member type. + A lambda expression specifying the field. + The member map. + + + + Creates a member map for the Id field and adds it to the class map. + + The member type. + A lambda expression specifying the Id field. + The member map. + + + + Creates a member map for the Id member and adds it to the class map. + + The member type. + A lambda expression specifying the Id member. + The member map. + + + + Creates a member map for the Id property and adds it to the class map. + + The member type. + A lambda expression specifying the Id property. + The member map. + + + + Creates a member map and adds it to the class map. + + The member type. + A lambda expression specifying the member. + The member map. + + + + Creates a member map for the Id property and adds it to the class map. + + The member type. + A lambda expression specifying the Id property. + The member map. + + + + Removes the member map for a field from the class map. + + The member type. + A lambda expression specifying the field. + + + + Removes a member map from the class map. + + The member type. + A lambda expression specifying the member. + + + + Removes a member map for a property from the class map. + + The member type. + A lambda expression specifying the property. + + + + Represents the class map serialization provider. + + + + + + + + Represents a mapping to a delegate and its arguments. + + + + + Initializes a new instance of the BsonCreatorMap class. + + The class map. + The member info (null if none). + The delegate. + + + + Gets the arguments. + + + + + Gets the class map that this creator map belongs to. + + + + + Gets the delegeate + + + + + Gets the element names. + + + + + Gets the member info (null if none). + + + + + Freezes the creator map. + + + + + Gets whether there is a default value for a missing element. + + The element name. + True if there is a default value for element name; otherwise, false. + + + + Sets the arguments for the creator map. + + The arguments. + The creator map. + + + + Sets the arguments for the creator map. + + The argument names. + The creator map. + + + + Represents args common to all serializers. + + + + + Gets or sets the nominal type. + + + The nominal type. + + + + + Represents all the contextual information needed by a serializer to deserialize a value. + + + + + Gets a value indicating whether to allow duplicate element names. + + + true if duplicate element names shoud be allowed; otherwise, false. + + + + + Gets the dynamic array serializer. + + + The dynamic array serializer. + + + + + Gets the dynamic document serializer. + + + The dynamic document serializer. + + + + + Gets the reader. + + + The reader. + + + + + Creates a root context. + + The reader. + The configurator. + + A root context. + + + + + Creates a new context with some values changed. + + The configurator. + + A new context. + + + + + Represents a builder for a BsonDeserializationContext. + + + + + Gets or sets a value indicating whether to allow duplicate element names. + + + true if duplicate element names should be allowed; otherwise, false. + + + + + Gets or sets the dynamic array serializer. + + + The dynamic array serializer. + + + + + Gets or sets the dynamic document serializer. + + + The dynamic document serializer. + + + + + Gets the reader. + + + The reader. + + + + + Builds the BsonDeserializationContext instance. + + A BsonDeserializationContext. + + + + A class backed by a BsonDocument. + + + + + Initializes a new instance of the class. + + The serializer. + + + + Initializes a new instance of the class. + + The backing document. + The serializer. + + + + Gets the backing document. + + + + + Gets the value from the backing document. + + The type of the value. + The member name. + The value. + + + + Gets the value from the backing document. + + The type of the value. + The member name. + The default value. + The value. + + + + Sets the value in the backing document. + + The member name. + The value. + + + + Represents the mapping between a field or property and a BSON element. + + + + + Initializes a new instance of the BsonMemberMap class. + + The class map this member map belongs to. + The member info. + + + + Gets the class map that this member map belongs to. + + + + + Gets the name of the member. + + + + + Gets the type of the member. + + + + + Gets whether the member type is a BsonValue. + + + + + Gets the name of the element. + + + + + Gets the serialization order. + + + + + Gets the member info. + + + + + Gets the getter function. + + + + + Gets the setter function. + + + + + Gets the Id generator. + + + + + Gets whether a default value was specified. + + + + + Gets whether an element is required for this member when deserialized. + + + + + Gets the method that will be called to determine whether the member should be serialized. + + + + + Gets whether default values should be ignored when serialized. + + + + + Gets whether null values should be ignored when serialized. + + + + + Gets the default value. + + + + + Gets whether the member is readonly. + + + Readonly indicates that the member is written to the database, but not read from the database. + + + + + Applies the default value to the member of an object. + + The object. + + + + Freezes this instance. + + + + + Gets the serializer. + + The serializer. + + + + Resets the member map back to its initial state. + + The member map. + + + + Sets the default value creator. + + The default value creator (note: the supplied delegate must be thread safe). + The member map. + + + + Sets the default value. + + The default value. + The member map. + + + + Sets the name of the element. + + The name of the element. + The member map. + + + + Sets the Id generator. + + The Id generator. + The member map. + + + + Sets whether default values should be ignored when serialized. + + Whether default values should be ignored when serialized. + The member map. + + + + Sets whether null values should be ignored when serialized. + + Wether null values should be ignored when serialized. + The member map. + + + + Sets whether an element is required for this member when deserialized + + Whether an element is required for this member when deserialized + The member map. + + + + Sets the serialization order. + + The serialization order. + The member map. + + + + Sets the serializer. + + The serializer. + + The member map. + + serializer + serializer + + + + Sets the method that will be called to determine whether the member should be serialized. + + The method. + The member map. + + + + Determines whether a value should be serialized + + The object. + The value. + True if the value should be serialized. + + + + Provides serializers for BsonValue and its derivations. + + + + + + + + Represents args common to all serializers. + + + + + Initializes a new instance of the struct. + + The nominal type. + Whether to serialize as the nominal type. + Whether to serialize the id first. + + + + Gets or sets the nominal type. + + + The nominal type. + + + + + Gets or sets a value indicating whether to serialize the value as if it were an instance of the nominal type. + + + + + Gets or sets a value indicating whether to serialize the id first. + + + + + Represents all the contextual information needed by a serializer to serialize a value. + + + + + Gets a function that, when executed, will indicate whether the type + is a dynamic type. + + + + + Gets the writer. + + + The writer. + + + + + Creates a root context. + + The writer. + The serialization context configurator. + + A root context. + + + + + Creates a new context with some values changed. + + The serialization context configurator. + + A new context. + + + + + Represents a builder for a BsonSerializationContext. + + + + + Gets or sets the function used to determine if a type is a dynamic type. + + + + + Gets the writer. + + + The writer. + + + + + Builds the BsonSerializationContext instance. + + A BsonSerializationContext. + + + + Represents the information needed to serialize a member. + + + + + Initializes a new instance of the BsonSerializationInfo class. + + The element name. + The serializer. + The nominal type. + + + + Gets or sets the dotted element name. + + + + + Gets or sets the serializer. + + + + + Gets or sets the nominal type. + + + + + Deserializes the value. + + The value. + A deserialized value. + + + + Merges the new BsonSerializationInfo by taking its properties and concatenating its ElementName. + + The new info. + A new BsonSerializationInfo. + + + + Serializes the value. + + The value. + The serialized value. + + + + Serializes the values. + + The values. + The serialized values. + + + + Creates a new BsonSerializationInfo object using the elementName provided and copying all other attributes. + + Name of the element. + A new BsonSerializationInfo. + + + + Base class for serialization providers. + + + + + + + + + + + Creates the serializer from a serializer type definition and type arguments. + + The serializer type definition. + The type arguments. + A serializer. + + + + Creates the serializer from a serializer type definition and type arguments. + + The serializer type definition. + The type arguments. + The serializer registry. + + A serializer. + + + + + Creates the serializer. + + The serializer type. + A serializer. + + + + Creates the serializer. + + The serializer type. + The serializer registry. + + A serializer. + + + + + A static class that represents the BSON serialization functionality. + + + + + Gets the serializer registry. + + + + + Gets or sets whether to use the NullIdChecker on reference Id types that don't have an IdGenerator registered. + + + + + Gets or sets whether to use the ZeroIdChecker on value Id types that don't have an IdGenerator registered. + + + + + Deserializes an object from a BsonDocument. + + The nominal type of the object. + The BsonDocument. + The configurator. + A deserialized value. + + + + Deserializes a value. + + The nominal type of the object. + The BsonReader. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON byte array. + + The nominal type of the object. + The BSON byte array. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON Stream. + + The nominal type of the object. + The BSON Stream. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON string. + + The nominal type of the object. + The JSON string. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON TextReader. + + The nominal type of the object. + The JSON TextReader. + The configurator. + A deserialized value. + + + + Deserializes an object from a BsonDocument. + + The BsonDocument. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes a value. + + The BsonReader. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON byte array. + + The BSON byte array. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON Stream. + + The BSON Stream. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON string. + + The JSON string. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON TextReader. + + The JSON TextReader. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Returns whether the given type has any discriminators registered for any of its subclasses. + + A Type. + True if the type is discriminated. + + + + Looks up the actual type of an object to be deserialized. + + The nominal type of the object. + The discriminator. + The actual type of the object. + + + + Looks up the discriminator convention for a type. + + The type. + A discriminator convention. + + + + Looks up an IdGenerator. + + The Id type. + An IdGenerator for the Id type. + + + + Looks up a serializer for a Type. + + The type. + A serializer for type T. + + + + Looks up a serializer for a Type. + + The Type. + A serializer for the Type. + + + + Registers the discriminator for a type. + + The type. + The discriminator. + + + + Registers the discriminator convention for a type. + + Type type. + The discriminator convention. + + + + Registers a generic serializer definition for a generic type. + + The generic type. + The generic serializer definition. + + + + Registers an IdGenerator for an Id Type. + + The Id Type. + The IdGenerator for the Id Type. + + + + Registers a serialization provider. + + The serialization provider. + + + + Registers a serializer for a type. + + The type. + The serializer. + + + + Registers a serializer for a type. + + The type. + The serializer. + + + + Serializes a value. + + The nominal type of the object. + The BsonWriter. + The object. + The serialization context configurator. + The serialization args. + + + + Serializes a value. + + The BsonWriter. + The nominal type of the object. + The object. + The serialization context configurator. + The serialization args. + + + + Default, global implementation of an . + + + + + Initializes a new instance of the class. + + + + + Gets the serializer for the specified . + + The type. + + The serializer. + + + + + Gets the serializer for the specified . + + + + The serializer. + + + + + Registers the serializer. + + The type. + The serializer. + + + + Registers the serialization provider. This behaves like a stack, so the + last provider registered is the first provider consulted. + + The serialization provider. + + + + Provides serializers for collections. + + + + + + + + A helper class used to create and compile delegates for creator maps. + + + + + Creates and compiles a delegate that calls a constructor. + + The constructor. + A delegate that calls the constructor. + + + + Creates and compiles a delegate from a lambda expression. + + The type of the class. + The lambda expression. + The arguments for the delegate's parameters. + A delegate. + + + + Creates and compiles a delegate that calls a factory method. + + the method. + A delegate that calls the factory method. + + + + Visits a MemberExpression. + + The MemberExpression. + The MemberExpression (possibly modified). + + + + Visits a ParameterExpression. + + The ParameterExpression. + The ParameterExpression (possibly modified). + + + + Provides a serializer for interfaces. + + + + + + + + An abstract base class for an Expression visitor. + + + + + Initializes a new instance of the ExpressionVisitor class. + + + + + Visits an Expression. + + The Expression. + The Expression (posibly modified). + + + + Visits an Expression list. + + The Expression list. + The Expression list (possibly modified). + + + + Visits a BinaryExpression. + + The BinaryExpression. + The BinaryExpression (possibly modified). + + + + Visits a ConditionalExpression. + + The ConditionalExpression. + The ConditionalExpression (possibly modified). + + + + Visits a ConstantExpression. + + The ConstantExpression. + The ConstantExpression (possibly modified). + + + + Visits an ElementInit. + + The ElementInit. + The ElementInit (possibly modified). + + + + Visits an ElementInit list. + + The ElementInit list. + The ElementInit list (possibly modified). + + + + Visits an InvocationExpression. + + The InvocationExpression. + The InvocationExpression (possibly modified). + + + + Visits a LambdaExpression. + + The LambdaExpression. + The LambdaExpression (possibly modified). + + + + Visits a ListInitExpression. + + The ListInitExpression. + The ListInitExpression (possibly modified). + + + + Visits a MemberExpression. + + The MemberExpression. + The MemberExpression (possibly modified). + + + + Visits a MemberAssignment. + + The MemberAssignment. + The MemberAssignment (possibly modified). + + + + Visits a MemberBinding. + + The MemberBinding. + The MemberBinding (possibly modified). + + + + Visits a MemberBinding list. + + The MemberBinding list. + The MemberBinding list (possibly modified). + + + + Visits a MemberInitExpression. + + The MemberInitExpression. + The MemberInitExpression (possibly modified). + + + + Visits a MemberListBinding. + + The MemberListBinding. + The MemberListBinding (possibly modified). + + + + Visits a MemberMemberBinding. + + The MemberMemberBinding. + The MemberMemberBinding (possibly modified). + + + + Visits a MethodCallExpression. + + The MethodCallExpression. + The MethodCallExpression (possibly modified). + + + + Visits a NewExpression. + + The NewExpression. + The NewExpression (possibly modified). + + + + Visits a NewArrayExpression. + + The NewArrayExpression. + The NewArrayExpression (possibly modified). + + + + Visits a ParameterExpression. + + The ParameterExpression. + The ParameterExpression (possibly modified). + + + + Visits a TypeBinaryExpression. + + The TypeBinaryExpression. + The TypeBinaryExpression (possibly modified). + + + + Visits a UnaryExpression. + + The UnaryExpression. + The UnaryExpression (possibly modified). + + + + Contract for serializers to implement if they serialize an array of items. + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a dictionary serializer that can be used in LINQ queries. + + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + Gets the key serializer. + + + The key serializer. + + + + + Gets the value serializer. + + + The value serializer. + + + + + Contract for composite serializers that contain a number of named serializers. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + true if the serialization info exists; otherwise false. + + + + Contract for serializers that can get and set Id values. + + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Sets the document Id. + + The document. + The Id. + + + + An interface implemented by a polymorphic serializer. + + + + + Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. + + + true if this serializer's discriminator is compatible with the object serializer; otherwise, false. + + + + + An interface implemented by serialization providers. + + + + + Gets a serializer for a type. + + The type. + A serializer. + + + + An interface implemented by serialization providers that are aware of registries. + + + This interface was added to preserve backward compatability (changing IBsonSerializationProvider would have been a backward breaking change). + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + An interface implemented by a serializer. + + + + + Gets the type of the value. + + + The type of the value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + An interface implemented by a serializer for values of type TValue. + + The type that this serializer knows how to serialize. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Extensions methods for IBsonSerializer. + + + + + Deserializes a value. + + The serializer. + The deserialization context. + A deserialized value. + + + + Deserializes a value. + + The type that this serializer knows how to serialize. + The serializer. + The deserialization context. + A deserialized value. + + + + Serializes a value. + + The serializer. + The serialization context. + The value. + + + + Serializes a value. + + The type that this serializer knows how to serialize. + The serializer. + The serialization context. + The value. + + + + Converts a value to a BsonValue by serializing it. + + The serializer. + The value. + The serialized value. + + + + Converts a value to a BsonValue by serializing it. + + The type of the value. + The serializer. + The value. + The serialized value. + + + + A serializer registry. + + + + + Gets the serializer for the specified . + + The type. + The serializer. + + + + Gets the serializer for the specified . + + + The serializer. + + + + Represents a serializer that has a child serializer that configuration attributes can be forwarded to. + + + + + Gets the child serializer. + + + The child serializer. + + + + + Returns a serializer that has been reconfigured with the specified child serializer. + + The child serializer. + The reconfigured serializer. + + + + Represents a serializer that has a DictionaryRepresentation property. + + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Represents a serializer that has a DictionaryRepresentation property. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + An interface implemented by Id generators. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents a serializer that has a Representation property. + + + + + Gets the representation. + + + The representation. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer that has a Representation property. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer that has a representation converter. + + + + + Gets the converter. + + + The converter. + + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Represents a serializer that has a representation converter. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Provides serializers for primitive types. + + + + + + + + Represents a serialization provider based on a mapping from value types to serializer types. + + + + + Initializes a new instance of the class. + + + + + + + + Registers the serializer mapping. + + The type. + Type of the serializer. + + + + Supports using type names as discriminators. + + + + + Resolves a type name discriminator. + + The type name. + The type if type type name can be resolved; otherwise, null. + + + + Gets a type name to be used as a discriminator (like AssemblyQualifiedName but shortened for common DLLs). + + The type. + The type name. + + + + Specifies that this constructor should be used for creator-based deserialization. + + + + + Initializes a new instance of the BsonConstructorAttribute class. + + + + + Initializes a new instance of the BsonConstructorAttribute class. + + The names of the members that the creator argument values come from. + + + + Gets the names of the members that the creator arguments values come from. + + + + + Applies a modification to the creator map. + + The creator map. + + + + Specifies serialization options for a DateTime field or property. + + + + + Initializes a new instance of the BsonDateTimeOptionsAttribute class. + + + + + Gets or sets whether the DateTime consists of a Date only. + + + + + Gets or sets the DateTimeKind (Local, Unspecified or Utc). + + + + + Gets or sets the external representation. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Specifies the default value for a field or property. + + + + + Initializes a new instance of the BsonDefaultValueAttribute class. + + The default value. + + + + Gets the default value. + + + + + Gets or sets whether to serialize the default value. + + + + + Applies a modification to the member map. + + The member map. + + + + Specifies serialization options for a Dictionary field or property. + + + + + Initializes a new instance of the BsonDictionaryOptionsAttribute class. + + + + + Initializes a new instance of the BsonDictionaryOptionsAttribute class. + + The representation to use for the Dictionary. + + + + Gets or sets the external representation. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Specifies the discriminator and related options for a class. + + + + + Initializes a new instance of the BsonDiscriminatorAttribute class. + + + + + Initializes a new instance of the BsonDiscriminatorAttribute class. + + The discriminator. + + + + Gets the discriminator. + + + + + Gets or sets whether the discriminator is required. + + + + + Gets or sets whether this is a root class. + + + + + Applies a modification to the class map. + + The class map. + + + + Specifies the element name and related options for a field or property. + + + + + Initializes a new instance of the BsonElementAttribute class. + + + + + Initializes a new instance of the BsonElementAttribute class. + + The name of the element. + + + + Gets the element name. + + + + + Gets the element serialization order. + + + + + Applies a modification to the member map. + + The member map. + + + + Indicates that this property or field will be used to hold any extra elements found during deserialization. + + + + + Applies a modification to the member map. + + The member map. + + + + Specifies that this factory method should be used for creator-based deserialization. + + + + + Initializes a new instance of the BsonFactoryMethodAttribute class. + + + + + Initializes a new instance of the BsonFactoryMethodAttribute class. + + The names of the members that the creator argument values come from. + + + + Gets the names of the members that the creator arguments values come from. + + + + + Applies a modification to the creator map. + + The creator map. + + + + Specifies that this is the Id field or property. + + + + + Initializes a new instance of the BsonIdAttribute class. + + + + + Gets or sets the Id generator for the Id. + + + + + Gets or sets the Id element serialization order. + + + + + Applies a modification to the member map. + + The member map. + + + + Indicates that this field or property should be ignored when this class is serialized. + + + + + Specifies whether extra elements should be ignored when this class is deserialized. + + + + + Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. + + + + + Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. + + Whether extra elements should be ignored when this class is deserialized. + + + + Gets whether extra elements should be ignored when this class is deserialized. + + + + + Gets whether extra elements should also be ignored when any class derived from this one is deserialized. + + + + + Applies a modification to the class map. + + The class map. + + + + Indicates whether a field or property equal to the default value should be ignored when serializing this class. + + + + + Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. + + + + + Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. + + Whether a field or property equal to the default value should be ignored when serializing this class. + + + + Gets whether a field or property equal to the default value should be ignored when serializing this class. + + + + + Applies a modification to the member map. + + The member map. + + + + Indicates whether a field or property equal to null should be ignored when serializing this class. + + + + + Initializes a new instance of the BsonIgnoreIfNullAttribute class. + + + + + Initializes a new instance of the BsonIgnoreIfNullAttribute class. + + Whether a field or property equal to null should be ignored when serializing this class. + + + + Gets whether a field or property equal to null should be ignored when serializing this class. + + + + + Applies a modification to the member map. + + The member map. + + + + Specifies the known types for this class (the derived classes). + + + + + Initializes a new instance of the BsonKnownTypesAttribute class. + + One or more known types. + + + + Initializes a new instance of the BsonKnownTypesAttribute class. + + A known types. + + + + Gets a list of the known types. + + + + + Applies a modification to the class map. + + The class map. + + + + Specifies that the class's IdMember should be null. + + + + + Applies the post processing attribute to the class map. + + The class map. + + + + Specifies the external representation and related options for this field or property. + + + + + Initializes a new instance of the BsonRepresentationAttribute class. + + The external representation. + + + + Gets the external representation. + + + + + Gets or sets whether to allow overflow. + + + + + Gets or sets whether to allow truncation. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Indicates that a field or property is required. + + + + + Applies a modification to the member map. + + The member map. + + + + Abstract base class for serialization options attributes. + + + + + Initializes a new instance of the BsonSerializationOptionsAttribute class. + + + + + Applies a modification to the member map. + + The member map. + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + + Specifies the type of the serializer to use for a class. + + + + + Initializes a new instance of the BsonSerializerAttribute class. + + + + + Initializes a new instance of the BsonSerializerAttribute class. + + The type of the serializer to use for a class. + + + + Gets or sets the type of the serializer to use for a class. + + + + + Applies a modification to the member map. + + The member map. + + + + Creates a serializer for a type based on the serializer type specified by the attribute. + + The type that a serializer should be created for. + A serializer for the type. + + + + Specifies the external representation and related options for this field or property. + + + + + Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + + The external representation. + + + + Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + + The external representation. + The TimeSpanUnits. + + + + Gets the external representation. + + + + + Gets or sets the TimeSpanUnits. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Indicates the usage restrictions for the attribute. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether the attribute this attribute applies to is allowed to be applied + to more than one member. + + + + + Represents an attribute used to modify a class map. + + + + + Applies the attribute to the class map. + + The class map. + + + + Represents an attribute used to modify a creator map. + + + + + Applies the attribute to the creator map. + + The creator map. + + + + Represents an attribute used to modify a member map. + + + + + Applies the attribute to the member map. + + The member map. + + + + Represents an attribute used to post process a class map. + + + + + Applies the post processing attribute to the class map. + + The class map. + + + + Convention pack for applying attributes. + + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + + + Gets the conventions. + + + + + A convention that sets the element name the same as the member name with the first character lower cased. + + + + + Applies a modification to the member map. + + The member map. + + + + Base class for a convention. + + + + + Initializes a new instance of the ConventionBase class. + + + + + Initializes a new instance of the ConventionBase class. + + The name of the convention. + + + + Gets the name of the convention. + + + + + A mutable pack of conventions. + + + + + Initializes a new instance of the class. + + + + + Gets the conventions. + + + + + Adds the specified convention. + + The convention. + + + + + Adds a class map convention created using the specified action upon a class map. + + The name of the convention. + The action the convention should take upon the class map. + + + + Adds a member map convention created using the specified action upon a member map. + + The name of the convention. + The action the convention should take upon the member map. + + + + Adds a post processing convention created using the specified action upon a class map. + + The name of the convention. + The action the convention should take upon the class map. + + + + Adds a range of conventions. + + The conventions. + + + + + Appends the conventions in another pack to the end of this pack. + + The other pack. + + + + Gets an enumerator for the conventions. + + An enumerator. + + + + Inserts the convention after another convention specified by the name. + + The name. + The convention. + + + + Inserts the convention before another convention specified by the name. + + The name. + The convention. + + + + Removes the named convention. + + The name of the convention. + + + + Represents a registry of conventions. + + + + + Looks up the effective set of conventions that apply to a type. + + The type. + The conventions for that type. + + + + Registers the conventions. + + The name. + The conventions. + The filter. + + + + Removes the conventions specified by the given name. + + The name. + Removing a convention allows the removal of the special __defaults__ conventions + and the __attributes__ conventions for those who want to completely customize the + experience. + + + + Runs the conventions against a BsonClassMap and its BsonMemberMaps. + + + + + Initializes a new instance of the class. + + The conventions. + + + + Applies a modification to the class map. + + The class map. + + + + Convention pack of defaults. + + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + + + Gets the conventions. + + + + + A class map convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a modification to the class map. + + The class map. + + + + A member map convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a modification to the member map. + + The member map. + + + + A post processing convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a post processing modification to the class map. + + The class map. + + + + A convention that allows you to set the Enum serialization representation + + + + + Initializes a new instance of the class. + + The serialization representation. 0 is used to detect representation + from the enum itself. + + + + Gets the representation. + + + + + Applies a modification to the member map. + + The member map. + + + + Represents a discriminator convention where the discriminator is an array of all the discriminators provided by the class maps of the root class down to the actual type. + + + + + Initializes a new instance of the HierarchicalDiscriminatorConvention class. + + The element name. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + Represents a convention that applies to a BsonClassMap. + + + + + Applies a modification to the class map. + + The class map. + + + + Represents a convention. + + + + + Gets the name of the convention. + + + + + Represents a grouping of conventions. + + + + + Gets the conventions. + + + + + Represents a convention that applies to a BsonCreatorMap. + + + + + Applies a modification to the creator map. + + The creator map. + + + + Represents a discriminator convention. + + + + + Gets the discriminator element name. + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + A convention that sets whether to ignore extra elements encountered during deserialization. + + + + + Initializes a new instance of the class. + + Whether to ignore extra elements encountered during deserialization. + + + + Applies a modification to the class map. + + The class map. + + + + A convention that sets whether to ignore default values during serialization. + + + + + Initializes a new instance of the class. + + Whether to ignore default values during serialization. + + + + Applies a modification to the member map. + + The member map. + + + + A convention that sets whether to ignore nulls during serialization. + + + + + Initializes a new instance of the class. + + Whether to ignore nulls during serialization. + + + + Applies a modification to the member map. + + The member map. + + + + Represents a convention that applies to a BsonMemberMap. + + + + + Applies a modification to the member map. + + The member map. + + + + Maps a fully immutable type. This will include anonymous types. + + + + + + + + Represents a post processing convention that applies to a BsonClassMap. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + A convention that looks up an id generator for the id member. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + A convention that sets the default value for members of a given type. + + + + + Initializes a new instance of the class. + + The type of the member. + The default value for members of this type. + + + + Applies a modification to the member map. + + The member map. + + + + A convention that sets the element name the same as the member name. + + + + + Applies a modification to the member map. + + The member map. + + + + A convention that finds the extra elements member by name (and that is also of type or ). + + + + + Initializes a new instance of the NamedExtraElementsMemberConvention class. + + The name of the extra elements member. + + + + Initializes a new instance of the class. + + The names. + + + + Initializes a new instance of the class. + + The names. + The member types. + + + + Initializes a new instance of the class. + + The names. + The binding flags. + + + + Initializes a new instance of the class. + + The names. + The member types. + The binding flags. + + + + + Applies a modification to the class map. + + The class map. + + + + A convention that finds the id member by name. + + + + + Initializes a new instance of the class. + + The names. + + + + Initializes a new instance of the class. + + The names. + + + + Initializes a new instance of the class. + + The names. + The member types. + + + + Initializes a new instance of the class. + + The names. + The binding flags. + + + + Initializes a new instance of the class. + + The names. + The member types. + The binding flags. + + + + + Applies a modification to the class map. + + The class map. + + + + A convention that uses the names of the creator parameters to find the matching members. + + + + + Applies a modification to the creator map. + + The creator map. + + + + A convention that sets a class's IdMember to null. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + Represents the object discriminator convention. + + + + + Initializes a new instance of the ObjectDiscriminatorConvention class. + + The element name. + + + + Gets an instance of the ObjectDiscriminatorConvention. + + + + + Gets the discriminator element name. + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + A convention that finds readable and writeable members and adds them to the class map. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The member types. + + + + Initializes a new instance of the class. + + The binding flags. + + + + Initializes a new instance of the class. + + The member types. + The binding flags. + + + + Applies a modification to the class map. + + The class map. + + + + A convention that resets a class map (resetting any changes that earlier conventions may have applied). + + + + + Applies a modification to the class map. + + The class map. + + + + A convention that resets class members (resetting any changes that earlier conventions may have applied). + + + + + Applies a modification to the member map. + + The member map. + + + + Represents a discriminator convention where the discriminator is provided by the class map of the actual type. + + + + + Initializes a new instance of the ScalarDiscriminatorConvention class. + + The element name. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + Represents the standard discriminator conventions (see ScalarDiscriminatorConvention and HierarchicalDiscriminatorConvention). + + + + + Initializes a new instance of the StandardDiscriminatorConvention class. + + The element name. + + + + Gets an instance of the ScalarDiscriminatorConvention. + + + + + Gets an instance of the HierarchicalDiscriminatorConvention. + + + + + Gets the discriminator element name. + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + A convention that sets the id generator for a string member with a BSON representation of ObjectId. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + A GUID generator that generates GUIDs in ascending order. To enable + an index to make use of the ascending nature make sure to use + GuidRepresentation.Standard + as the storage representation. + Internally the GUID is of the form + 8 bytes: Ticks from DateTime.UtcNow.Ticks + 3 bytes: hash of machine name + 2 bytes: low order bytes of process Id + 3 bytes: increment + + + + + Gets an instance of AscendingGuidGenerator. + + + + + Generates an ascending Guid for a document. Consecutive invocations + should generate Guids that are ascending from a MongoDB perspective + + The container of the document (will be a + MongoCollection when called from the driver). + The document it was generated for. + A Guid. + + + + Generates a Guid for a document. Note - this is purely used for + unit testing + + The time portion of the Guid + A 5 byte array with the first 3 bytes + representing a machine id and the next 2 representing a process + id + The increment portion of the Guid. Used + to distinguish between 2 Guids that have the timestamp. Note + only the least significant 3 bytes are used. + A Guid. + + + + Tests whether an id is empty. + + The id to test. + True if the Id is empty. False otherwise + + + + Gets the current process id. This method exists because of how + CAS operates on the call stack, checking for permissions before + executing the method. Hence, if we inlined this call, the calling + method would not execute before throwing an exception requiring the + try/catch at an even higher level that we don't necessarily control. + + + + + Represents an Id generator for Guids stored in BsonBinaryData values. + + + + + Initializes a new instance of the BsonBinaryDataGuidGenerator class. + + The GuidRepresentation to use when generating new Id values. + + + + Gets an instance of BsonBinaryDataGuidGenerator for CSharpLegacy GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for JavaLegacy GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for PythonLegacy GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for Standard GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for Unspecifed GuidRepresentation. + + + + + Gets the instance of BsonBinaryDataGuidGenerator for a GuidRepresentation. + + The GuidRepresentation. + The instance of BsonBinaryDataGuidGenerator for a GuidRepresentation. + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for BsonObjectIds. + + + + + Initializes a new instance of the BsonObjectIdGenerator class. + + + + + Gets an instance of ObjectIdGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for Guids using the COMB algorithm. + + + + + Initializes a new instance of the CombGuidGenerator class. + + + + + Gets an instance of CombGuidGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Create a new CombGuid from a given Guid and timestamp. + + The base Guid. + The timestamp. + A new CombGuid created by combining the base Guid with the timestamp. + + + + Represents an Id generator for Guids. + + + + + Initializes a new instance of the GuidGenerator class. + + + + + Gets an instance of GuidGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator that only checks that the Id is not null. + + + + + Initializes a new instance of the NullIdChecker class. + + + + + Gets an instance of NullIdChecker. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for ObjectIds. + + + + + Initializes a new instance of the ObjectIdGenerator class. + + + + + Gets an instance of ObjectIdGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for ObjectIds represented internally as strings. + + + + + Initializes a new instance of the StringObjectIdGenerator class. + + + + + Gets an instance of StringObjectIdGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator that only checks that the Id is not all zeros. + + The type of the Id. + + + + Initializes a new instance of the ZeroIdChecker class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents the representation to use for dictionaries. + + + + + Represent the dictionary as a Document. + + + + + Represent the dictionary as an array of arrays. + + + + + Represent the dictionary as an array of documents. + + + + + Represents the external representation of a field or property. + + + + + Initializes a new instance of the RepresentationConverter class. + + Whether to allow overflow. + Whether to allow truncation. + + + + Gets whether to allow overflow. + + + + + Gets whether to allow truncation. + + + + + Converts a Decimal128 to a Decimal. + + A Decimal128. + A Decimal. + + + + Converts a Double to a Decimal. + + A Double. + A Decimal. + + + + Converts an Int32 to a Decimal. + + An Int32. + A Decimal. + + + + Converts an Int64 to a Decimal. + + An Int64. + A Decimal. + + + + Converts a decimal to a Decimal128. + + A decimal. + A Decimal128. + + + + Converts a Double to a Decimal128. + + A Double. + A Decimal128. + + + + Converts an Int32 to a Decimal128. + + An Int32. + A Decimal128. + + + + Converts an Int64 to a Decimal128. + + An Int64. + A Decimal128. + + + + Converts a UInt64 to a Decimal128. + + A UInt64. + A Decimal128. + + + + Converts a Decimal to a Double. + + A Decimal. + A Double. + + + + Converts a Decimal128 to a Double. + + A Decimal. + A Double. + + + + Converts a Double to a Double. + + A Double. + A Double. + + + + Converts a Single to a Double. + + A Single. + A Double. + + + + Converts an Int32 to a Double. + + An Int32. + A Double. + + + + Converts an Int64 to a Double. + + An Int64. + A Double. + + + + Converts an Int16 to a Double. + + An Int16. + A Double. + + + + Converts a UInt32 to a Double. + + A UInt32. + A Double. + + + + Converts a UInt64 to a Double. + + A UInt64. + A Double. + + + + Converts a UInt16 to a Double. + + A UInt16. + A Double. + + + + Converts a Decimal128 to an Int16. + + A Decimal128. + An Int16. + + + + Converts a Double to an Int16. + + A Double. + An Int16. + + + + Converts an Int32 to an Int16. + + An Int32. + An Int16. + + + + Converts an Int64 to an Int16. + + An Int64. + An Int16. + + + + Converts a Decimal to an Int32. + + A Decimal. + An Int32. + + + + Converts a Decimal128 to an Int32. + + A Decimal128. + An Int32. + + + + Converts a Double to an Int32. + + A Double. + An Int32. + + + + Converts a Single to an Int32. + + A Single. + An Int32. + + + + Converts an Int32 to an Int32. + + An Int32. + An Int32. + + + + Converts an Int64 to an Int32. + + An Int64. + An Int32. + + + + Converts an Int16 to an Int32. + + An Int16. + An Int32. + + + + Converts a UInt32 to an Int32. + + A UInt32. + An Int32. + + + + Converts a UInt64 to an Int32. + + A UInt64. + An Int32. + + + + Converts a UInt16 to an Int32. + + A UInt16. + An Int32. + + + + Converts a Decimal to an Int64. + + A Decimal. + An Int64. + + + + Converts a Decimal128 to an Int64. + + A Decimal128. + An Int64. + + + + Converts a Double to an Int64. + + A Double. + An Int64. + + + + Converts a Single to an Int64. + + A Single. + An Int64. + + + + Converts an Int32 to an Int64. + + An Int32. + An Int64. + + + + Converts an Int64 to an Int64. + + An Int64. + An Int64. + + + + Converts an Int16 to an Int64. + + An Int16. + An Int64. + + + + Converts a UInt32 to an Int64. + + A UInt32. + An Int64. + + + + Converts a UInt64 to an Int64. + + A UInt64. + An Int64. + + + + Converts a UInt16 to an Int64. + + A UInt16. + An Int64. + + + + Converts a Decimal128 to a Single. + + A Decimal128. + A Single. + + + + Converts a Double to a Single. + + A Double. + A Single. + + + + Converts an Int32 to a Single. + + An Int32. + A Single. + + + + Converts an Int64 to a Single. + + An Int64. + A Single. + + + + Converts a Decimal128 to a UInt16. + + A Decimal128. + A UInt16. + + + + Converts a Double to a UInt16. + + A Double. + A UInt16. + + + + Converts an Int32 to a UInt16. + + An Int32. + A UInt16. + + + + Converts an Int64 to a UInt16. + + An Int64. + A UInt16. + + + + Converts a Decimal128 to a UInt32. + + A Decimal128. + A UInt32. + + + + Converts a Double to a UInt32. + + A Double. + A UInt32. + + + + Converts an Int32 to a UInt32. + + An Int32. + A UInt32. + + + + Converts an Int64 to a UInt32. + + An Int64. + A UInt32. + + + + Converts a Decimal128 to a UInt64. + + A Decimal128. + A UInt64. + + + + Converts a Double to a UInt64. + + A Double. + A UInt64. + + + + Converts an Int32 to a UInt64. + + An Int32. + A UInt64. + + + + Converts an Int64 to a UInt64. + + An Int64. + A UInt64. + + + + Represents the units a TimeSpan is serialized in. + + + + + Use ticks as the units. + + + + + Use days as the units. + + + + + Use hours as the units. + + + + + Use minutes as the units. + + + + + Use seconds as the units. + + + + + Use milliseconds as the units. + + + + + Use microseconds as the units. + + + + + Use nanoseconds as the units. + + + + + Represents a serializer for an abstract class. + + The type of the class. + + + + Represents a serializer for one-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for BitArrays. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Booleans. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for BsonArrays. + + + + + Initializes a new instance of the BsonArraySerializer class. + + + + + Gets an instance of the BsonArraySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonBinaryDatas. + + + + + Initializes a new instance of the BsonBinaryDataSerializer class. + + + + + Gets an instance of the BsonBinaryDataSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonBooleans. + + + + + Initializes a new instance of the BsonBooleanSerializer class. + + + + + Gets an instance of the BsonBooleanSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDateTimes. + + + + + Initializes a new instance of the BsonDateTimeSerializer class. + + + + + Gets an instance of the BsonDateTimeSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDecimal128s. + + + + + Initializes a new instance of the BsonBooleanSerializer class. + + + + + Gets an instance of the BsonBooleanSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDocuments. + + + + + Initializes a new instance of the BsonDocumentSerializer class. + + + + + Gets an instance of the BsonDocumentSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Sets the document Id. + + The document. + The Id. + + + + Represents a serializer for BsonDocumentWrappers. + + + + + Initializes a new instance of the BsonDocumentWrapperSerializer class. + + + + + Gets an instance of the BsonDocumentWrapperSerializer class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDoubles. + + + + + Initializes a new instance of the BsonDoubleSerializer class. + + + + + Gets an instance of the BsonDoubleSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonInt32s. + + + + + Initializes a new instance of the BsonInt32Serializer class. + + + + + Gets an instance of the BsonInt32Serializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonInt64s. + + + + + Initializes a new instance of the BsonInt64Serializer class. + + + + + Gets an instance of the BsonInt64Serializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonJavaScripts. + + + + + Initializes a new instance of the BsonJavaScriptSerializer class. + + + + + Gets an instance of the BsonJavaScriptSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonJavaScriptWithScopes. + + + + + Initializes a new instance of the BsonJavaScriptWithScopeSerializer class. + + + + + Gets an instance of the BsonJavaScriptWithScopeSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonMaxKeys. + + + + + Initializes a new instance of the BsonMaxKeySerializer class. + + + + + Gets an instance of the BsonMaxKeySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonMinKeys. + + + + + Initializes a new instance of the BsonMinKeySerializer class. + + + + + Gets an instance of the BsonMinKeySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonNulls. + + + + + Initializes a new instance of the BsonNullSerializer class. + + + + + Gets an instance of the BsonNullSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonObjectIds. + + + + + Initializes a new instance of the BsonObjectIdSerializer class. + + + + + Gets an instance of the BsonObjectIdSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonRegularExpressions. + + + + + Initializes a new instance of the BsonRegularExpressionSerializer class. + + + + + Gets an instance of the BsonRegularExpressionSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonStrings. + + + + + Initializes a new instance of the BsonStringSerializer class. + + + + + Gets an instance of the BsonStringSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonSymbols. + + + + + Initializes a new instance of the BsonSymbolSerializer class. + + + + + Gets an instance of the BsonSymbolSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonTimestamps. + + + + + Initializes a new instance of the BsonTimestampSerializer class. + + + + + Gets an instance of the BsonTimestampSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonUndefineds. + + + + + Initializes a new instance of the BsonUndefinedSerializer class. + + + + + Gets an instance of the BsonUndefinedSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for a BsonValue that can round trip C# null. + + The type of the BsonValue. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonArraySerializer and IBsonDocumentSerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + The serialization info for the items. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonArraySerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonDocumentSerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for BsonValues. + + + + + Initializes a new instance of the BsonValueSerializer class. + + + + + Gets an instance of the BsonValueSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a base class for BsonValue serializers. + + The type of the BsonValue. + + + + Initializes a new instance of the class. + + The Bson type. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for ByteArrays. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Chars. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for class serializers. + + The type of the value. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the actual type. + + The context. + The actual type. + + + + Serializes a value of type {TValue}. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for CultureInfos. + + + + + Initializes a new instance of the CultureInfoSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for DateTimeOffsets. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for DateTimes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + if set to true [date only]. + + + + Initializes a new instance of the class. + + if set to true [date only]. + The representation. + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The kind. + + + + Initializes a new instance of the class. + + The kind. + The representation. + + + + Gets an instance of DateTimeSerializer with DateOnly=true. + + + + + Gets an instance of DateTimeSerializer with Kind=Local. + + + + + Gets an instance of DateTimeSerializer with Kind=Utc. + + + + + Gets whether this DateTime consists of a Date only. + + + + + Gets the DateTimeKind (Local, Unspecified or Utc). + + + + + Gets the external representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified dateOnly value. + + if set to true the values will be required to be Date's only (zero time component). + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified dateOnly value and representation. + + if set to true the values will be required to be Date's only (zero time component). + The representation. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified DateTimeKind value. + + The DateTimeKind. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified DateTimeKind value and representation. + + The DateTimeKind. + The representation. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Decimal128s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Decimals. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for a class that implements IDictionary. + + The type of the dictionary. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + + The dictionary representation. + The key serializer. + The value serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified key serializer. + + The key serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified value serializer. + + The value serializer. + The reconfigured serializer. + + + + Creates the instance. + + The instance. + + + + Represents a serializer for a class that implements . + + The type of the dictionary. + The type of the key. + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + + The dictionary representation. + The key serializer. + The value serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified key serializer. + + The key serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified value serializer. + + The value serializer. + The reconfigured serializer. + + + + Creates the instance. + + The instance. + + + + Represents a serializer for dictionaries. + + The type of the dictionary. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + Gets the key serializer. + + + The key serializer. + + + + + Gets the value serializer. + + + The value serializer. + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Creates the instance. + + The instance. + + + + Represents a serializer for dictionaries. + + The type of the dictionary. + The type of the keys. + The type of the values. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Initializes a new instance of the class. + + The dictionary representation. + The serializer registry. + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + Gets the key serializer. + + + The key serializer. + + + + + Gets the value serializer. + + + The value serializer. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Creates the instance. + + The instance. + + + + Represents a serializer for Interfaces. + + The type of the interface. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The discriminator convention. + interfaceType + interfaceType + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + Represents a serializer that serializes values as a discriminator/value pair. + + The type of the value. + + + + Initializes a new instance of the class. + + The discriminator convention. + The wrapped serializer. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Determines whether the reader is positioned at a discriminated wrapper. + + The context. + True if the reader is positioned at a discriminated wrapper. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for Doubles. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Base serializer for dynamic types. + + The dynamic type. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Configures the deserialization context. + + The builder. + + + + Configures the serialization context. + + The builder. + + + + Creates the document. + + A + + + + Sets the value for the member. + + The document. + Name of the member. + The value. + + + + Tries to get the value for a member. Returns true if the member should be serialized. + + The document. + Name of the member. + The value. + true if the member should be serialized; otherwise false. + + + + Represents a serializer for a class that implements IEnumerable. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Creates the accumulator. + + The accumulator. + + + + Represents a serializer for a class that implementes . + + The type of the value. + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for enumerable values. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for enumerable values. + + The type of the value. + The type of the items. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a base serializer for enumerable values. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for enumerable values. + + The type of the value. + The type of the items. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + The serialization info for the items. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for enums. + + The type of the enum. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Serializer for . + + + The use of will serialize any without type information. + To get the best experience out of using an , any member wanting to be used + as an array should use . + + + + + Initializes a new instance of the class. + + + + + Configures the deserialization context. + + The builder. + + + + Configures the serialization context. + + The builder. + + + + Creates the document. + + + A . + + + + + Sets the value for the member. + + The document. + Name of the member. + The value. + + + + Tries to get the value for a member. Returns true if the member should be serialized. + + The value. + Name of the member. + The member value. + true if the member should be serialized; otherwise false. + + + + Represents a serializer for Guids. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Interfaces. + + The type of the interface. + The type of the implementation. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The implementation serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + + Gets the key serializer. + + + The key serializer. + + + + + + Gets the implementation serializer. + + + The implementation serializer. + + + + + Gets the value serializer. + + + The value serializer. + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + Returns a serializer that has been reconfigured with the specified implementation serializer. + + The implementation serializer. + + The reconfigured serializer. + + + + + Represents a serializer for Int16s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Int32. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Int64s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for IPAddresses. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for IPEndPoints. + + + + + Initializes a new instance of the IPEndPointSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for KeyValuePairs. + + The type of the keys. + The type of the values. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The key serializer. + The value serializer. + + + + Initializes a new instance of the class. + + The representation. + The serializer registry. + + + + Gets the key serializer. + + + The key serializer. + + + + + Gets the representation. + + + The representation. + + + + + Gets the value serializer. + + + The value serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + + + + Represents a serializer for LazyBsonArrays. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for LazyBsonDocuments. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for nullable values. + + The underlying type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified serializer. + + The serializer. + + The reconfigured serializer. + + + + + Represents a serializer for ObjectIds. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for objects. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The discriminator convention. + discriminatorConvention + + + + Gets the standard instance. + + + The standard instance. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for a BsonDocument with some parts raw. + + + + + Initializes a new instance of the class. + + The name. + The raw serializer. + + + + + + + Wraps a serializer and projects using a function. + + The type of from. + The type of to. + + + + Initializes a new instance of the class. + + From serializer. + The projector. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Represents a serializer for Queues. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items. + + The value. + The items. + + + + Finalizes the result. + + The instance. + The result. + + + + Represents a serializer for Queues. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for RawBsonArrays. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for RawBsonDocuments. + + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + The instance. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for readonly collection. + + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for a subclass of ReadOnlyCollection. + + The type of the value. + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for SBytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for sealed class serializers. + + The type of the value. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value of type {TValue}. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a class that will be serialized as if it were one of its base classes. + + The actual type. + The nominal type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base class serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents an abstract base class for serializers. + + The type of the value. + + + + Gets the type of the values. + + + The type of the values. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Creates an exception to throw when a type cannot be deserialized. + + An exception. + + + + Creates an exception to throw when a type cannot be deserialized. + + An exception. + + + + Creates an exception to throw when a type cannot be deserialized from a BsonType. + + The BSON type. + An exception. + + + + Ensures that the BsonType equals the expected type. + + The reader. + The expected type. + + + + Represents a helper for serializers. + + + + + Initializes a new instance of the class. + + The members. + + + + Deserializes the members. + + The deserialization context. + The member handler. + The found member flags. + + + + Represents information about a member. + + + + + Initializes a new instance of the class. + + The name of the element. + The flag. + Whether the member is optional. + + + + Gets the flag. + + + The flag. + + + + + Gets the name of the element. + + + The name of the element. + + + + + Gets a value indicating whether this member is optional. + + Whether this member is optional. + + + + Represents a serializer for Singles. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Stacks. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for Stacks. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for Strings. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for struct serializers. + + The type of the value. + + + + Represents a serializer for three-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for Timespans. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The units. + + + + Gets the representation. + + + The representation. + + + + + Gets the units. + + + The units. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation and units. + + The representation. + The units. + + The reconfigured serializer. + + + + + Represents a serializer for a . + + The type of item 1. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + The type of the rest item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + The Rest serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + Gets the Rest serializer. + + + + + Deserializes the value. + + The context. + The deserialization args. + A deserialized value. + + + + Serializes the value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for two-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for UInt16s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for UInt32s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for UInt64s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for interfaces and base classes that delegates to the actual type interface without writing a discriminator. + + Type type of the value. + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + The instance. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + Represents a serializer for Uris. + + + + + Initializes a new instance of the UriSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for Versions. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for a class map. + + The type of the class. + + + + Initializes a new instance of the BsonClassMapSerializer class. + + The class map. + + + + Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. + + + true if this serializer's discriminator is compatible with the object serializer; otherwise, false. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a value. + + The deserialization context. + A deserialized value. + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Sets the document Id. + + The document. + The Id. + + + + Represents a serializer for TClass (a subclass of BsonDocumentBackedClass). + + The subclass of BsonDocumentBackedClass. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Registers a member. + + The member name. + The element name. + The serializer. + + + + Creates the instance. + + The backing document. + An instance of TClass. + + + diff --git a/packages/MongoDB.Driver.2.4.3/License.rtf b/packages/MongoDB.Driver.2.4.3/License.rtf new file mode 100644 index 0000000000000000000000000000000000000000..5f1d0461a83a425c3e7b50fdade21a331c388c7a GIT binary patch literal 1064 zcma)5U2obj6y0;B{)a1`wu*vDX{U`R3QUd4LIreHCBK;XCRlUq)OMO8#DCun(2Z#? z%Y)?`pZj^v-EtSQ9v8-|{gIY=FS?Gn#4Kan*h;0gC`D*~XkqdmySjS6XV_R>#Z zO4Eh$tgsTD;aTZkdOS>9RapO2M)rA?_Tc=Cm%>S2E13pO*L|0sQjBc5 zaVlR2h**zZ($R-g0AG=Pn*pb#4{HbCW(0w@oe(g^sLVi`agXo%8Em=vK_VZBds4AFt-V*tAf zg0OteeW|rE$`82^d20(REo3#s||>f29Sys zjYW$ZNDrbBjD%pD0o6_gW%4$7n}u391X4k8YE^~5m^ls&XvC)g;zk%~4HpnET5vmD z#EUjO#ml?d;}V{R^Z77Y#*+oi<}jKi<9Hd*60*L*FnNaiI2pGAi5H?D-%8iiP6eul zGn5@zV8iNfJwQf}jqOWJRi;wv$mEsC5pw%V8%B*liLRg>BGq^*O@da13L@<7KSF!g hz+rg*>e&n06Yh2N`G(G-(t(z<+0Q6CxX_k;_yvH{ag6`~ literal 0 HcmV?d00001 diff --git a/packages/MongoDB.Driver.2.4.3/MongoDB.Driver.2.4.3.nupkg b/packages/MongoDB.Driver.2.4.3/MongoDB.Driver.2.4.3.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..0382f86be2f5bda52b5b9b280d7892aecb7c9900 GIT binary patch literal 506786 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 }!g(i|lijjXZ0X160=1)Qe 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

xdZFuoHGO6f z_;;_IRTsJ?G-NZjgsU-w8Cs8Y;K4- zqy=VtgRuw2zT3nYpWUSy=1~s8n{DG_A)$(T#pClWs~@yrvZ+jkMk#9Q_aTe?dKe7t zS#TKHDmd@@&Z|S$yvOU*D$OU)G+DHO&UH%0D+E})=b#E6#WdbSRNW@G3MzYN8haOq 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 z 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

KjkQ*8UpLU6tB2@i1W%$Fk# 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%0Dex^pVT>U+;cHmRDP@9;(Z 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ℑrh%AiBYEGM$Lm0r}St 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%0D6QR)L!cebrn~63Q=f#mG;y6 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 + + + MongoDB.Driver + + + +

+ Represents the granularity value for a $bucketAuto stage. + + + + + Initializes a new instance of the struct. + + The value. + + + + Gets the E12 granularity. + + + + + Gets the E192 granularity. + + + + + Gets the E24 granularity. + + + + + Gets the E48 granularity. + + + + + Gets the E6 granularity. + + + + + Gets the E96 granularity. + + + + + Gets the POWERSOF2 granularity. + + + + + Gets the R10 granularity. + + + + + Gets the R20 granularity. + + + + + Gets the R40 granularity. + + + + + Gets the R5 granularity. + + + + + Gets the R80 granularity. + + + + + Gets the 1-2-5 granularity. + + + + + Gets the value. + + + + + Represents options for the BucketAuto method. + + + + + + + MongoDB.Driver.AggregateBucketAutoOptions + + + + + + + Gets or sets the granularity. + + + + + Represents the result of the $bucketAuto stage. + + The type of the value. + + + + Initializes a new instance of the class. + + The inclusive lower boundary of the bucket. + The count. + + + + Initializes a new instance of the class. + + The minimum. + The maximum. + The count. + + + + Gets the count. + + + + + Gets the inclusive lower boundary of the bucket. + + + + + Gets the maximum. + + + + + Gets the minimum. + + + + + Represents the _id value in the result of a $bucketAuto stage. + + The type of the values. + + + + Initializes a new instance of the class. + + The minimum. + The maximum. + + + + Gets the max value. + + + + + Gets the min value. + + + + + Represents options for the Bucket method. + + The type of the value. + + + + + + MongoDB.Driver.AggregateBucketOptions`1 + + + + + + + Gets or sets the default bucket. + + + + + Represents the result of the $bucket stage. + + The type of the value. + + + + Initializes a new instance of the class. + + The inclusive lower boundary of the bucket. + The count. + + + + Gets the count. + + + + + Gets the inclusive lower boundary of the bucket. + + + + + Result type for the aggregate $count stage. + + + + + Initializes a new instance of the class. + + The count. + + + + Gets the count. + + + + + An aggregation expression. + + The type of the source. + The type of the result. + + + + + + MongoDB.Driver.AggregateExpressionDefinition`2 + + + + + + + Performs an implicit conversion from to . + + The expression. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The expression. + + The result of the conversion. + + + + + Renders the aggregation expression. + + The source serializer. + The serializer registry. + The rendered aggregation expression. + + + + Represents static methods for creating facets. + + + + + Creates a new instance of the class. + + The facet name. + The facet pipeline. + The type of the input documents. + The type of the output documents. + + A new instance of the class + + + + + Represents a facet to be passed to the Facet method. + + The type of the input documents. + + + + Initializes a new instance of the class. + + The facet name. + + + + Gets the facet name. + + + + + Gets the output serializer. + + + + + Gets the type of the output documents. + + + + + Renders the facet pipeline. + + The input serializer. + The serializer registry. + The rendered pipeline. + + + + Represents a facet to be passed to the Facet method. + + The type of the input documents. + The type of the otuput documents. + + + + Initializes a new instance of the class. + + The facet name. + The facet pipeline. + + + + Gets the output serializer. + + + + + Gets the type of the output documents. + + + + + Gets the facet pipeline. + + + + + Renders the facet pipeline. + + The input serializer. + The serializer registry. + The rendered pipeline. + + + + Options for the aggregate $facet stage. + + The type of the output documents. + + + + + + MongoDB.Driver.AggregateFacetOptions`1 + + + + + + + Gets or sets the output serializer. + + + + + Represents an abstract AggregateFacetResult with an arbitrary TOutput type. + + + + + Gets the name of the facet. + + + + + Gets the output of the facet. + + The type of the output documents. + The output of the facet. + + + + Represents the result of a single facet. + + The type of the output. + + + + Initializes a new instance of the class. + + The name. + The output. + + + + Gets or sets the output. + + + + + Represents the results of a $facet stage with an arbitrary number of facets. + + + + + Initializes a new instance of the class. + + The facets. + + + + Gets the facets. + + + + + Base class for implementors of . + + The type of the document. + + + + + + MongoDB.Driver.AggregateFluentBase`1 + + + + + + + Appends the stage to the pipeline. + + The stage. + The type of the result of the stage. + The fluent aggregate interface. + + + + Changes the result type of the pipeline. + + The new result serializer. + The type of the new result. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline. + + The expression providing the value to group by. + The bucket boundaries. + The options. + The type of the value. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline with a custom projection. + + The expression providing the value to group by. + The bucket boundaries. + The output projection. + The options. + The type of the value. + The type of the new result. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline. + + The expression providing the value to group by. + The number of buckets. + The options (optional). + The type of the value. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline with a custom projection. + + The expression providing the value to group by. + The number of buckets. + The output projection. + The options (optional). + The type of the value. + The type of the new result. + The fluent aggregate interface. + + + + Appends a count stage to the pipeline. + + The fluent aggregate interface. + + + + Gets the database. + + + + + Appends a $facet stage to the pipeline. + + The facets. + The options. + The type of the new result. + + The fluent aggregate interface. + + + + + Appends a $graphLookup stage to the pipeline. + + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The fluent aggregate interface. + + + + Appends a group stage to the pipeline. + + The group projection. + The type of the result of the stage. + The fluent aggregate interface. + + + + Appends a limit stage to the pipeline. + + The limit. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + Name of the other collection. + The local field. + The foreign field. + The field in to place the foreign results. + The options. + The type of the foreign document. + The type of the new result. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline. + + The filter. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline that matches derived documents and changes the result type to the derived type. + + The new result serializer. + The type of the derived documents. + The fluent aggregate interface. + + + + Gets the options. + + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The cancellation token. + A cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The cancellation token. + A Task whose result is a cursor. + + + + Appends a project stage to the pipeline. + + The projection. + The type of the result of the stage. + + The fluent aggregate interface. + + + + + Appends a $replaceRoot stage to the pipeline. + + The new root. + The type of the new result. + The fluent aggregate interface. + + + + Appends a skip stage to the pipeline. + + The number of documents to skip. + The fluent aggregate interface. + + + + Appends a sort stage to the pipeline. + + The sort specification. + The fluent aggregate interface. + + + + Appends a sortByCount stage to the pipeline. + + The identifier. + The type of the identifier. + The fluent aggregate interface. + + + + Gets the stages. + + + + + Combines the current sort definition with an additional sort definition. + + The new sort. + The fluent aggregate interface. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A cursor. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A Task whose result is a cursor. + + + + Appends an unwind stage to the pipeline. + + The field. + The new result serializer. + The type of the result of the stage. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The field. + The options. + The type of the new result. + The fluent aggregate interface. + + + + Represents options for the GraphLookup method. + + The type of from documents. + The type of the as field elements. + The type of the output documents. + + + + + + MongoDB.Driver.AggregateGraphLookupOptions`3 + + + + + + + Gets or sets the TAsElement serialzier. + + + + + Gets or sets the TFrom serializer. + + + + + Gets or sets the maximum depth. + + + + + Gets or sets the output serializer. + + + + + Gets the filter to restrict the search with. + + + + + Options for the aggregate $lookup stage. + + The type of the foreign document. + The type of the result. + + + + + + MongoDB.Driver.AggregateLookupOptions`2 + + + + + + + Gets or sets the foreign document serializer. + + + + + Gets or sets the result serializer. + + + + + Options for an aggregate operation. + + + + + + + MongoDB.Driver.AggregateOptions + + + + + + + Gets or sets a value indicating whether to allow disk use. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the translation options. + + + + + Gets or sets a value indicating whether to use a cursor. + + + + + Result type for the aggregate $sortByCount stage. + + The type of the identifier. + + + + Initializes a new instance of the class. + + The identifier. + The count. + + + + Gets the count. + + + + + Gets the identifier. + + + + + Option for which expression to generate for certain string operations. + + + + + Translate to the byte variation. + + + + + Translate to the code points variation. This is only supported in >= MongoDB 3.4. + + + + + Options for the $unwind aggregation stage. + + The type of the result. + + + + + + MongoDB.Driver.AggregateUnwindOptions`1 + + + + + + + Gets or sets the field with which to include the array index. + + + + + Gets or sets whether to preserve null and empty arrays. + + + + + Gets or sets the result serializer. + + + + + Represents a pipeline consisting of an existing pipeline with one additional stage appended. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + Initializes a new instance of the class. + + The pipeline. + The stage. + The output serializer. + + + + Gets the output serializer. + + + + + Renders the pipeline. + + The input serializer. + The serializer registry. + A + + + + Gets the stages. + + + + + A based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The document. + The result serializer. + + + + Gets the document. + + + + + Renders the command to a . + + The serializer registry. + A . + + + + Gets the result serializer. + + + + + A based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + Renders the filter to a . + + The document serializer. + The serializer registry. + A . + + + + A based index keys definition. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + Renders the index keys definition to a . + + The document serializer. + The serializer registry. + A . + + + + A based stage. + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The document. + The output serializer. + + + + Gets the name of the pipeline operator. + + + + + Renders the specified document serializer. + + The input serializer. + The serializer registry. + A + + + + A based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + A based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The document. + The projection serializer. + + + + Gets the document. + + + + + Gets the projection serializer. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + A based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + Renders the sort to a . + + The document serializer. + The serializer registry. + A . + + + + A pipeline composed of instances of . + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The stages. + The output serializer. + + + + Gets the stages. + + + + + Gets the output serializer. + + + + + Renders the pipeline. + + The input serializer. + The serializer registry. + A + + + + Gets the stages. + + + + + A based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + Renders the update to a . + + The document serializer. + The serializer registry. + A . + + + + A based aggregate expression. + + The type of the source. + The type of the result. + + + + Initializes a new instance of the class. + + The expression. + + + + Renders the aggregation expression. + + The source serializer. + The serializer registry. + The rendered aggregation expression. + + + + A static helper class containing various builders. + + The type of the document. + + + + Gets a . + + + + + Gets an . + + + + + Gets a . + + + + + Gets a . + + + + + Gets an . + + + + + Represents the details of a write error for a particular request. + + + + + Gets the index of the request that had an error. + + + + + Options for a bulk write operation. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets a value indicating whether the requests are fulfilled in order. + + + + + Represents the result of a bulk write operation. + + + + + Initializes a new instance of the class. + + The request count. + + + + Gets the number of documents that were deleted. + + + + + Gets the number of documents that were inserted. + + + + + Gets a value indicating whether the bulk write operation was acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the number of documents that were matched. + + + + + Gets the number of documents that were actually modified during an update. + + + + + Gets the request count. + + + + + Gets a list with information about each request that resulted in an upsert. + + + + + Represents the result of a bulk write operation. + + The type of the document. + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + Gets the processed requests. + + + + + Result from an acknowledged write concern. + + + + + Initializes a new instance of the class. + + The request count. + The matched count. + The deleted count. + The inserted count. + The modified count. + The processed requests. + The upserts. + + + + Gets the number of documents that were deleted. + + + + + Gets the number of documents that were inserted. + + + + + Gets a value indicating whether the bulk write operation was acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the number of documents that were matched. + + + + + Gets the number of documents that were actually modified during an update. + + + + + Gets a list with information about each request that resulted in an upsert. + + + + + Result from an unacknowledged write concern. + + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + Gets the number of documents that were deleted. + + + + + Gets the number of documents that were inserted. + + + + + Gets a value indicating whether the bulk write operation was acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the number of documents that were matched. + + + + + Gets the number of documents that were actually modified during an update. + + + + + Gets a list with information about each request that resulted in an upsert. + + + + + Represents the information about one Upsert. + + + + + Gets the id. + + + + + Gets the index. + + + + + A client side only projection that is implemented solely by deserializing using a different serializer. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The projection serializer. + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + Gets the result serializer. + + + + + Represents a registry of already created clusters. + + + + + + + MongoDB.Driver.ClusterRegistry + + + + + + + Gets the default cluster registry. + + + + + Unregisters and disposes the cluster. + + The cluster. + + + + Base class for commands. + + The type of the result. + + + + + + MongoDB.Driver.Command`1 + + + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Renders the command to a . + + The serializer registry. + A . + + + + Server connection mode. + + + + + Automatically determine how to connect. + + + + + Connect directly to a server. + + + + + Connect to a replica set. + + + + + Connect to one or more shard routers. + + + + + Connect to a standalone server. + + + + + Options for a count operation. + + + + + + + MongoDB.Driver.CountOptions + + + + + + + Gets or sets the collation. + + + + + Gets or sets the hint. + + + + + Gets or sets the limit. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the skip. + + + + + Options for creating a collection. + + + + + + + MongoDB.Driver.CreateCollectionOptions + + + + + + + Gets or sets a value indicating whether to automatically create an index on the _id. + + + + + Gets or sets a value indicating whether the collection is capped. + + + + + Gets or sets the collation. + + + + + Gets or sets the index option defaults. + + + + + Gets or sets the maximum number of documents (used with capped collections). + + + + + Gets or sets the maximum size of the collection (used with capped collections). + + + + + Gets or sets whether padding should not be used. + + + + + Gets or sets the serializer registry. + + + + + Gets or sets the storage engine options. + + + + + Gets or sets a value indicating whether to use power of 2 sizes. + + + + + Gets or sets the validation action. + + + + + Gets or sets the validation level. + + + + + Options for creating a collection. + + The type of the document. + + + + + + MongoDB.Driver.CreateCollectionOptions`1 + + + + + + + Gets or sets the document serializer. + + + + + Gets or sets the validator. + + + + + Model for creating an index. + + The type of the document. + + + + Initializes a new instance of the class. + + The keys. + The options. + + + + Gets the keys. + + + + + Gets the options. + + + + + Options for creating an index. + + + + + + + MongoDB.Driver.CreateIndexOptions + + + + + + + Gets or sets a value indicating whether to create the index in the background. + + + + + Gets or sets the precision, in bits, used with geohash indexes. + + + + + Gets or sets the size of a geohash bucket. + + + + + Gets or sets the collation. + + + + + Gets or sets the default language. + + + + + Gets or sets when documents expire (used with TTL indexes). + + + + + Gets or sets the language override. + + + + + Gets or sets the max value for 2d indexes. + + + + + Gets or sets the min value for 2d indexes. + + + + + Gets or sets the index name. + + + + + Gets or sets a value indicating whether the index is a sparse index. + + + + + Gets or sets the index version for 2dsphere indexes. + + + + + Gets or sets the storage engine options. + + + + + Gets or sets the index version for text indexes. + + + + + Gets or sets a value indicating whether the index is a unique index. + + + + + Gets or sets the version of the index. + + + + + Gets or sets the weights for text indexes. + + + + + Options for creating an index. + + The type of the document. + + + + + + MongoDB.Driver.CreateIndexOptions`1 + + + + + + + Gets or sets the partial filter expression. + + + + + Options for creating a view. + + The type of the documents. + + + + + + MongoDB.Driver.CreateViewOptions`1 + + + + + + + Gets or sets the collation. + + + + + Gets or sets the document serializer. + + + + + Gets or sets the serializer registry. + + + + + The cursor type. + + + + + A non-tailable cursor. This is sufficient for a vast majority of uses. + + + + + A tailable cursor. + + + + + A tailable cursor with a built-in server sleep. + + + + + Model for deleting many documents. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets the type of the model. + + + + + Model for deleting a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets the type of the model. + + + + + Options for the Delete methods. + + + + + + + MongoDB.Driver.DeleteOptions + + + + + + + Gets or sets the collation. + + + + + The result of a delete operation. + + + + + Initializes a new instance of the class. + + + + + Gets the deleted count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets a value indicating whether the result is acknowleded. + + + + + The result of an acknowledged delete operation. + + + + + Initializes a new instance of the class. + + The deleted count. + + + + Gets the deleted count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets a value indicating whether the result is acknowleded. + + + + + The result of an unacknowledged delete operation. + + + + + Gets the deleted count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the instance. + + + + + Gets a value indicating whether the result is acknowleded. + + + + + Options for the distinct command. + + + + + + + MongoDB.Driver.DistinctOptions + + + + + + + Gets or sets the collation. + + + + + Gets or sets the maximum time. + + + + + Represents an empty pipeline. + + The type of the input documents. + + + + Initializes a new instance of the class. + + The output serializer. + + + + Gets the output serializer. + + + + + Renders the pipeline. + + The input serializer. + The serializer registry. + A + + + + Gets the stages. + + + + + A based aggregate expression. + + The type of the source. + The type of the result. + + + + Initializes a new instance of the class. + + The expression. + The translation options. + + + + Renders the aggregation expression. + + The source serializer. + The serializer registry. + The rendered aggregation expression. + + + + An based field. + + The type of the document. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + Renders the field to a . + + The document serializer. + The serializer registry. + A . + + + + An based field. + + The type of the document. + The type of the field. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + Renders the field to a . + + The document serializer. + The serializer registry. + A . + + + + An based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + Renders the filter to a . + + The document serializer. + The serializer registry. + A . + + + + Options for controlling translation from .NET expression trees into MongoDB expressions. + + + + + + + MongoDB.Driver.ExpressionTranslationOptions + + + + + + + Gets or sets the string translation mode. + + + + + Evidence of a MongoIdentity via an external mechanism. For example, on windows this may + be the current process' user or, on linux, via kinit. + + + + + Initializes a new instance of the class. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Base class for field names. + + The type of the document. + + + + + + MongoDB.Driver.FieldDefinition`1 + + + + + + + Performs an implicit conversion from to . + + Name of the field. + + The result of the conversion. + + + + + Renders the field to a . + + The document serializer. + The serializer registry. + A . + + + + Base class for field names. + + The type of the document. + The type of the field. + + + + + + MongoDB.Driver.FieldDefinition`2 + + + + + + + Performs an implicit conversion from to . + + The field. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + Name of the field. + + The result of the conversion. + + + + + Renders the field to a . + + The document serializer. + The serializer registry. + A . + + + + Base class for filters. + + The type of the document. + + + + + + MongoDB.Driver.FilterDefinition`1 + + + + + + + Gets an empty filter. An empty filter matches everything. + + + + + Implements the operator &. + + The LHS. + The RHS. + + The result of the operator. + + + + + Implements the operator |. + + The LHS. + The RHS. + + The result of the operator. + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from a predicate expression to . + + The predicate. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Implements the operator !. + + The op. + + The result of the operator. + + + + + Renders the filter to a . + + The document serializer. + The serializer registry. + A . + + + + A builder for a . + + The type of the document. + + + + + + MongoDB.Driver.FilterDefinitionBuilder`1 + + + + + + + Creates an all filter for an array field. + + The field. + The values. + The type of the item. + An all filter. + + + + Creates an all filter for an array field. + + The field. + The values. + The type of the item. + An all filter. + + + + Creates an and filter. + + The filters. + A filter. + + + + Creates an and filter. + + The filters. + An and filter. + + + + Creates an equality filter for an array field. + + The field. + The value. + The type of the item. + An equality filter. + + + + Creates an equality filter for an array field. + + The field. + The value. + The type of the item. + An equality filter. + + + + Creates a greater than filter for an array field. + + The field. + The value. + The type of the item. + A greater than filter. + + + + Creates a greater than filter for an array field. + + The field. + The value. + The type of the item. + A greater than filter. + + + + Creates a greater than or equal filter for an array field. + + The field. + The value. + The type of the item. + A greater than or equal filter. + + + + Creates a greater than or equal filter for an array field. + + The field. + The value. + The type of the item. + A greater than or equal filter. + + + + Creates an in filter for an array field. + + The field. + The values. + The type of the item. + An in filter. + + + + Creates an in filter for an array field. + + The field. + The values. + The type of the item. + An in filter. + + + + Creates a less than filter for an array field. + + The field. + The value. + The type of the item. + A less than filter. + + + + Creates a less than filter for an array field. + + The field. + The value. + The type of the item. + A less than filter. + + + + Creates a less than or equal filter for an array field. + + The field. + The value. + The type of the item. + A less than or equal filter. + + + + Creates a less than or equal filter for an array field. + + The field. + The value. + The type of the item. + A less than or equal filter. + + + + Creates a not equal filter for an array field. + + The field. + The value. + The type of the item. + A not equal filter. + + + + Creates a not equal filter for an array field. + + The field. + The value. + The type of the item. + A not equal filter. + + + + Creates a not in filter for an array field. + + The field. + The values. + The type of the item. + A not in filter. + + + + Creates a not in filter for an array field. + + The field. + The values. + The type of the item. + A not in filter. + + + + Creates a bits all clear filter. + + The field. + The bitmask. + A bits all clear filter. + + + + Creates a bits all clear filter. + + The field. + The bitmask. + A bits all clear filter. + + + + Creates a bits all set filter. + + The field. + The bitmask. + A bits all set filter. + + + + Creates a bits all set filter. + + The field. + The bitmask. + A bits all set filter. + + + + Creates a bits any clear filter. + + The field. + The bitmask. + A bits any clear filter. + + + + Creates a bits any clear filter. + + The field. + The bitmask. + A bits any clear filter. + + + + Creates a bits any set filter. + + The field. + The bitmask. + A bits any set filter. + + + + Creates a bits any set filter. + + The field. + The bitmask. + A bits any set filter. + + + + Creates an element match filter for an array field. + + The field. + The filter. + The type of the item. + An element match filter. + + + + Creates an element match filter for an array field. + + The field. + The filter. + The type of the item. + An element match filter. + + + + Creates an element match filter for an array field. + + The field. + The filter. + The type of the item. + An element match filter. + + + + Gets an empty filter. An empty filter matches everything. + + + + + Creates an equality filter. + + The field. + The value. + The type of the field. + An equality filter. + + + + Creates an equality filter. + + The field. + The value. + The type of the field. + An equality filter. + + + + Creates an exists filter. + + The field. + if set to true [exists]. + An exists filter. + + + + Creates an exists filter. + + The field. + if set to true [exists]. + An exists filter. + + + + Creates a geo intersects filter. + + The field. + The geometry. + The type of the coordinates. + A geo intersects filter. + + + + Creates a geo intersects filter. + + The field. + The geometry. + The type of the coordinates. + A geo intersects filter. + + + + Creates a geo within filter. + + The field. + The geometry. + The type of the coordinates. + A geo within filter. + + + + Creates a geo within filter. + + The field. + The geometry. + The type of the coordinates. + A geo within filter. + + + + Creates a geo within box filter. + + The field. + The lower left x. + The lower left y. + The upper right x. + The upper right y. + A geo within box filter. + + + + Creates a geo within box filter. + + The field. + The lower left x. + The lower left y. + The upper right x. + The upper right y. + A geo within box filter. + + + + Creates a geo within center filter. + + The field. + The x. + The y. + The radius. + A geo within center filter. + + + + Creates a geo within center filter. + + The field. + The x. + The y. + The radius. + A geo within center filter. + + + + Creates a geo within center sphere filter. + + The field. + The x. + The y. + The radius. + A geo within center sphere filter. + + + + Creates a geo within center sphere filter. + + The field. + The x. + The y. + The radius. + A geo within center sphere filter. + + + + Creates a geo within polygon filter. + + The field. + The points. + A geo within polygon filter. + + + + Creates a geo within polygon filter. + + The field. + The points. + A geo within polygon filter. + + + + Creates a greater than filter for a UInt32 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for a UInt64 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter. + + The field. + The value. + The type of the field. + A greater than filter. + + + + Creates a greater than filter for a UInt32 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for a UInt64 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter. + + The field. + The value. + The type of the field. + A greater than filter. + + + + Creates a greater than or equal filter for a UInt32 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt64 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter. + + The field. + The value. + The type of the field. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt32 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt64 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter. + + The field. + The value. + The type of the field. + A greater than or equal filter. + + + + Creates an in filter. + + The field. + The values. + The type of the field. + An in filter. + + + + Creates an in filter. + + The field. + The values. + The type of the field. + An in filter. + + + + Creates a less than filter for a UInt32 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter for a UInt64 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter. + + The field. + The value. + The type of the field. + A less than filter. + + + + Creates a less than filter for a UInt32 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter for a UInt64 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter. + + The field. + The value. + The type of the field. + A less than filter. + + + + Creates a less than or equal filter for a UInt32 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt64 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter. + + The field. + The value. + The type of the field. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt32 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt64 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter. + + The field. + The value. + The type of the field. + A less than or equal filter. + + + + Creates a modulo filter. + + The field. + The modulus. + The remainder. + A modulo filter. + + + + Creates a modulo filter. + + The field. + The modulus. + The remainder. + A modulo filter. + + + + Creates a not equal filter. + + The field. + The value. + The type of the field. + A not equal filter. + + + + Creates a not equal filter. + + The field. + The value. + The type of the field. + A not equal filter. + + + + Creates a near filter. + + The field. + The geometry. + The maximum distance. + The minimum distance. + The type of the coordinates. + A near filter. + + + + Creates a near filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near filter. + + The field. + The geometry. + The maximum distance. + The minimum distance. + The type of the coordinates. + A near filter. + + + + Creates a near filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near sphere filter. + + The field. + The geometry. + The maximum distance. + The minimum distance. + The type of the coordinates. + A near sphere filter. + + + + Creates a near sphere filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a near sphere filter. + + The field. + The geometry. + The maximum distance. + The minimum distance. + The type of the coordinates. + A near sphere filter. + + + + Creates a near sphere filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a not in filter. + + The field. + The values. + The type of the field. + A not in filter. + + + + Creates a not in filter. + + The field. + The values. + The type of the field. + A not in filter. + + + + Creates a not filter. + + The filter. + A not filter. + + + + Creates an OfType filter that matches documents of a derived type. + + The type of the matching derived documents. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived typer. + + The field. + The type of the field. + The type of the matching derived field value. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type and that also match a filter on the derived field. + + The field. + A filter on the derived field. + The type of the field. + The type of the matching derived field value. + An OfType filter. + + + + Creates an OfType filter that matches documents of a derived type and that also match a filter on the derived document. + + A filter on the derived document. + The type of the matching derived documents. + An OfType filter. + + + + Creates an OfType filter that matches documents of a derived type and that also match a filter on the derived document. + + A filter on the derived document. + The type of the matching derived documents. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type. + + The field. + The type of the field. + The type of the matching derived field value. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type and that also match a filter on the derived field. + + The field. + A filter on the derived field. + The type of the field. + The type of the matching derived field value. + An OfType filter. + + + + Creates an or filter. + + The filters. + An or filter. + + + + Creates an or filter. + + The filters. + An or filter. + + + + Creates a regular expression filter. + + The field. + The regex. + A regular expression filter. + + + + Creates a regular expression filter. + + The field. + The regex. + A regular expression filter. + + + + Creates a size filter. + + The field. + The size. + A size filter. + + + + Creates a size filter. + + The field. + The size. + A size filter. + + + + Creates a size greater than filter. + + The field. + The size. + A size greater than filter. + + + + Creates a size greater than filter. + + The field. + The size. + A size greater than filter. + + + + Creates a size greater than or equal filter. + + The field. + The size. + A size greater than or equal filter. + + + + Creates a size greater than or equal filter. + + The field. + The size. + A size greater than or equal filter. + + + + Creates a size less than filter. + + The field. + The size. + A size less than filter. + + + + Creates a size less than filter. + + The field. + The size. + A size less than filter. + + + + Creates a size less than or equal filter. + + The field. + The size. + A size less than or equal filter. + + + + Creates a size less than or equal filter. + + The field. + The size. + A size less than or equal filter. + + + + Creates a text filter. + + The search. + The text search options. + A text filter. + + + + Creates a text filter. + + The search. + The language. + A text filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a filter based on the expression. + + The expression. + An expression filter. + + + + A find based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + Base class for implementors of . + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + + + MongoDB.Driver.FindFluentBase`2 + + + + + + + A simplified type of projection that changes the result type by using a different serializer. + + The result serializer. + The type of the result. + The fluent find interface. + + + + Counts the number of documents. + + The cancellation token. + The count. + + + + Counts the number of documents. + + The cancellation token. + A Task whose result is the count. + + + + Gets or sets the filter. + + + + + Limits the number of documents. + + The limit. + The fluent find interface. + + + + Gets the options. + + + + + Projects the the result. + + The projection. + The type of the projection. + The fluent find interface. + + + + Skips the the specified number of documents. + + The skip. + The fluent find interface. + + + + Sorts the the documents. + + The sort. + The fluent find interface. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A cursor. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A Task whose result is a cursor. + + + + Options for a findAndModify command to delete an object. + + The type of the document and the result. + + + + + + MongoDB.Driver.FindOneAndDeleteOptions`1 + + + + + + + Options for a findAndModify command to delete an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + + + MongoDB.Driver.FindOneAndDeleteOptions`2 + + + + + + + Gets or sets the collation. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets the sort. + + + + + Options for a findAndModify command to replace an object. + + The type of the document and the result. + + + + + + MongoDB.Driver.FindOneAndReplaceOptions`1 + + + + + + + Options for a findAndModify command to replace an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets which version of the document to return. + + + + + Gets or sets the sort. + + + + + Options for a findAndModify command to update an object. + + The type of the document and the result. + + + + + + MongoDB.Driver.FindOneAndUpdateOptions`1 + + + + + + + Options for a findAndModify command to update an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets which version of the document to return. + + + + + Gets or sets the sort. + + + + + Options for finding documents. + + + + + + + MongoDB.Driver.FindOptions + + + + + + + Options for finding documents. + + The type of the document and the result. + + + + + + MongoDB.Driver.FindOptions`1 + + + + + + + Options for finding documents. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + + + MongoDB.Driver.FindOptions`2 + + + + + + + Gets or sets how many documents to return. + + + + + Gets or sets the projection. + + + + + Gets or sets how many documents to skip before returning the rest. + + + + + Gets or sets the sort. + + + + + Options for a find operation. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to allow partial results when some shards are unavailable. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the type of the cursor. + + + + + Gets or sets the maximum await time for TailableAwait cursors. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the modifiers. + + + + + Gets or sets whether a cursor will time out. + + + + + Gets or sets whether the OplogReplay bit will be set. + + + + + Fluent interface for aggregate. + + The type of the result of the pipeline. + + + + Appends the stage to the pipeline. + + The stage. + The type of the result of the stage. + The fluent aggregate interface. + + + + Changes the result type of the pipeline. + + The new result serializer. + The type of the new result. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline. + + The expression providing the value to group by. + The bucket boundaries. + The options. + The type of the value. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline with a custom projection. + + The expression providing the value to group by. + The bucket boundaries. + The output projection. + The options. + The type of the value. + The type of the new result. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline. + + The expression providing the value to group by. + The number of buckets. + The options (optional). + The type of the value. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline with a custom projection. + + The expression providing the value to group by. + The number of buckets. + The output projection. + The options (optional). + The type of the value. + The type of the new result. + The fluent aggregate interface. + + + + Appends a count stage to the pipeline. + + The fluent aggregate interface. + + + + Gets the database. + + + + + Appends a $facet stage to the pipeline. + + The facets. + The options. + The type of the new result. + + The fluent aggregate interface. + + + + + Appends a $graphLookup stage to the pipeline. + + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The fluent aggregate interface. + + + + Appends a group stage to the pipeline. + + The group projection. + The type of the result of the stage. + The fluent aggregate interface. + + + + Appends a limit stage to the pipeline. + + The limit. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + Name of the other collection. + The local field. + The foreign field. + The field in to place the foreign results. + The options. + The type of the foreign document. + The type of the new result. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline. + + The filter. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline that matches derived documents and changes the result type to the derived type. + + The new result serializer. + The type of the derived documents. + The fluent aggregate interface. + + + + Gets the options. + + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The cancellation token. + A cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The cancellation token. + A Task whose result is a cursor. + + + + Appends a project stage to the pipeline. + + The projection. + The type of the result of the stage. + + The fluent aggregate interface. + + + + + Appends a $replaceRoot stage to the pipeline. + + The new root. + The type of the new result. + The fluent aggregate interface. + + + + Appends a skip stage to the pipeline. + + The number of documents to skip. + The fluent aggregate interface. + + + + Appends a sort stage to the pipeline. + + The sort specification. + The fluent aggregate interface. + + + + Appends a sortByCount stage to the pipeline. + + The identifier. + The type of the identifier. + The fluent aggregate interface. + + + + Gets the stages. + + + + + Appends an unwind stage to the pipeline. + + The field. + The new result serializer. + The type of the result of the stage. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The field. + The options. + The type of the new result. + The fluent aggregate interface. + + + + Extension methods for + + + + Appends a $bucket stage to the pipeline. + + The aggregate. + The expression providing the value to group by. + The bucket boundaries. + The options. + The type of the result. + The type of the value. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline. + + The aggregate. + The expression providing the value to group by. + The bucket boundaries. + The output projection. + The options. + The type of the result. + The type of the value. + The type of the new result. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline. + + The aggregate. + The expression providing the value to group by. + The number of buckets. + The options (optional). + The type of the result. + The type of the value. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline. + + The aggregate. + The expression providing the value to group by. + The number of buckets. + The output projection. + The options (optional). + The type of the result. + The type of the value. + The type of the new result. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The aggregate. + The facets. + The type of the result. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The aggregate. + The facets. + The type of the result. + The type of the new result. + + The fluent aggregate interface. + + + + + Appends a $facet stage to the pipeline. + + The aggregate. + The facets. + The type of the result. + The fluent aggregate interface. + + + + Returns the first document of the aggregate result. + + The aggregate. + The cancellation token. + The type of the result. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result. + + The aggregate. + The cancellation token. + The type of the result. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result, or the default value if the result set is empty. + + The aggregate. + The cancellation token. + The type of the result. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result, or the default value if the result set is empty. + + The aggregate. + The cancellation token. + The type of the result. + + The fluent aggregate interface. + + + + + Appends a $graphLookup stage to the pipeline. + + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The type of the result. + The type of the from documents. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The type of the result. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The type of the result. + The type of the new result (must be same as TResult with an additional as field). + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The type of the result. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The fluent aggregate interface. + + + + Appends a group stage to the pipeline. + + The aggregate. + The group projection. + The type of the result. + + The fluent aggregate interface. + + + + + Appends a group stage to the pipeline. + + The aggregate. + The id. + The group projection. + The type of the result. + The type of the key. + The type of the new result. + + The fluent aggregate interface. + + + + + Appends a lookup stage to the pipeline. + + The aggregate. + The foreign collection. + The local field. + The foreign field. + The field in the result to place the foreign matches. + The options. + The type of the result. + The type of the foreign collection. + The type of the new result. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The aggregate. + Name of the foreign collection. + The local field. + The foreign field. + The field in the result to place the foreign matches. + The type of the result. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline. + + The aggregate. + The filter. + The type of the result. + + The fluent aggregate interface. + + + + + Appends a project stage to the pipeline. + + The aggregate. + The projection. + The type of the result. + + The fluent aggregate interface. + + + + + Appends a project stage to the pipeline. + + The aggregate. + The projection. + The type of the result. + The type of the new result. + + The fluent aggregate interface. + + + + + Appends a $replaceRoot stage to the pipeline. + + The aggregate. + The new root. + The type of the result. + The type of the new result. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result. Throws an exception if the result set does not contain exactly one document. + + The aggregate. + The cancellation token. + The type of the result. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result. Throws an exception if the result set does not contain exactly one document. + + The aggregate. + The cancellation token. + The type of the result. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result, or the default value if the result set is empty. Throws an exception if the result set contains more than one document. + + The aggregate. + The cancellation token. + The type of the result. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result, or the default value if the result set is empty. Throws an exception if the result set contains more than one document. + + The aggregate. + The cancellation token. + The type of the result. + + The fluent aggregate interface. + + + + + Appends an ascending sort stage to the pipeline. + + The aggregate. + The field to sort by. + The type of the result. + + The fluent aggregate interface. + + + + + Appends a sortByCount stage to the pipeline. + + The aggregate. + The id. + The type of the result. + The type of the key. + + The fluent aggregate interface. + + + + + Appends a descending sort stage to the pipeline. + + The aggregate. + The field to sort by. + The type of the result. + + The fluent aggregate interface. + + + + + Modifies the current sort stage by appending an ascending field specification to it. + + The aggregate. + The field to sort by. + The type of the result. + + The fluent aggregate interface. + + + + + Modifies the current sort stage by appending a descending field specification to it. + + The aggregate. + The field to sort by. + The type of the result. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The aggregate. + The field to unwind. + The type of the result. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The aggregate. + The field to unwind. + The type of the result. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The aggregate. + The field to unwind. + The new result serializer. + The type of the result. + The type of the new result. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The aggregate. + The field to unwind. + The options. + The type of the result. + The type of the new result. + + The fluent aggregate interface. + + + + + A filtered mongo collection. The filter will be and'ed with all filters. + + The type of the document. + + + + Gets the filter. + + + + + Fluent interface for find. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + A simplified type of projection that changes the result type by using a different serializer. + + The result serializer. + The type of the result. + The fluent find interface. + + + + Counts the number of documents. + + The cancellation token. + The count. + + + + Counts the number of documents. + + The cancellation token. + A Task whose result is the count. + + + + Gets or sets the filter. + + + + + Limits the number of documents. + + The limit. + The fluent find interface. + + + + Gets the options. + + + + + Projects the the result. + + The projection. + The type of the projection. + The fluent find interface. + + + + Skips the the specified number of documents. + + The skip. + The fluent find interface. + + + + Sorts the the documents. + + The sort. + The fluent find interface. + + + + Extension methods for + + + + Get the first result. + + The fluent find. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is the first result. + + + + Get the first result. + + The fluent find. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is the first result. + + + + Get the first result or null. + + The fluent find. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is the first result or null. + + + + Get the first result or null. + + The fluent find. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is the first result or null. + + + + Projects the result. + + The fluent find. + The projection. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find interface. + + + + Projects the result. + + The fluent find. + The projection. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The type of the new projection. + The fluent find interface. + + + + Gets a single result. + + The fluent find. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is the single result. + + + + Gets a single result. + + The fluent find. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is the single result. + + + + Gets a single result or null. + + The fluent find. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is the single result or null. + + + + Gets a single result or null. + + The fluent find. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is the single result or null. + + + + Sorts the results by an ascending field. + + The fluent find. + The field. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find interface. + + + + Sorts the results by a descending field. + + The fluent find. + The field. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find interface. + + + + Adds an ascending field to the existing sort. + + The fluent find. + The field. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find interface. + + + + Adds a descending field to the existing sort. + + The fluent find. + The field. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find interface. + + + + The client interface to MongoDB. + + + + + Gets the cluster. + + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + A task. + + + + Gets a database. + + The name of the database. + The database settings. + An implementation of a database. + + + + Lists the databases on the server. + + The cancellation token. + A cursor. + + + + Lists the databases on the server. + + The cancellation token. + A Task whose result is a cursor. + + + + Gets the settings. + + + + + Returns a new IMongoClient instance with a different read concern setting. + + The read concern. + A new IMongoClient instance with a different read concern setting. + + + + Returns a new IMongoClient instance with a different read preference setting. + + The read preference. + A new IMongoClient instance with a different read preference setting. + + + + Returns a new IMongoClient instance with a different write concern setting. + + The write concern. + A new IMongoClient instance with a different write concern setting. + + + + Represents a typed collection in MongoDB. + + The type of the documents stored in the collection. + + + + Runs an aggregation pipeline. + + The pipeline. + The options. + The cancellation token. + The type of the result. + A cursor. + + + + Runs an aggregation pipeline. + + The pipeline. + The options. + The cancellation token. + The type of the result. + A Task whose result is a cursor. + + + + Performs multiple write operations. + + The requests. + The options. + The cancellation token. + The result of writing. + + + + Performs multiple write operations. + + The requests. + The options. + The cancellation token. + The result of writing. + + + + Gets the namespace of the collection. + + + + + Counts the number of documents in the collection. + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Gets the database. + + + + + Deletes multiple documents. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Gets the distinct values for a specified field. + + The field. + The filter. + The options. + The cancellation token. + The type of the result. + A cursor. + + + + Gets the distinct values for a specified field. + + The field. + The filter. + The options. + The cancellation token. + The type of the result. + A Task whose result is a cursor. + + + + Gets the document serializer. + + + + + Finds the documents matching the filter. + + The filter. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is a cursor. + + + + Finds a single document and deletes it atomically. + + The filter. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The filter. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The filter. + The replacement. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The filter. + The replacement. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and updates it atomically. + + The filter. + The update. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and updates it atomically. + + The filter. + The update. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds the documents matching the filter. + + The filter. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + A cursor. + + + + Gets the index manager. + + + + + Inserts many documents. + + The documents. + The options. + The cancellation token. + + + + Inserts many documents. + + The documents. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts a single document. + + The document. + The options. + The cancellation token. + + + + Inserts a single document. + + The document. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts a single document. + + The document. + The cancellation token. + + The result of the insert operation. + + + + + Executes a map-reduce command. + + The map function. + The reduce function. + The options. + The cancellation token. + The type of the result. + A cursor. + + + + Executes a map-reduce command. + + The map function. + The reduce function. + The options. + The cancellation token. + The type of the result. + A Task whose result is a cursor. + + + + Returns a filtered collection that appears to contain only documents of the derived type. + All operations using this filtered collection will automatically use discriminators as necessary. + + The type of the derived document. + A filtered collection. + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Gets the settings. + + + + + Updates many documents. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Returns a new IMongoCollection instance with a different read concern setting. + + The read concern. + A new IMongoCollection instance with a different read concern setting. + + + + Returns a new IMongoCollection instance with a different read preference setting. + + The read preference. + A new IMongoCollection instance with a different read preference setting. + + + + Returns a new IMongoCollection instance with a different write concern setting. + + The write concern. + A new IMongoCollection instance with a different write concern setting. + + + + Extension methods for . + + + + + Begins a fluent aggregation interface. + + The collection. + The options. + The type of the document. + + A fluent aggregate interface. + + + + + Creates a queryable source of documents. + + The collection. + The aggregate options + The type of the document. + A queryable source of documents. + + + + Counts the number of documents in the collection. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The number of documents in the collection. + + + + + Deletes multiple documents. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The collection. + The filter. + The cancellation token. + The type of the document. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The collection. + The filter. + The cancellation token. + The type of the document. + + The result of the delete operation. + + + + + Deletes a single document. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The result of the delete operation. + + + + + Deletes a single document. + + The collection. + The filter. + The cancellation token. + The type of the document. + + The result of the delete operation. + + + + + Deletes a single document. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The result of the delete operation. + + + + + Deletes a single document. + + The collection. + The filter. + The cancellation token. + The type of the document. + + The result of the delete operation. + + + + + Gets the distinct values for a specified field. + + The collection. + The field. + The filter. + The options. + The cancellation token. + The type of the document. + The type of the result. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The collection. + The field. + The filter. + The options. + The cancellation token. + The type of the document. + The type of the result. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The collection. + The field. + The filter. + The options. + The cancellation token. + The type of the document. + The type of the result. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The collection. + The field. + The filter. + The options. + The cancellation token. + The type of the document. + The type of the result. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The collection. + The field. + The filter. + The options. + The cancellation token. + The type of the document. + The type of the result. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The collection. + The field. + The filter. + The options. + The cancellation token. + The type of the document. + The type of the result. + + The distinct values for the specified field. + + + + + Begins a fluent find interface. + + The collection. + The filter. + The options. + The type of the document. + + A fluent find interface. + + + + + Begins a fluent find interface. + + The collection. + The filter. + The options. + The type of the document. + + A fluent interface. + + + + + Finds the documents matching the filter. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + A Task whose result is a cursor. + + + + Finds a single document and deletes it atomically. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The collection. + The filter. + The replacement. + The options. + The cancellation token. + The type of the document. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The collection. + The filter. + The replacement. + The options. + The cancellation token. + The type of the document. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The collection. + The filter. + The replacement. + The options. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The collection. + The filter. + The replacement. + The options. + The cancellation token. + The type of the document. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The collection. + The filter. + The replacement. + The options. + The cancellation token. + The type of the document. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The collection. + The filter. + The replacement. + The options. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and updates it atomically. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and updates it atomically. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds the documents matching the filter. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The collection. + The filter. + The options. + The cancellation token. + The type of the document. + A Task whose result is a cursor. + + + + Replaces a single document. + + The collection. + The filter. + The replacement. + The options. + The cancellation token. + The type of the document. + + The result of the replacement. + + + + + Replaces a single document. + + The collection. + The filter. + The replacement. + The options. + The cancellation token. + The type of the document. + + The result of the replacement. + + + + + Updates many documents. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + + The result of the update operation. + + + + + Updates many documents. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + + The result of the update operation. + + + + + Updates a single document. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + + The result of the update operation. + + + + + Updates a single document. + + The collection. + The filter. + The update. + The options. + The cancellation token. + The type of the document. + + The result of the update operation. + + + + + Representats a database in MongoDB. + + + + + Gets the client. + + + + + Creates the collection with the specified name. + + The name. + The options. + The cancellation token. + + + + Creates the collection with the specified name. + + The name. + The options. + The cancellation token. + A task. + + + + Creates a view. + + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + The type of the input documents. + The type of the pipeline result documents. + + + + Creates a view. + + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + The type of the input documents. + The type of the pipeline result documents. + A task. + + + + Gets the namespace of the database. + + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The cancellation token. + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The cancellation token. + A task. + + + + Gets a collection. + + The name of the collection. + The settings. + The document type. + An implementation of a collection. + + + + Lists all the collections on the server. + + The options. + The cancellation token. + A cursor. + + + + Lists all the collections on the server. + + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Renames the collection. + + The old name. + The new name. + The options. + The cancellation token. + + + + Renames the collection. + + The old name. + The new name. + The options. + The cancellation token. + A task. + + + + Runs a command. + + The command. + The read preference. + The cancellation token. + The result type of the command. + + The result of the command. + + + + + Runs a command. + + The command. + The read preference. + The cancellation token. + The result type of the command. + + The result of the command. + + + + + Gets the settings. + + + + + Returns a new IMongoDatabase instance with a different read concern setting. + + The read concern. + A new IMongoDatabase instance with a different read concern setting. + + + + Returns a new IMongoDatabase instance with a different read preference setting. + + The read preference. + A new IMongoDatabase instance with a different read preference setting. + + + + Returns a new IMongoDatabase instance with a different write concern setting. + + The write concern. + A new IMongoDatabase instance with a different write concern setting. + + + + An interface representing methods used to create, delete and modify indexes. + + The type of the document. + + + + Gets the namespace of the collection. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + A task whose result is an of the names of the indexes that were created. + + + + + Creates an index. + + The keys. + The options. + The cancellation token. + + The name of the index that was created. + + + + + Creates an index. + + The keys. + The options. + The cancellation token. + + A task whose result is the name of the index that was created. + + + + + Gets the document serializer. + + + + + Drops all the indexes. + + The cancellation token. + + + + Drops all the indexes. + + The cancellation token. + A task. + + + + Drops an index by its name. + + The name. + The cancellation token. + + + + Drops an index by its name. + + The name. + The cancellation token. + A task. + + + + Lists the indexes. + + The cancellation token. + A cursor. + + + + Lists the indexes. + + The cancellation token. + A Task whose result is a cursor. + + + + Gets the collection settings. + + + + + Base class for an index keys definition. + + The type of the document. + + + + + + MongoDB.Driver.IndexKeysDefinition`1 + + + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Renders the index keys definition to a . + + The document serializer. + The serializer registry. + A . + + + + A builder for an . + + The type of the document. + + + + + + MongoDB.Driver.IndexKeysDefinitionBuilder`1 + + + + + + + Creates an ascending index key definition. + + The field. + An ascending index key definition. + + + + Creates an ascending index key definition. + + The field. + An ascending index key definition. + + + + Creates a combined index keys definition. + + The keys. + A combined index keys definition. + + + + Creates a combined index keys definition. + + The keys. + A combined index keys definition. + + + + Creates a descending index key definition. + + The field. + A descending index key definition. + + + + Creates a descending index key definition. + + The field. + A descending index key definition. + + + + Creates a 2d index key definition. + + The field. + A 2d index key definition. + + + + Creates a 2d index key definition. + + The field. + A 2d index key definition. + + + + Creates a 2dsphere index key definition. + + The field. + A 2dsphere index key definition. + + + + Creates a 2dsphere index key definition. + + The field. + A 2dsphere index key definition. + + + + Creates a geo haystack index key definition. + + The field. + Name of the additional field. + + A geo haystack index key definition. + + + + + Creates a geo haystack index key definition. + + The field. + Name of the additional field. + + A geo haystack index key definition. + + + + + Creates a hashed index key definition. + + The field. + A hashed index key definition. + + + + Creates a hashed index key definition. + + The field. + A hashed index key definition. + + + + Creates a text index key definition. + + The field. + A text index key definition. + + + + Creates a text index key definition. + + The field. + A text index key definition. + + + + Extension methods for an index keys definition. + + + + + Combines an existing index keys definition with an ascending index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with an ascending index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a descending index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a descending index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2d index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2d index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2dsphere index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2dsphere index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a geo haystack index key definition. + + The keys. + The field. + Name of the additional field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a geo haystack index key definition. + + The keys. + The field. + Name of the additional field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a hashed index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a hashed index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a text index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a text index key definition. + + The keys. + The field. + The type of the document. + + A combined index keys definition. + + + + + Represents index option defaults. + + + + + + + MongoDB.Driver.IndexOptionDefaults + + + + + + + Gets or sets the storage engine options. + + + + + Options for inserting many documents. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets a value indicating whether the requests are fulfilled in order. + + + + + Model for inserting a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + Gets the type of the model. + + + + + Options for inserting one document. + + + + + + + MongoDB.Driver.InsertOneOptions + + + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Fluent interface for aggregate. + + The type of the result. + + + + Combines the current sort definition with an additional sort definition. + + The new sort. + The fluent aggregate interface. + + + + Fluent interface for find. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + A pipeline stage. + + + + + Gets the type of the input. + + + + + Gets the name of the pipeline operator. + + + + + Gets the type of the output. + + + + + Renders the specified document serializer. + + The input serializer. + The serializer registry. + An + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + A rendered pipeline stage. + + + + + Gets the document. + + + + + Gets the name of the pipeline operator. + + + + + Gets the output serializer. + + + + + A JSON based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The json. + The result serializer. + + + + Gets the json. + + + + + Renders the command to a . + + The serializer registry. + A . + + + + Gets the result serializer. + + + + + A JSON based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + Renders the filter to a . + + The document serializer. + The serializer registry. + A . + + + + A JSON based index keys definition. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + Renders the index keys definition to a . + + The document serializer. + The serializer registry. + A . + + + + A JSON based pipeline stage. + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The json. + The output serializer. + + + + Gets the json. + + + + + Gets the name of the pipeline operator. + + + + + Gets the output serializer. + + + + + Renders the specified document serializer. + + The input serializer. + The serializer registry. + A + + + + A JSON based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + A JSON based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The json. + The projection serializer. + + + + Gets the json. + + + + + Gets the projection serializer. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + A JSON based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + Renders the sort to a . + + The document serializer. + The serializer registry. + A . + + + + A JSON based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + Renders the update to a . + + The document serializer. + The serializer registry. + A . + + + + Options for a list collections operation. + + + + + + + MongoDB.Driver.ListCollectionsOptions + + + + + + + Gets or sets the filter. + + + + + Represents the options for a map-reduce operation. + + The type of the document. + The type of the result. + + + + + + MongoDB.Driver.MapReduceOptions`2 + + + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the filter. + + + + + Gets or sets the finalize function. + + + + + Gets or sets the java script mode. + + + + + Gets or sets the limit. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the output options. + + + + + Gets or sets the result serializer. + + + + + Gets or sets the scope. + + + + + Gets or sets the sort. + + + + + Gets or sets whether to include timing information. + + + + + Represents the output options for a map-reduce operation. + + + + + An inline map-reduce output options. + + + + + A merge map-reduce output options. + + The name of the collection. + The name of the database. + Whether the output collection should be sharded. + Whether the server should not lock the database for the duration of the merge. + A merge map-reduce output options. + + + + A reduce map-reduce output options. + + The name of the collection. + The name of the database. + Whether the output collection should be sharded. + Whether the server should not lock the database for the duration of the reduce. + A reduce map-reduce output options. + + + + A replace map-reduce output options. + + The name of the collection. + Name of the database. + Whether the output collection should be sharded. + A replace map-reduce output options. + + + + Represents a bulk write exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The write errors. + The write concern error. + + + + Initializes a new instance of the MongoQueryException class (this overload supports deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Gets the object data. + + The information. + The context. + + + + Gets the write concern error. + + + + + Gets the write errors. + + + + + Represents a bulk write exception. + + The type of the document. + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + The write errors. + The write concern error. + The unprocessed requests. + + + + Initializes a new instance of the MongoQueryException class (this overload supports deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Gets the object data. + + The information. + The context. + + + + Gets the result of the bulk write operation. + + + + + Gets the unprocessed requests. + + + + + Base class for implementors of . + + + + + Initializes a new instance of the MongoClient class. + + + + + Initializes a new instance of the MongoClient class. + + The settings. + + + + Initializes a new instance of the MongoClient class. + + The URL. + + + + Initializes a new instance of the MongoClient class. + + The connection string. + + + + Gets the cluster. + + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + A task. + + + + Gets a database. + + The name of the database. + The database settings. + An implementation of a database. + + + + Lists the databases on the server. + + The cancellation token. + A cursor. + + + + Lists the databases on the server. + + The cancellation token. + A Task whose result is a cursor. + + + + Gets the settings. + + + + + Returns a new IMongoClient instance with a different read concern setting. + + The read concern. + A new IMongoClient instance with a different read concern setting. + + + + Returns a new IMongoClient instance with a different read preference setting. + + The read preference. + A new IMongoClient instance with a different read preference setting. + + + + Returns a new IMongoClient instance with a different write concern setting. + + The write concern. + A new IMongoClient instance with a different write concern setting. + + + + Base class for implementors of . + + + + + + + MongoDB.Driver.MongoClientBase + + + + + + + Gets the cluster. + + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + A task. + + + + Gets a database. + + The name of the database. + The database settings. + An implementation of a database. + + + + Lists the databases on the server. + + The cancellation token. + A cursor. + + + + Lists the databases on the server. + + The cancellation token. + A Task whose result is a cursor. + + + + Gets the settings. + + + + + Returns a new IMongoClient instance with a different read concern setting. + + The read concern. + A new IMongoClient instance with a different read concern setting. + + + + Returns a new IMongoClient instance with a different read preference setting. + + The read preference. + A new IMongoClient instance with a different read preference setting. + + + + Returns a new IMongoClient instance with a different write concern setting. + + The write concern. + A new IMongoClient instance with a different write concern setting. + + + + The settings for a MongoDB client. + + + + + Creates a new instance of MongoClientSettings. Usually you would use a connection string instead. + + + + + Gets or sets the application name. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Gets or sets the cluster configurator. + + + + + Gets or sets the connection mode. + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the credentials. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Freezes the settings. + + The frozen settings. + + + + Gets a MongoClientSettings object intialized with values from a MongoURL. + + The MongoURL. + A MongoClientSettings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Gets or sets the representation to use for Guids. + + + + + Gets or sets the heartbeat interval. + + + + + Gets or sets the heartbeat timeout. + + + + + Gets or sets a value indicating whether to use IPv6. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the local threshold. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the min connection pool size. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preferences. + + + + + Gets or sets the name of the replica set. + + + + + Gets or sets the address of the server (see also Servers if using more than one address). + + + + + Gets or sets the list of server addresses (see also Server if using only one address). + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Gets or sets the SSL settings. + + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Gets or sets a value indicating whether to use SSL. + + + + + Gets or sets a value indicating whether to verify an SSL certificate. + + + + + Gets or sets the wait queue size. + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Base class for implementors of . + + The type of the document. + + + + + + MongoDB.Driver.MongoCollectionBase`1 + + + + + + + Runs an aggregation pipeline. + + The pipeline. + The options. + The cancellation token. + The type of the result. + A cursor. + + + + Runs an aggregation pipeline. + + The pipeline. + The options. + The cancellation token. + The type of the result. + A Task whose result is a cursor. + + + + Performs multiple write operations. + + The requests. + The options. + The cancellation token. + The result of writing. + + + + Performs multiple write operations. + + The requests. + The options. + The cancellation token. + The result of writing. + + + + Gets the namespace of the collection. + + + + + Counts the number of documents in the collection. + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Gets the database. + + + + + Deletes multiple documents. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Gets the distinct values for a specified field. + + The field. + The filter. + The options. + The cancellation token. + The type of the result. + A cursor. + + + + Gets the distinct values for a specified field. + + The field. + The filter. + The options. + The cancellation token. + The type of the result. + A Task whose result is a cursor. + + + + Gets the document serializer. + + + + + Finds the documents matching the filter. + + The filter. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + A Task whose result is a cursor. + + + + Finds a single document and deletes it atomically. + + The filter. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The filter. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The filter. + The replacement. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The filter. + The replacement. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and updates it atomically. + + The filter. + The update. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds a single document and updates it atomically. + + The filter. + The update. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + + The returned document. + + + + + Finds the documents matching the filter. + + The filter. + The options. + The cancellation token. + The type of the projection (same as TDocument if there is no projection). + A cursor. + + + + Gets the index manager. + + + + + Inserts many documents. + + The documents. + The options. + The cancellation token. + + + + Inserts many documents. + + The documents. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts a single document. + + The document. + The options. + The cancellation token. + + + + Inserts a single document. + + The document. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts a single document. + + The document. + The cancellation token. + + The result of the insert operation. + + + + + Executes a map-reduce command. + + The map function. + The reduce function. + The options. + The cancellation token. + The type of the result. + A cursor. + + + + Executes a map-reduce command. + + The map function. + The reduce function. + The options. + The cancellation token. + The type of the result. + A Task whose result is a cursor. + + + + Returns a filtered collection that appears to contain only documents of the derived type. + All operations using this filtered collection will automatically use discriminators as necessary. + + The type of the derived document. + A filtered collection. + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Gets the settings. + + + + + Updates many documents. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Returns a new IMongoCollection instance with a different read concern setting. + + The read concern. + A new IMongoCollection instance with a different read concern setting. + + + + Returns a new IMongoCollection instance with a different read preference setting. + + The read preference. + A new IMongoCollection instance with a different read preference setting. + + + + Returns a new IMongoCollection instance with a different write concern setting. + + The write concern. + A new IMongoCollection instance with a different write concern setting. + + + + The settings used to access a collection. + + + + + Initializes a new instance of the MongoCollectionSettings class. + + + + + Gets or sets a value indicating whether the driver should assign Id values when missing. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Compares two MongoCollectionSettings instances. + + The other instance. + True if the two instances are equal. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Gets or sets the representation used for Guids. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preference to use. + + + + + Gets the serializer registry. + + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Credential to access a MongoDB database. + + + + + Initializes a new instance of the class. + + Mechanism to authenticate with. + The identity. + The evidence. + + + + Creates a default credential. + + Name of the database. + The username. + The password. + A default credential. + + + + Creates a default credential. + + Name of the database. + The username. + The password. + A default credential. + + + + Creates a GSSAPI credential. + + The username. + A credential for GSSAPI. + + + + Creates a GSSAPI credential. + + The username. + The password. + A credential for GSSAPI. + + + + Creates a GSSAPI credential. + + The username. + The password. + A credential for GSSAPI. + + + + Creates a credential used with MONGODB-CR. + + Name of the database. + The username. + The password. + A credential for MONGODB-CR. + + + + Creates a credential used with MONGODB-CR. + + Name of the database. + The username. + The password. + A credential for MONGODB-CR. + + + + Creates a credential used with MONGODB-CR. + + The username. + A credential for MONGODB-X509. + + + + Creates a PLAIN credential. + + Name of the database. + The username. + The password. + A credential for PLAIN. + + + + Creates a PLAIN credential. + + Name of the database. + The username. + The password. + A credential for PLAIN. + + + + Compares this MongoCredential to another MongoCredential. + + The other credential. + True if the two credentials are equal. + + + + Compares this MongoCredential to another MongoCredential. + + The other credential. + True if the two credentials are equal. + + + + Gets the evidence. + + + + + Gets the hashcode for the credential. + + The hashcode. + + + + Gets the mechanism property. + + The key. + The default value. + The type of the mechanism property. + The mechanism property if one was set; otherwise the default value. + + + + Gets the identity. + + + + + Gets the mechanism to authenticate with. + + + + + Compares two MongoCredentials. + + The first MongoCredential. + The other MongoCredential. + True if the two MongoCredentials are equal (or both null). + + + + Compares two MongoCredentials. + + The first MongoCredential. + The other MongoCredential. + True if the two MongoCredentials are not equal (or one is null and the other is not). + + + + Gets the password. + + + + + Gets the source. + + + + + Returns a string representation of the credential. + + A string representation of the credential. + + + + Gets the username. + + + + + Creates a new MongoCredential with the specified mechanism property. + + The key. + The value. + A new MongoCredential with the specified mechanism property. + + + + Base class for implementors of . + + + + + + + MongoDB.Driver.MongoDatabaseBase + + + + + + + Gets the client. + + + + + Creates the collection with the specified name. + + The name. + The options. + The cancellation token. + + + + Creates the collection with the specified name. + + The name. + The options. + The cancellation token. + A task. + + + + Creates a view. + + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + The type of the input documents. + The type of the pipeline result documents. + + + + Creates a view. + + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + The type of the input documents. + The type of the pipeline result documents. + A task. + + + + Gets the namespace of the database. + + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The cancellation token. + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The cancellation token. + A task. + + + + Gets a collection. + + The name of the collection. + The settings. + The document type. + An implementation of a collection. + + + + Lists all the collections on the server. + + The options. + The cancellation token. + A cursor. + + + + Lists all the collections on the server. + + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Renames the collection. + + The old name. + The new name. + The options. + The cancellation token. + + + + Renames the collection. + + The old name. + The new name. + The options. + The cancellation token. + A task. + + + + Runs a command. + + The command. + The read preference. + The cancellation token. + The result type of the command. + + The result of the command. + + + + + Runs a command. + + The command. + The read preference. + The cancellation token. + The result type of the command. + + The result of the command. + + + + + Gets the settings. + + + + + Returns a new IMongoDatabase instance with a different read concern setting. + + The read concern. + A new IMongoDatabase instance with a different read concern setting. + + + + Returns a new IMongoDatabase instance with a different read preference setting. + + The read preference. + A new IMongoDatabase instance with a different read preference setting. + + + + Returns a new IMongoDatabase instance with a different write concern setting. + + The write concern. + A new IMongoDatabase instance with a different write concern setting. + + + + The settings used to access a database. + + + + + Creates a new instance of MongoDatabaseSettings. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Compares two MongoDatabaseSettings instances. + + The other instance. + True if the two instances are equal. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Gets or sets the representation to use for Guids. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preference. + + + + + Gets the serializer registry. + + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Represents a DBRef (a convenient way to refer to a document). + + + + + Creates a MongoDBRef. + + The name of the collection that contains the document. + The Id of the document. + + + + Creates a MongoDBRef. + + The name of the database that contains the document. + The name of the collection that contains the document. + The Id of the document. + + + + Gets the name of the collection that contains the document. + + + + + Gets the name of the database that contains the document. + + + + + Determines whether this instance and another specified MongoDBRef object have the same value. + + The MongoDBRef object to compare to this instance. + True if the value of the rhs parameter is the same as this instance; otherwise, false. + + + + Determines whether two specified MongoDBRef objects have the same value. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is the same as the value of rhs; otherwise, false. + + + + Determines whether this instance and a specified object, which must also be a MongoDBRef object, have the same value. + + The MongoDBRef object to compare to this instance. + True if obj is a MongoDBRef object and its value is the same as this instance; otherwise, false. + + + + Returns the hash code for this MongoDBRef object. + + A 32-bit signed integer hash code. + + + + Gets the Id of the document. + + + + + Determines whether two specified MongoDBRef objects have the same value. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is the same as the value of rhs; otherwise, false. + + + + Determines whether two specified MongoDBRef objects have different values. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is different from the value of rhs; otherwise, false. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a serializer for MongoDBRefs. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Default values for various Mongo settings. + + + + + Gets or sets whether the driver should assign a value to empty Ids on Insert. + + + + + Gets or sets the default authentication mechanism. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the representation to use for Guids (this is an alias for BsonDefaults.GuidRepresentation). + + + + + Gets or sets the default local threshold. + + + + + Gets or sets the maximum batch count. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the max document size + + + + + Gets or sets the max message length. + + + + + Gets or sets the min connection pool size. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Gets or sets the TCP receive buffer size. + + + + + Gets or sets the TCP send buffer size. + + + + + Gets or sets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize, see also WaitQueueSize). + + + + + Gets or sets the wait queue size (see also WaitQueueMultiple). + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the Write Encoding. + + + + + Represents an identity defined outside of mongodb. + + + + + Initializes a new instance of the class. + + The username. + + + + Initializes a new instance of the class. + + The source. + The username. + + + + Represents an identity in MongoDB. + + + + + Determines whether the specified instance is equal to this instance. + + The right-hand side. + + true if the specified instance is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares two MongoIdentity values. + + The first MongoIdentity. + The other MongoIdentity. + True if the two MongoIdentity values are equal (or both null). + + + + Compares two MongoIdentity values. + + The first MongoIdentity. + The other MongoIdentity. + True if the two MongoIdentity values are not equal (or one is null and the other is not). + + + + Gets the source. + + + + + Gets the username. + + + + + Evidence used as proof of a MongoIdentity. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares two MongoIdentityEvidences. + + The first MongoIdentityEvidence. + The other MongoIdentityEvidence. + True if the two MongoIdentityEvidences are equal (or both null). + + + + Compares two MongoIdentityEvidences. + + The first MongoIdentityEvidence. + The other MongoIdentityEvidence. + True if the two MongoIdentityEvidences are not equal (or one is null and the other is not). + + + + Base class for implementors of . + + The type of the document. + + + + + + MongoDB.Driver.MongoIndexManagerBase`1 + + + + + + + Gets the namespace of the collection. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + A task whose result is an of the names of the indexes that were created. + + + + + Creates an index. + + The keys. + The options. + The cancellation token. + + The name of the index that was created. + + + + + Creates an index. + + The keys. + The options. + The cancellation token. + + A task whose result is the name of the index that was created. + + + + + Gets the document serializer. + + + + + Drops all the indexes. + + The cancellation token. + + + + Drops all the indexes. + + The cancellation token. + A task. + + + + Drops an index by its name. + + The name. + The cancellation token. + + + + Drops an index by its name. + + The name. + The cancellation token. + A task. + + + + Lists the indexes. + + The cancellation token. + A cursor. + + + + Lists the indexes. + + The cancellation token. + A Task whose result is a cursor. + + + + Gets the collection settings. + + + + + Represents an identity defined inside mongodb. + + + + + Initializes a new instance of the class. + + Name of the database. + The username. + + + + The address of a MongoDB server. + + + + + Initializes a new instance of MongoServerAddress. + + The server's host name. + + + + Initializes a new instance of MongoServerAddress. + + The server's host name. + The server's port number. + + + + Compares two server addresses. + + The other server address. + True if the two server addresses are equal. + + + + Compares two server addresses. + + The other server address. + True if the two server addresses are equal. + + + + Gets the hash code for this object. + + The hash code. + + + + Gets the server's host name. + + + + + Compares two server addresses. + + The first address. + The other address. + True if the two addresses are equal (or both are null). + + + + Compares two server addresses. + + The first address. + The other address. + True if the two addresses are not equal (or one is null and the other is not). + + + + Parses a string representation of a server address. + + The string representation of a server address. + A new instance of MongoServerAddress initialized with values parsed from the string. + + + + Gets the server's port number. + + + + + Returns a string representation of the server address. + + A string representation of the server address. + + + + Tries to parse a string representation of a server address. + + The string representation of a server address. + The server address (set to null if TryParse fails). + True if the string is parsed succesfully. + + + + Represents an immutable URL style connection string. See also MongoUrlBuilder. + + + + + Creates a new instance of MongoUrl. + + The URL containing the settings. + + + + Gets the application name. + + + + + Gets the authentication mechanism. + + + + + Gets the authentication mechanism properties. + + + + + Gets the authentication source. + + + + + Clears the URL cache. When a URL is parsed it is stored in the cache so that it doesn't have to be + parsed again. There is rarely a need to call this method. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets the connection mode. + + + + + Gets the connect timeout. + + + + + Creates an instance of MongoUrl (might be an existing existence if the same URL has been used before). + + The URL containing the settings. + An instance of MongoUrl. + + + + Gets the optional database name. + + + + + Compares two MongoUrls. + + The other URL. + True if the two URLs are equal. + + + + Compares two MongoUrls. + + The other URL. + True if the two URLs are equal. + + + + Gets the FSync component of the write concern. + + + + + Gets the credential. + + The credential (or null if the URL has not authentication settings). + + + + Gets the hash code. + + The hash code. + + + + Returns a WriteConcern value based on this instance's settings and a default enabled value. + + The default enabled value. + A WriteConcern. + + + + Gets the representation to use for Guids. + + + + + Gets a value indicating whether this instance has authentication settings. + + + + + Gets the heartbeat interval. + + + + + Gets the heartbeat timeout. + + + + + Gets a value indicating whether to use IPv6. + + + + + Gets the Journal component of the write concern. + + + + + Gets the local threshold. + + + + + Gets the max connection idle time. + + + + + Gets the max connection life time. + + + + + Gets the max connection pool size. + + + + + Gets the min connection pool size. + + + + + Compares two MongoUrls. + + The first URL. + The other URL. + True if the two URLs are equal (or both null). + + + + Compares two MongoUrls. + + The first URL. + The other URL. + True if the two URLs are not equal (or one is null and the other is not). + + + + Gets the password. + + + + + Gets the read concern level. + + + + + Gets the read preference. + + + + + Gets the name of the replica set. + + + + + Gets the address of the server (see also Servers if using more than one address). + + + + + Gets the list of server addresses (see also Server if using only one address). + + + + + Gets the server selection timeout. + + + + + Gets the socket timeout. + + + + + Returns the canonical URL based on the settings in this MongoUrlBuilder. + + The canonical URL. + + + + Gets the URL (in canonical form). + + + + + Gets the username. + + + + + Gets a value indicating whether to use SSL. + + + + + Gets a value indicating whether to verify an SSL certificate. + + + + + Gets the W component of the write concern. + + + + + Gets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets the wait queue size. + + + + + Gets the wait queue timeout. + + + + + Gets the WTimeout component of the write concern. + + + + + Represents URL style connection strings. This is the recommended connection string style, but see also + MongoConnectionStringBuilder if you wish to use .NET style connection strings. + + + + + Creates a new instance of MongoUrlBuilder. + + + + + Creates a new instance of MongoUrlBuilder. + + The initial settings. + + + + Gets or sets the application name. + + + + + Gets or sets the authentication mechanism. + + + + + Gets or sets the authentication mechanism properties. + + + + + Gets or sets the authentication source. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the connection mode. + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the optional database name. + + + + + Gets or sets the FSync component of the write concern. + + + + + Returns a WriteConcern value based on this instance's settings and a default enabled value. + + The default enabled value. + A WriteConcern. + + + + Gets or sets the representation to use for Guids. + + + + + Gets or sets the heartbeat interval. + + + + + Gets or sets the heartbeat timeout. + + + + + Gets or sets a value indicating whether to use IPv6. + + + + + Gets or sets the Journal component of the write concern. + + + + + Gets or sets the local threshold. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the min connection pool size. + + + + + Parses a URL and sets all settings to match the URL. + + The URL. + + + + Gets or sets the password. + + + + + Gets or sets the read concern level. + + + + + Gets or sets the read preference. + + + + + Gets or sets the name of the replica set. + + + + + Gets or sets the address of the server (see also Servers if using more than one address). + + + + + Gets or sets the list of server addresses (see also Server if using only one address). + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Creates a new instance of MongoUrl based on the settings in this MongoUrlBuilder. + + A new instance of MongoUrl. + + + + Returns the canonical URL based on the settings in this MongoUrlBuilder. + + The canonical URL. + + + + Gets or sets the username. + + + + + Gets or sets a value indicating whether to use SSL. + + + + + Gets or sets a value indicating whether to verify an SSL certificate. + + + + + Gets or sets the W component of the write concern. + + + + + Gets or sets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the wait queue size. + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the WTimeout component of the write concern. + + + + + Various static utility methods. + + + + + Gets the MD5 hash of a string. + + The string to get the MD5 hash of. + The MD5 hash. + + + + Creates a TimeSpan from microseconds. + + The microseconds. + The TimeSpan. + + + + Converts a string to camel case by lower casing the first letter (only the first letter is modified). + + The string to camel case. + The camel cased string. + + + + Represents a write exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The write error. + The write concern error. + The inner exception. + + + + Initializes a new instance of the MongoQueryException class (this overload supports deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Gets the object data. + + The information. + The context. + + + + Gets the write concern error. + + + + + Gets the write error. + + + + + Represents an identity defined by an X509 certificate. + + + + + Initializes a new instance of the class. + + The username. + + + + An based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The object. + The result serializer. + + + + Gets the object. + + + + + Renders the command to a . + + The serializer registry. + A . + + + + Gets the result serializer. + + + + + An based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + Renders the filter to a . + + The document serializer. + The serializer registry. + A . + + + + An based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + An based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The object. + The projection serializer. + + + + Gets the object. + + + + + Gets the projection serializer. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + An based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + Renders the sort to a . + + The document serializer. + The serializer registry. + A . + + + + An based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + Renders the update to a . + + The document serializer. + The serializer registry. + A . + + + + Evidence of a MongoIdentity via a shared secret. + + + + + Initializes a new instance of the class. + + The password. + + + + Initializes a new instance of the class. + + The password. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the password. + + + + + Base class for a pipeline. + + The type of the input. + The type of the output. + + + + + + MongoDB.Driver.PipelineDefinition`2 + + + + + + + Creates a pipeline. + + The stages. + A . + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + A . + + + + Performs an implicit conversion from [] to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from [] to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The stages. + + The result of the conversion. + + + + + Gets the output serializer. + + + + + Renders the pipeline. + + The input serializer. + The serializer registry. + A + + + + Gets the stages. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Extension methods for adding stages to a pipeline. + + + + + Appends a stage to the pipeline. + + The pipeline. + The stage. + The output serializer. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + A new pipeline with an additional stage. + + + + Changes the output type of the pipeline. + + The pipeline. + The output serializer. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a $bucket stage to the pipeline. + + The pipeline. + The group by expression. + The boundaries. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the values. + + A new pipeline with an additional stage. + + + + + Appends a $bucket stage to the pipeline. + + The pipeline. + The group by expression. + The boundaries. + The output projection. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a $bucket stage to the pipeline. + + The pipeline. + The group by expression. + The boundaries. + The options. + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the values. + + The fluent aggregate interface. + + + + + Appends a $bucket stage to the pipeline. + + The pipeline. + The group by expression. + The boundaries. + The output projection. + The options. + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + + The fluent aggregate interface. + + + + + Appends a $bucketAuto stage to the pipeline. + + The pipeline. + The group by expression. + The number of buckets. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the values. + + A new pipeline with an additional stage. + + + + + Appends a $bucketAuto stage to the pipeline. + + The pipeline. + The group by expression. + The number of buckets. + The output projection. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a $bucketAuto stage to the pipeline. + + The pipeline. + The group by expression. + The number of buckets. + The options (optional). + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the value. + + The fluent aggregate interface. + + + + + Appends a $bucketAuto stage to the pipeline. + + The pipeline. + The group by expression. + The number of buckets. + The output projection. + The options (optional). + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the value. + The type of the output documents. + + The fluent aggregate interface. + + + + + Appends a $count stage to the pipeline. + + The pipeline. + The type of the input documents. + The type of the intermediate documents. + + A new pipeline with an additional stage. + + + + + Appends a $facet stage to the pipeline. + + The pipeline. + The facets. + The type of the input documents. + The type of the intermediate documents. + + The fluent aggregate interface. + + + + + Appends a $facet stage to the pipeline. + + The pipeline. + The facets. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + The fluent aggregate interface. + + + + + Appends a $facet stage to the pipeline. + + The pipeline. + The facets. + The type of the input documents. + The type of the intermediate documents. + + The fluent aggregate interface. + + + + + Appends a $facet stage to the pipeline. + + The pipeline. + The facets. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Used to start creating a pipeline for {TInput} documents. + + The inputSerializer serializer. + The type of the output. + + The fluent aggregate interface. + + + + + Appends a $graphLookup stage to the pipeline. + + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The stage. + + + + Appends a $graphLookup stage to the pipeline. + + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The stage. + + + + Appends a $graphLookup stage to the pipeline. + + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The stage. + + + + Appends a group stage to the pipeline. + + The pipeline. + The group projection. + The type of the input documents. + The type of the intermediate documents. + + The fluent aggregate interface. + + + + + Appends a $group stage to the pipeline. + + The pipeline. + The group projection. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a group stage to the pipeline. + + The pipeline. + The id. + The group projection. + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the key. + The type of the output documents. + + The fluent aggregate interface. + + + + + Appends a $limit stage to the pipeline. + + The pipeline. + The limit. + The type of the input documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a $lookup stage to the pipeline. + + The pipeline. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a lookup stage to the pipeline. + + The pipeline. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the output documents. + + The fluent aggregate interface. + + + + + Appends a $match stage to the pipeline. + + The pipeline. + The filter. + The type of the input documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a match stage to the pipeline. + + The pipeline. + The filter. + The type of the input documents. + The type of the output documents. + + The fluent aggregate interface. + + + + + Appends a $match stage to the pipeline to select documents of a certain type. + + The pipeline. + The output serializer. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + + Appends a $out stage to the pipeline. + + The pipeline. + The output collection. + The type of the input documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + + Appends a project stage to the pipeline. + + The pipeline. + The projection. + The type of the input documents. + The type of the intermediate documents. + + The fluent aggregate interface. + + + + + Appends a $project stage to the pipeline. + + The pipeline. + The projection. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + + Appends a project stage to the pipeline. + + The pipeline. + The projection. + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + The fluent aggregate interface. + + + + + Appends a $replaceRoot stage to the pipeline. + + The pipeline. + The new root. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a $replaceRoot stage to the pipeline. + + The pipeline. + The new root. + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + The fluent aggregate interface. + + + + + Appends a $skip stage to the pipeline. + + The pipeline. + The number of documents to skip. + The type of the input documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a $sort stage to the pipeline. + + The pipeline. + The sort definition. + The type of the input documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends a $sortByCount stage to the pipeline. + + The pipeline. + The value expression. + The type of the input documents. + The type of the intermediate documents. + The type of the values. + + A new pipeline with an additional stage. + + + + + Appends a sortByCount stage to the pipeline. + + The pipeline. + The value expression. + The translation options. + The type of the input documents. + The type of the intermediate documents. + The type of the values. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The pipeline. + The field to unwind. + The options. + The type of the input documents. + The type of the intermediate documents. + + The fluent aggregate interface. + + + + + Appends an $unwind stage to the pipeline. + + The pipeline. + The field. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + A new pipeline with an additional stage. + + + + + Appends an unwind stage to the pipeline. + + The pipeline. + The field to unwind. + The options. + The type of the input documents. + The type of the intermediate documents. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The pipeline. + The field to unwind. + The options. + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + The fluent aggregate interface. + + + + + Base class for pipeline stages. + + The type of the input. + The type of the output. + + + + + + MongoDB.Driver.PipelineStageDefinition`2 + + + + + + + Gets the type of the input. + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Gets the name of the pipeline operator. + + + + + Gets the type of the output. + + + + + Renders the specified document serializer. + + The input serializer. + The serializer registry. + A + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Methods for building pipeline stages. + + + + + Creates a $bucket stage. + + The group by expression. + The boundaries. + The options. + The type of the input documents. + The type of the values. + The stage. + + + + Creates a $bucket stage. + + The group by expression. + The boundaries. + The output projection. + The options. + The type of the input documents. + The type of the values. + The type of the output documents. + The stage. + + + + Creates a $bucket stage. + + The group by expression. + The boundaries. + The options. + The translation options. + The type of the input documents. + The type of the values. + The stage. + + + + Creates a $bucket stage. + + The group by expression. + The boundaries. + The output projection. + The options. + The translation options. + The type of the input documents. + The type of the values. + The type of the output documents. + The stage. + + + + Creates a $bucketAuto stage. + + The group by expression. + The number of buckets. + The options. + The type of the input documents. + The type of the values. + The stage. + + + + Creates a $bucketAuto stage. + + The group by expression. + The number of buckets. + The output projection. + The options. + The type of the input documents. + The type of the values. + The type of the output documents. + The stage. + + + + Creates a $bucketAuto stage. + + The group by expression. + The number of buckets. + The options (optional). + The translation options. + The type of the input documents. + The type of the value. + The stage. + + + + Creates a $bucketAuto stage. + + The group by expression. + The number of buckets. + The output projection. + The options (optional). + The translation options. + The type of the input documents. + The type of the output documents. + The type of the output documents. + The stage. + + + + Creates a $count stage. + + The type of the input documents. + The stage. + + + + Creates a $facet stage. + + The facets. + The type of the input documents. + The stage. + + + + Creates a $facet stage. + + The facets. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates a $facet stage. + + The facets. + The type of the input documents. + The stage. + + + + Creates a $facet stage. + + The facets. + The options. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates a $graphLookup stage. + + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The type of the input documents. + The type of the from documents. + The fluent aggregate interface. + + + + Creates a $graphLookup stage. + + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The stage. + + + + Creates a $graphLookup stage. + + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The stage. + + + + Creates a $graphLookup stage. + + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The translation options. + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The stage. + + + + Creates a $graphLookup stage. + + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The translation options. + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The stage. + + + + Creates a $group stage. + + The group projection. + The type of the input documents. + The stage. + + + + Creates a $group stage. + + The group projection. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates a $group stage. + + The value field. + The group projection. + The translation options. + The type of the input documents. + The type of the values. + The type of the output documents. + The stage. + + + + Creates a $limit stage. + + The limit. + The type of the input documents. + The stage. + + + + Creates a $lookup stage. + + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + The type of the input documents. + The type of the foreign collection documents. + The type of the output documents. + The stage. + + + + Creates a $lookup stage. + + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + The type of the input documents. + The type of the foreign collection documents. + The type of the output documents. + The stage. + + + + Creates a $match stage. + + The filter. + The type of the input documents. + The stage. + + + + Creates a $match stage. + + The filter. + The type of the input documents. + The stage. + + + + Create a $match stage that select documents of a sub type. + + The output serializer. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates a $out stage. + + The output collection. + The type of the input documents. + The stage. + + + + Creates a $project stage. + + The projection. + The type of the input documents. + The stage. + + + + Creates a $project stage. + + The projection. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates a $project stage. + + The projection. + The translation options. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates a $replaceRoot stage. + + The new root. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates a $replaceRoot stage. + + The new root. + The translation options. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates a $skip stage. + + The skip. + The type of the input documents. + The stage. + + + + Creates a $sort stage. + + The sort. + The type of the input documents. + The stage. + + + + Creates a $sortByCount stage. + + The value expression. + The type of the input documents. + The type of the values. + The stage. + + + + Creates a $sortByCount stage. + + The value. + The translation options. + The type of the input documents. + The type of the values. + The stage. + + + + Creates an $unwind stage. + + The field to unwind. + The options. + The type of the input documents. + The stage. + + + + Creates an $unwind stage. + + The field. + The options. + The type of the input documents. + The type of the output documents. + The stage. + + + + Creates an $unwind stage. + + The field to unwind. + The options. + The type of the input documents. + The stage. + + + + Creates an $unwind stage. + + The field to unwind. + The options. + The type of the input documents. + The type of the output documents. + The stage. + + + + A pipeline composed of instances of . + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The stages. + The output serializer. + + + + Gets the output serializer. + + + + + Renders the pipeline. + + The input serializer. + The serializer registry. + A + + + + Gets the serializer. + + + + + Gets the stages. + + + + + Represents a pipeline consisting of an existing pipeline with one additional stage prepended. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + Initializes a new instance of the class. + + The stage. + The pipeline. + The output serializer. + + + + Gets the output serializer. + + + + + Renders the pipeline. + + The input serializer. + The serializer registry. + A + + + + Gets the stages. + + + + + Base class for projections whose projection type is not yet known. + + The type of the source. + + + + + + MongoDB.Driver.ProjectionDefinition`1 + + + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + Base class for projections. + + The type of the source. + The type of the projection. + + + + + + MongoDB.Driver.ProjectionDefinition`2 + + + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The projection. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + A builder for a projection. + + The type of the source. + + + + + + MongoDB.Driver.ProjectionDefinitionBuilder`1 + + + + + + + Creates a client side projection that is implemented solely by using a different serializer. + + The projection serializer. + The type of the projection. + A client side deserialization projection. + + + + Combines the specified projections. + + The projections. + + A combined projection. + + + + + Combines the specified projections. + + The projections. + + A combined projection. + + + + + Creates a projection that filters the contents of an array. + + The field. + The filter. + The type of the item. + + An array filtering projection. + + + + + Creates a projection that filters the contents of an array. + + The field. + The filter. + The type of the item. + + An array filtering projection. + + + + + Creates a projection that filters the contents of an array. + + The field. + The filter. + The type of the item. + + An array filtering projection. + + + + + Creates a projection that excludes a field. + + The field. + + An exclusion projection. + + + + + Creates a projection that excludes a field. + + The field. + + An exclusion projection. + + + + + Creates a projection based on the expression. + + The expression. + The type of the result. + + An expression projection. + + + + + Creates a projection that includes a field. + + The field. + + An inclusion projection. + + + + + Creates a projection that includes a field. + + The field. + + An inclusion projection. + + + + + Creates a text score projection. + + The field. + + A text score projection. + + + + + Creates an array slice projection. + + The field. + The skip. + The limit. + + An array slice projection. + + + + + Creates an array slice projection. + + The field. + The skip. + The limit. + + An array slice projection. + + + + + Extension methods for projections. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The projection. + The field. + The filter. + The type of the document. + The type of the item. + + A combined projection. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The projection. + The field. + The filter. + The type of the document. + The type of the item. + + A combined projection. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The projection. + The field. + The filter. + The type of the document. + The type of the item. + + A combined projection. + + + + + Combines an existing projection with a projection that excludes a field. + + The projection. + The field. + The type of the document. + + A combined projection. + + + + + Combines an existing projection with a projection that excludes a field. + + The projection. + The field. + The type of the document. + + A combined projection. + + + + + Combines an existing projection with a projection that includes a field. + + The projection. + The field. + The type of the document. + + A combined projection. + + + + + Combines an existing projection with a projection that includes a field. + + The projection. + The field. + The type of the document. + + A combined projection. + + + + + Combines an existing projection with a text score projection. + + The projection. + The field. + The type of the document. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The projection. + The field. + The skip. + The limit. + The type of the document. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The projection. + The field. + The skip. + The limit. + The type of the document. + + A combined projection. + + + + + Options for renaming a collection. + + + + + + + MongoDB.Driver.RenameCollectionOptions + + + + + + + Gets or sets a value indicating whether to drop the target collection first if it already exists. + + + + + A rendered command. + + The type of the result. + + + + Initializes a new instance of the class. + + The document. + The result serializer. + + + + Gets the document. + + + + + Gets the result serializer. + + + + + A rendered field. + + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + + + + Gets the field name. + + + + + Gets the field serializer. + + + + + A rendered field. + + The type of the field. + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + The value serializer. + The underlying serializer. + + + + Gets the field name. + + + + + Gets the field serializer. + + + + + Gets the underlying serializer. + + + + + Gets the value serializer. + + + + + A rendered pipeline. + + The type of the output. + + + + Initializes a new instance of the class. + + The pipeline. + The output serializer. + + + + Gets the documents. + + + + + Gets the serializer. + + + + + A rendered pipeline stage. + + The type of the output. + + + + Initializes a new instance of the class. + + Name of the pipeline operator. + The document. + The output serializer. + + + + Gets the document. + + + + + Gets the name of the pipeline operator. + + + + + Gets the output serializer. + + + + + A rendered projection. + + The type of the projection. + + + + Initializes a new instance of the class. + + The document. + The projection serializer. + + + + Gets the document. + + + + + Gets the serializer. + + + + + Model for replacing a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The replacement. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets the type of the model. + + + + + Gets the replacement. + + + + + The result of an update operation. + + + + + Initializes a new instance of the class. + + + + + Gets a value indicating whether the result is acknowleded. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + The result of an acknowledged update operation. + + + + + Initializes a new instance of the class. + + The matched count. + The modified count. + The upserted id. + + + + Gets a value indicating whether the result is acknowleded. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + The result of an unacknowledged update operation. + + + + + Gets the instance. + + + + + Gets a value indicating whether the result is acknowleded. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + Represents a pipeline with the output serializer replaced. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + Initializes a new instance of the class. + + The pipeline. + The output serializer. + + + + Gets the output serializer. + + + + + Renders the pipeline. + + The input serializer. + The serializer registry. + A + + + + Gets the stages. + + + + + Which version of the document to return when executing a FindAndModify command. + + + + + Return the document before the modification. + + + + + Return the document after the modification. + + + + + Represents a setting that may or may not have been set. + + The type of the value. + + + + Gets a value indicating whether the setting has been set. + + + + + Resets the setting to the unset state. + + + + + Gets a canonical string representation for this setting. + + A canonical string representation for this setting. + + + + Gets the value of the setting. + + + + + Base class for sorts. + + The type of the document. + + + + + + MongoDB.Driver.SortDefinition`1 + + + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Renders the sort to a . + + The document serializer. + The serializer registry. + A . + + + + A builder for a . + + The type of the document. + + + + + + MongoDB.Driver.SortDefinitionBuilder`1 + + + + + + + Creates an ascending sort. + + The field. + An ascending sort. + + + + Creates an ascending sort. + + The field. + An ascending sort. + + + + Creates a combined sort. + + The sorts. + A combined sort. + + + + Creates a combined sort. + + The sorts. + A combined sort. + + + + Creates a descending sort. + + The field. + A descending sort. + + + + Creates a descending sort. + + The field. + A descending sort. + + + + Creates a descending sort on the computed relevance score of a text search. + The name of the key should be the name of the projected relevence score field. + + The field. + A meta text score sort. + + + + Extension methods for SortDefinition. + + + + + Combines an existing sort with an ascending field. + + The sort. + The field. + The type of the document. + + A combined sort. + + + + + Combines an existing sort with an ascending field. + + The sort. + The field. + The type of the document. + + A combined sort. + + + + + Combines an existing sort with an descending field. + + The sort. + The field. + The type of the document. + + A combined sort. + + + + + Combines an existing sort with an descending field. + + The sort. + The field. + The type of the document. + + A combined sort. + + + + + Combines an existing sort with a descending sort on the computed relevance score of a text search. + The field name should be the name of the projected relevance score field. + + The sort. + The field. + The type of the document. + + A combined sort. + + + + + The direction of the sort. + + + + + Ascending. + + + + + Descending. + + + + + Represents the settings for using SSL. + + + + + + + MongoDB.Driver.SslSettings + + + + + + + Gets or sets a value indicating whether to check for certificate revocation. + + + + + Gets or sets the client certificates. + + + + + Gets or sets the client certificate selection callback. + + + + + Clones an SslSettings. + + The cloned SslSettings. + + + + Gets or sets the enabled SSL protocols. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Freezes the settings. + + The frozen settings. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Gets or sets the server certificate validation callback. + + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + A based field name. + + The type of the document. + + + + Initializes a new instance of the class. + + Name of the field. + + + + Renders the field to a . + + The document serializer. + The serializer registry. + A . + + + + A based field name. + + The type of the document. + The type of the field. + + + + Initializes a new instance of the class. + + Name of the field. + The field serializer. + + + + Renders the field to a . + + The document serializer. + The serializer registry. + A . + + + + Represents text search options. + + + + + + + MongoDB.Driver.TextSearchOptions + + + + + + + Gets or sets whether a text search should be case sensitive. + + + + + Gets or sets whether a text search should be diacritic sensitive. + + + + + Gets or sets the language for a text search. + + + + + Base class for updates. + + The type of the document. + + + + + + MongoDB.Driver.UpdateDefinition`1 + + + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Renders the update to a . + + The document serializer. + The serializer registry. + A . + + + + A builder for an . + + The type of the document. + + + + + + MongoDB.Driver.UpdateDefinitionBuilder`1 + + + + + + + Creates an add to set operator. + + The field. + The value. + The type of the item. + An add to set operator. + + + + Creates an add to set operator. + + The field. + The value. + The type of the item. + An add to set operator. + + + + Creates an add to set operator. + + The field. + The values. + The type of the item. + An add to set operator. + + + + Creates an add to set operator. + + The field. + The values. + The type of the item. + An add to set operator. + + + + Creates a bitwise and operator. + + The field. + The value. + The type of the field. + A bitwise and operator. + + + + Creates a bitwise and operator. + + The field. + The value. + The type of the field. + A bitwise and operator. + + + + Creates a bitwise or operator. + + The field. + The value. + The type of the field. + A bitwise or operator. + + + + Creates a bitwise or operator. + + The field. + The value. + The type of the field. + A bitwise or operator. + + + + Creates a bitwise xor operator. + + The field. + The value. + The type of the field. + A bitwise xor operator. + + + + Creates a bitwise xor operator. + + The field. + The value. + The type of the field. + A bitwise xor operator. + + + + Creates a combined update. + + The updates. + A combined update. + + + + Creates a combined update. + + The updates. + A combined update. + + + + Creates a current date operator. + + The field. + The type. + A current date operator. + + + + Creates a current date operator. + + The field. + The type. + A current date operator. + + + + Creates an increment operator. + + The field. + The value. + The type of the field. + An increment operator. + + + + Creates an increment operator. + + The field. + The value. + The type of the field. + An increment operator. + + + + Creates a max operator. + + The field. + The value. + The type of the field. + A max operator. + + + + Creates a max operator. + + The field. + The value. + The type of the field. + A max operator. + + + + Creates a min operator. + + The field. + The value. + The type of the field. + A min operator. + + + + Creates a min operator. + + The field. + The value. + The type of the field. + A min operator. + + + + Creates a multiply operator. + + The field. + The value. + The type of the field. + A multiply operator. + + + + Creates a multiply operator. + + The field. + The value. + The type of the field. + A multiply operator. + + + + Creates a pop operator. + + The field. + A pop operator. + + + + Creates a pop first operator. + + The field. + A pop first operator. + + + + Creates a pop operator. + + The field. + A pop operator. + + + + Creates a pop first operator. + + The field. + A pop first operator. + + + + Creates a pull operator. + + The field. + The value. + The type of the item. + A pull operator. + + + + Creates a pull operator. + + The field. + The value. + The type of the item. + A pull operator. + + + + Creates a pull operator. + + The field. + The values. + The type of the item. + A pull operator. + + + + Creates a pull operator. + + The field. + The values. + The type of the item. + A pull operator. + + + + Creates a pull operator. + + The field. + The filter. + The type of the item. + A pull operator. + + + + Creates a pull operator. + + The field. + The filter. + The type of the item. + A pull operator. + + + + Creates a pull operator. + + The field. + The filter. + The type of the item. + A pull operator. + + + + Creates a push operator. + + The field. + The value. + The type of the item. + A push operator. + + + + Creates a push operator. + + The field. + The value. + The type of the item. + A push operator. + + + + Creates a push operator. + + The field. + The values. + The slice. + The position. + The sort. + The type of the item. + A push operator. + + + + Creates a push operator. + + The field. + The values. + The slice. + The position. + The sort. + The type of the item. + A push operator. + + + + Creates a field renaming operator. + + The field. + The new name. + A field rename operator. + + + + Creates a field renaming operator. + + The field. + The new name. + A field rename operator. + + + + Creates a set operator. + + The field. + The value. + The type of the field. + A set operator. + + + + Creates a set operator. + + The field. + The value. + The type of the field. + A set operator. + + + + Creates a set on insert operator. + + The field. + The value. + The type of the field. + A set on insert operator. + + + + Creates a set on insert operator. + + The field. + The value. + The type of the field. + A set on insert operator. + + + + Creates an unset operator. + + The field. + An unset operator. + + + + Creates an unset operator. + + The field. + An unset operator. + + + + The type to use for a $currentDate operator. + + + + + A date. + + + + + A timestamp. + + + + + Extension methods for UpdateDefinition. + + + + + Combines an existing update with an add to set operator. + + The update. + The field. + The value. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The update. + The field. + The value. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The update. + The field. + The values. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The update. + The field. + The values. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a bitwise and operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a bitwise and operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a bitwise or operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a bitwise or operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a bitwise xor operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a bitwise xor operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a current date operator. + + The update. + The field. + The type. + The type of the document. + + A combined update. + + + + + Combines an existing update with a current date operator. + + The update. + The field. + The type. + The type of the document. + + A combined update. + + + + + Combines an existing update with an increment operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with an increment operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a max operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a max operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a min operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a min operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a multiply operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a multiply operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The update. + The field. + The type of the document. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The update. + The field. + The type of the document. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The update. + The field. + The type of the document. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The update. + The field. + The type of the document. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The update. + The field. + The value. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The update. + The field. + The value. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The update. + The field. + The values. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The update. + The field. + The values. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The update. + The field. + The filter. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The update. + The field. + The filter. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The update. + The field. + The filter. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a push operator. + + The update. + The field. + The value. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a push operator. + + The update. + The field. + The value. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a push operator. + + The update. + The field. + The values. + The slice. + The position. + The sort. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a push operator. + + The update. + The field. + The values. + The slice. + The position. + The sort. + The type of the document. + The type of the item. + + A combined update. + + + + + Combines an existing update with a field renaming operator. + + The update. + The field. + The new name. + The type of the document. + + A combined update. + + + + + Combines an existing update with a field renaming operator. + + The update. + The field. + The new name. + The type of the document. + + A combined update. + + + + + Combines an existing update with a set operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a set operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a set on insert operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with a set on insert operator. + + The update. + The field. + The value. + The type of the document. + The type of the field. + + A combined update. + + + + + Combines an existing update with an unset operator. + + The update. + The field. + The type of the document. + + A combined update. + + + + + Combines an existing update with an unset operator. + + The update. + The field. + The type of the document. + + A combined update. + + + + + Model for updating many documents. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The update. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets the type of the model. + + + + + Gets the update. + + + + + Model for updating a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The update. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets the type of the model. + + + + + Gets the update. + + + + + Options for updating a single document. + + + + + + + MongoDB.Driver.UpdateOptions + + + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + The result of an update operation. + + + + + Initializes a new instance of the class. + + + + + Gets a value indicating whether the result is acknowleded. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + The result of an acknowledgede update operation. + + + + + Initializes a new instance of the class. + + The matched count. + The modified count. + The upserted id. + + + + Gets a value indicating whether the result is acknowleded. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + The result of an acknowledgede update operation. + + + + + Gets the instance. + + + + + Gets a value indicating whether the result is acknowleded. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + Represents the details of a write concern error. + + + + + Gets the error code. + + + + + Gets the error information. + + + + + Gets the error message. + + + + + Represents the details of a write error. + + + + + Gets the category. + + + + + Gets the error code. + + + + + Gets the error details. + + + + + Gets the error message. + + + + + Base class for a write model. + + The type of the document. + + + + Gets the type of the model. + + + + + The type of a write model. + + + + + A model to insert a single document. + + + + + A model to delete a single document. + + + + + A model to delete multiple documents. + + + + + A model to replace a single document. + + + + + A model to update a single document. + + + + + A model to update many documents. + + + + + A static class containing helper methods to create GeoJson objects. + + + + + Creates a GeoJson bounding box. + + The min. + The max. + The type of the coordinates. + A GeoJson bounding box. + + + + Creates a GeoJson Feature object. + + The additional args. + The geometry. + The type of the coordinates. + A GeoJson Feature object. + + + + Creates a GeoJson Feature object. + + The geometry. + The type of the coordinates. + A GeoJson Feature object. + + + + Creates a GeoJson FeatureCollection object. + + The features. + The type of the coordinates. + A GeoJson FeatureCollection object. + + + + Creates a GeoJson FeatureCollection object. + + The additional args. + The features. + The type of the coordinates. + A GeoJson FeatureCollection object. + + + + Creates a GeoJson 2D geographic position (longitude, latitude). + + The longitude. + The latitude. + A GeoJson 2D geographic position. + + + + Creates a GeoJson 3D geographic position (longitude, latitude, altitude). + + The longitude. + The latitude. + The altitude. + A GeoJson 3D geographic position. + + + + Creates a GeoJson GeometryCollection object. + + The geometries. + The type of the coordinates. + A GeoJson GeometryCollection object. + + + + Creates a GeoJson GeometryCollection object. + + The additional args. + The geometries. + The type of the coordinates. + A GeoJson GeometryCollection object. + + + + Creates the coordinates of a GeoJson linear ring. + + The positions. + The type of the coordinates. + The coordinates of a GeoJson linear ring. + + + + Creates a GeoJson LineString object. + + The additional args. + The positions. + The type of the coordinates. + A GeoJson LineString object. + + + + Creates a GeoJson LineString object. + + The positions. + The type of the coordinates. + A GeoJson LineString object. + + + + Creates the coordinates of a GeoJson LineString. + + The positions. + The type of the coordinates. + The coordinates of a GeoJson LineString. + + + + Creates a GeoJson MultiLineString object. + + The line strings. + The type of the coordinates. + A GeoJson MultiLineString object. + + + + Creates a GeoJson MultiLineString object. + + The additional args. + The line strings. + The type of the coordinates. + A GeoJson MultiLineString object. + + + + Creates a GeoJson MultiPoint object. + + The additional args. + The positions. + The type of the coordinates. + A GeoJson MultiPoint object. + + + + Creates a GeoJson MultiPoint object. + + The positions. + The type of the coordinates. + A GeoJson MultiPoint object. + + + + Creates a GeoJson MultiPolygon object. + + The additional args. + The polygons. + The type of the coordinates. + A GeoJson MultiPolygon object. + + + + Creates a GeoJson MultiPolygon object. + + The polygons. + The type of the coordinates. + A GeoJson MultiPolygon object. + + + + Creates a GeoJson Point object. + + The additional args. + The coordinates. + The type of the coordinates. + A GeoJson Point object. + + + + Creates a GeoJson Point object. + + The coordinates. + The type of the coordinates. + A GeoJson Point object. + + + + Creates a GeoJson Polygon object. + + The additional args. + The coordinates. + The type of the coordinates. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The additional args. + The positions. + The type of the coordinates. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The coordinates. + The type of the coordinates. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The positions. + The type of the coordinates. + A GeoJson Polygon object. + + + + Creates the coordinates of a GeoJson Polygon object. + + The exterior. + The holes. + The type of the coordinates. + The coordinates of a GeoJson Polygon object. + + + + Creates the coordinates of a GeoJson Polygon object. + + The positions. + The type of the coordinates. + The coordinates of a GeoJson Polygon object. + + + + Creates a GeoJson 2D position (x, y). + + The x. + The y. + A GeoJson 2D position. + + + + Creates a GeoJson 3D position (x, y, z). + + The x. + The y. + The z. + A GeoJson 3D position. + + + + Creates a GeoJson 2D projected position (easting, northing). + + The easting. + The northing. + A GeoJson 2D projected position. + + + + Creates a GeoJson 3D projected position (easting, northing, altitude). + + The easting. + The northing. + The altitude. + A GeoJson 3D projected position. + + + + Represents a GeoJson 2D position (x, y). + + + + + Initializes a new instance of the class. + + The x coordinate. + The y coordinate. + + + + Gets the coordinate values. + + + + + Gets the X coordinate. + + + + + Gets the Y coordinate. + + + + + Represents a GeoJson 2D geographic position (longitude, latitude). + + + + + Initializes a new instance of the class. + + The longitude. + The latitude. + + + + Gets the latitude. + + + + + Gets the longitude. + + + + + Gets the coordinate values. + + + + + Represents a GeoJson 2D projected position (easting, northing). + + + + + Initializes a new instance of the class. + + The easting. + The northing. + + + + Gets the easting. + + + + + Gets the northing. + + + + + Gets the coordinate values. + + + + + Represents a GeoJson 3D position (x, y, z). + + + + + Initializes a new instance of the class. + + The x coordinate. + The y coordinate. + The z coordinate. + + + + Gets the coordinate values. + + + + + Gets the X coordinate. + + + + + Gets the Y coordinate. + + + + + Gets the Z coordinate. + + + + + Represents a GeoJson 3D geographic position (longitude, latitude, altitude). + + + + + Initializes a new instance of the class. + + The longitude. + The latitude. + The altitude. + + + + Gets the altitude. + + + + + Gets the latitude. + + + + + Gets the longitude. + + + + + Gets the coordinate values. + + + + + Represents a GeoJson 3D projected position (easting, northing, altitude). + + + + + Initializes a new instance of the class. + + The easting. + The northing. + The altitude. + + + + Gets the altitude. + + + + + Gets the easting. + + + + + Gets the northing. + + + + + Gets the coordinate values. + + + + + Represents a GeoJson bounding box. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The min. + The max. + + + + Gets the max. + + + + + Gets the min. + + + + + Represents a GeoJson coordinate reference system (see subclasses). + + + + + + + MongoDB.Driver.GeoJsonObjectModel.GeoJsonCoordinateReferenceSystem + + + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson position in some coordinate system (see subclasses). + + + + + + + MongoDB.Driver.GeoJsonObjectModel.GeoJsonCoordinates + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Gets the coordinate values. + + + + + Represents a GeoJson Feature object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The geometry. + + + + Initializes a new instance of the class. + + The geometry. + + + + Gets the geometry. + + + + + Gets the id. + + + + + Gets the properties. + + + + + Gets the type of the GeoJson object. + + + + + Represents additional arguments for a GeoJson Feature object. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.GeoJsonFeatureArgs`1 + + + + + + + Gets or sets the id. + + + + + Gets or sets the properties. + + + + + Represents a GeoJson FeatureCollection. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The features. + + + + Initializes a new instance of the class. + + The features. + + + + Gets the features. + + + + + Gets the type of the GeoJson object. + + + + + Represents a GeoJson Geometry object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + + + + Represents a GeoJson GeometryCollection object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The geometries. + + + + Initializes a new instance of the class. + + The geometries. + + + + Gets the geometries. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson linear ring. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Represents a GeoJson LineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson LineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Gets the positions. + + + + + Represents a GeoJson linked coordinate reference system. + + + + + Initializes a new instance of the class. + + The href. + + + + Initializes a new instance of the class. + + The href. + Type of the href. + + + + Gets the href. + + + + + Gets the type of the href. + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson MultiLineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiLineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The line strings. + + + + Gets the LineStrings. + + + + + Represents a GeoJson MultiPoint object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiPoint object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Gets the positions. + + + + + Represents a GeoJson MultiPolygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiPolygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The polygons. + + + + Gets the Polygons. + + + + + Represents a GeoJson named coordinate reference system. + + + + + Initializes a new instance of the class. + + The name. + + + + Gets the name. + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson object (see subclasses). + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + + + + Gets the bounding box. + + + + + Gets the coordinate reference system. + + + + + Gets the extra members. + + + + + Gets the type of the GeoJson object. + + + + + Represents additional args provided when creating a GeoJson object. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.GeoJsonObjectArgs`1 + + + + + + + Gets or sets the bounding box. + + + + + Gets or sets the coordinate reference system. + + + + + Gets or sets the extra members. + + + + + Represents the type of a GeoJson object. + + + + + A Feature. + + + + + A FeatureCollection. + + + + + A GeometryCollection. + + + + + A LineString. + + + + + A MultiLineString. + + + + + A MultiPoint. + + + + + A MultiPolygon. + + + + + A Point. + + + + + A Polygon. + + + + + Represents a GeoJson Point object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents a GeoJson Polygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson Polygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The exterior. + + + + Initializes a new instance of the class. + + The exterior. + The holes. + + + + Gets the exterior. + + + + + Gets the holes. + + + + + Represents a serializer for a GeoJson2DCoordinates value. + + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJson2DCoordinatesSerializer + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson2DGeographicCoordinates value. + + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJson2DGeographicCoordinatesSerializer + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson2DProjectedCoordinates value. + + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJson2DProjectedCoordinatesSerializer + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DCoordinates value. + + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJson3DCoordinatesSerializer + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DGeographicCoordinates value. + + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJson3DGeographicCoordinatesSerializer + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DProjectedCoordinates value. + + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJson3DProjectedCoordinatesSerializer + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonBoundingBox value. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonBoundingBoxSerializer`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonCoordinateReferenceSystem value. + + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonCoordinateReferenceSystemSerializer + + + + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonCoordinates value. + + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonCoordinatesSerializer + + + + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonFeatureCollection value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonFeature value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonGeometryCollection value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonGeometry value. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonGeometrySerializer`1 + + + + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonLinearRingCoordinates value. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonLinearRingCoordinatesSerializer`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLineStringCoordinates value. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonLineStringCoordinatesSerializer`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLineString value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLinkedCoordinateReferenceSystem value. + + + + + Initializes a new instance of the class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiLineStringCoordinates value. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonMultiLineStringCoordinatesSerializer`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiLineString value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPointCoordinates value. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonMultiPointCoordinatesSerializer`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPoint value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPolygonCoordinates value. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonMultiPolygonCoordinatesSerializer`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPolygon value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonNamedCoordinateReferenceSystem value. + + + + + Initializes a new instance of the class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson object. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonObjectSerializer`1 + + + + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer helper for GeoJsonObjects. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The type. + The derived members. + + + + Deserializes a base member. + + The context. + The element name. + The flag. + The arguments. + + + + Serializes the members. + + The context. + The value. + The delegate to serialize the derived members. + The type of the value. + + + + Represents a serializer for a GeoJsonPoint value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonPolygonCoordinates value. + + The type of the coordinates. + + + + + + MongoDB.Driver.GeoJsonObjectModel.Serializers.GeoJsonPolygonCoordinatesSerializer`1 + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonPolygon value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + A model for a queryable to be executed using the aggregation framework. + + The type of the output. + + + + Gets the output serializer. + + + + + Gets the type of the output. + + + + + Gets the stages. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Provides functionality to evaluate queries against MongoDB. + + + + + Gets the execution model. + + + The execution model. + + + + + Provides functionality to evaluate queries against MongoDB + wherein the type of the data is known. + + + The type of the data in the data source. + This type parameter is covariant. + That is, you can use either the type you specified or any type that is more + derived. For more information about covariance and contravariance, see Covariance + and Contravariance in Generics. + + + + + Represents the result of a sorting operation. + + + The type of the data in the data source. + This type parameter is covariant. + That is, you can use either the type you specified or any type that is more + derived. For more information about covariance and contravariance, see Covariance + and Contravariance in Generics. + + + + + This static class holds methods that can be used to express MongoDB specific operations in LINQ queries. + + + + + Injects a low level FilterDefinition{TDocument} into a LINQ where clause. Can only be used in LINQ queries. + + The filter. + The type of the document. + + Throws an InvalidOperationException if called. + + + + + Enumerable Extensions for MongoDB. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Extension for . + + + + + Determines whether any element of a sequence satisfies a condition. + + A sequence whose elements to test for a condition. + A function to test each element for a condition. + The cancellation token. + The type of the elements of . + + true if any elements in the source sequence pass the test in the specified predicate; otherwise, false. + + + + + Determines whether a sequence contains any elements. + + A sequence to check for being empty. + The cancellation token. + The type of the elements of . + + true if the source sequence contains any elements; otherwise, false. + + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The average of the projected values. + + + + + Returns the number of elements in the specified sequence that satisfies a condition. + + An that contains the elements to be counted. + A function to test each element for a condition. + The cancellation token. + The type of the elements of . + + The number of elements in the sequence that satisfies the condition in the predicate function. + + + + + Returns the number of elements in a sequence. + + The that contains the elements to be counted. + The cancellation token. + The type of the elements of . + + The number of elements in the input sequence. + + + + + Returns distinct elements from a sequence by using the default equality comparer to compare values. + + The to remove duplicates from. + The type of the elements of . + + An that contains distinct elements from . + + + + + Returns the first element of a sequence that satisfies a specified condition. + + An to return an element from. + A function to test each element for a condition. + The cancellation token. + The type of the elements of . + + The first element in that passes the test in . + + + + + Returns the first element of a sequence. + + The to return the first element of. + The cancellation token. + The type of the elements of . + + The first element in . + + + + + Returns the first element of a sequence that satisfies a specified condition or a default value if no such element is found. + + An to return an element from. + A function to test each element for a condition. + The cancellation token. + The type of the elements of . + + default() if is empty or if no element passes the test specified by ; otherwise, the first element in that passes the test specified by . + + + + + Returns the first element of a sequence, or a default value if the sequence contains no elements. + + The to return the first element of. + The cancellation token. + The type of the elements of . + + default() if is empty; otherwise, the first element in . + + + + + Groups the elements of a sequence according to a specified key selector function. + + An whose elements to group. + A function to extract the key for each element. + The type of the elements of . + The type of the key returned by the function represented in keySelector. + + An that has a type argument of + and where each object contains a sequence of objects + and a key. + + + + + Groups the elements of a sequence according to a specified key selector function + and creates a result value from each group and its key. + + An whose elements to group. + A function to extract the key for each element. + A function to create a result value from each group. + The type of the elements of . + The type of the key returned by the function represented in keySelector. + The type of the result value returned by resultSelector. + + An that has a type argument of TResult and where + each element represents a projection over a group and its key. + + + + + Correlates the elements of two sequences based on key equality and groups the results. + + The first sequence to join. + The collection to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from an element from the first sequence and a collection of matching elements from the second sequence. + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + + An that contains elements of type obtained by performing a grouped join on two sequences. + + + + + Correlates the elements of two sequences based on key equality and groups the results. + + The first sequence to join. + The sequence to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from an element from the first sequence and a collection of matching elements from the second sequence. + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + + An that contains elements of type obtained by performing a grouped join on two sequences. + + + + + Correlates the elements of two sequences based on matching keys. + + The first sequence to join. + The sequence to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from two matching elements. + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + + An that has elements of type obtained by performing an inner join on two sequences. + + + + + Correlates the elements of two sequences based on matching keys. + + The first sequence to join. + The sequence to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from two matching elements. + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + + An that has elements of type obtained by performing an inner join on two sequences. + + + + + Returns the number of elements in the specified sequence that satisfies a condition. + + An that contains the elements to be counted. + A function to test each element for a condition. + The cancellation token. + The type of the elements of . + + The number of elements in the sequence that satisfies the condition in the predicate function. + + + + + Returns the number of elements in a sequence. + + The that contains the elements to be counted. + The cancellation token. + The type of the elements of . + + The number of elements in the input sequence. + + + + + Invokes a projection function on each element of a generic and returns the maximum resulting value. + + A sequence of values to determine the maximum of. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + The type of the value returned by the function represented by . + + The maximum value in the sequence. + + + + + Returns the maximum value in a generic . + + A sequence of values to determine the maximum of. + The cancellation token. + The type of the elements of . + + The maximum value in the sequence. + + + + + Invokes a projection function on each element of a generic and returns the minimum resulting value. + + A sequence of values to determine the minimum of. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + The type of the value returned by the function represented by . + + The minimum value in the sequence. + + + + + Returns the minimum value in a generic . + + A sequence of values to determine the minimum of. + The cancellation token. + The type of the elements of . + + The minimum value in the sequence. + + + + + Filters the elements of an based on a specified type. + + An whose elements to filter. + The type to filter the elements of the sequence on. + + A collection that contains the elements from that have type . + + + + + Sorts the elements of a sequence in ascending order according to a key. + + A sequence of values to order. + A function to extract a key from an element. + The type of the elements of . + The type of the key returned by the function that is represented by keySelector. + + An whose elements are sorted according to a key. + + + + + Sorts the elements of a sequence in descending order according to a key. + + A sequence of values to order. + A function to extract a key from an element. + The type of the elements of . + The type of the key returned by the function that is represented by keySelector. + + An whose elements are sorted in descending order according to a key. + + + + + Returns a sample of the elements in the . + + An to return a sample of. + The number of elements in the sample. + The type of the elements of . + + A sample of the elements in the . + + + + + Projects each element of a sequence into a new form by incorporating the + element's index. + + A sequence of values to project. + A projection function to apply to each element. + The type of the elements of . + The type of the value returned by the function represented by selector. + + An whose elements are the result of invoking a + projection function on each element of source. + + + + + Projects each element of a sequence to an and + invokes a result selector function on each element therein. The resulting values from + each intermediate sequence are combined into a single, one-dimensional sequence and returned. + + A sequence of values to project. + A projection function to apply to each element of the input sequence. + A projection function to apply to each element of each intermediate sequence. + The type of the elements of . + The type of the intermediate elements collected by the function represented by . + The type of the elements of the resulting sequence. + + An whose elements are the result of invoking the one-to-many projection function on each element of and then mapping each of those sequence elements and their corresponding element to a result element. + + + + + Projects each element of a sequence to an and combines the resulting sequences into one sequence. + + A sequence of values to project. + A projection function to apply to each element. + The type of the elements of . + The type of the elements of the sequence returned by the function represented by . + + An whose elements are the result of invoking a one-to-many projection function on each element of the input sequence. + + + + + Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists. + + An to return a single element from. + A function to test an element for a condition. + The cancellation token. + The type of the elements of . + + The single element of the input sequence that satisfies the condition in . + + + + + Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence. + + An to return the single element of. + The cancellation token. + The type of the elements of . + + The single element of the input sequence. + + + + + Returns the only element of a sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition. + + An to return a single element from. + A function to test an element for a condition. + The cancellation token. + The type of the elements of . + + The single element of the input sequence that satisfies the condition in , or default() if no such element is found. + + + + + Returns the only element of a sequence, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence. + + An to return the single element of. + The cancellation token. + The type of the elements of . + + The single element of the input sequence, or default() if the sequence contains no elements. + + + + + Bypasses a specified number of elements in a sequence and then returns the + remaining elements. + + An to return elements from. + The number of elements to skip before returning the remaining elements. + The type of the elements of source + + An that contains elements that occur after the + specified index in the input sequence. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + The type of the elements of . + + The population standard deviation of the sequence of values. + + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + A sequence of values. + A projection function to apply to each element. + The cancellation token. + The type of the elements of . + + The sum of the projected values. + + + + + Returns a specified number of contiguous elements from the start of a sequence. + + The sequence to return elements from. + The number of elements to return. + The type of the elements of . + + An that contains the specified number of elements + from the start of source. + + + + + Performs a subsequent ordering of the elements in a sequence in ascending + order according to a key. + + A sequence of values to order. + A function to extract a key from an element. + The type of the elements of . + The type of the key returned by the function that is represented by keySelector. + + An whose elements are sorted according to a key. + + + + + Performs a subsequent ordering of the elements in a sequence in descending + order according to a key. + + A sequence of values to order. + A function to extract a key from an element. + The type of the elements of . + The type of the key returned by the function that is represented by keySelector. + + An whose elements are sorted in descending order according to a key. + + + + + Filters a sequence of values based on a predicate. + + An to return elements from. + A function to test each element for a condition. + The type of the elements of . + + An that contains elements from the input sequence + that satisfy the condition specified by predicate. + + + + + An execution model. + + + + + Gets the type of the output. + + + + \ No newline at end of file diff --git a/packages/MongoDB.Driver.2.4.3/lib/netstandard1.5/MongoDB.Driver.xml b/packages/MongoDB.Driver.2.4.3/lib/netstandard1.5/MongoDB.Driver.xml new file mode 100644 index 0000000..eb0df6f --- /dev/null +++ b/packages/MongoDB.Driver.2.4.3/lib/netstandard1.5/MongoDB.Driver.xml @@ -0,0 +1,16378 @@ + + + + MongoDB.Driver + + + + + Represents the granularity value for a $bucketAuto stage. + + + + + Gets the E6 granularity. + + + + + Gets the E12 granularity. + + + + + Gets the E24 granularity. + + + + + Gets the E48 granularity. + + + + + Gets the E96 granularity. + + + + + Gets the E192 granularity. + + + + + Gets the POWERSOF2 granularity. + + + + + Gets the R5 granularity. + + + + + Gets the R10 granularity. + + + + + Gets the R20 granularity. + + + + + Gets the R40 granularity. + + + + + Gets the R80 granularity. + + + + + Gets the 1-2-5 granularity. + + + + + Initializes a new instance of the struct. + + The value. + + + + Gets the value. + + + + + Represents options for the BucketAuto method. + + + + + Gets or sets the granularity. + + + + + Represents the result of the $bucketAuto stage. + + The type of the value. + + + + Initializes a new instance of the class. + + The inclusive lower boundary of the bucket. + The count. + + + + Initializes a new instance of the class. + + The minimum. + The maximum. + The count. + + + + Gets the inclusive lower boundary of the bucket. + + + The inclusive lower boundary of the bucket. + + + + + Gets the count. + + + The count. + + + + + Gets the maximum. + + + + + Gets the minimum. + + + + + Represents the _id value in the result of a $bucketAuto stage. + + The type of the values. + + + + Initializes a new instance of the class. + + The minimum. + The maximum. + + + + Gets the max value. + + + + + Gets the min value. + + + + + Represents options for the Bucket method. + + The type of the value. + + + + Gets or sets the default bucket. + + + + + Represents the result of the $bucket stage. + + The type of the value. + + + + Initializes a new instance of the class. + + The inclusive lower boundary of the bucket. + The count. + + + + Gets the inclusive lower boundary of the bucket. + + + The inclusive lower boundary of the bucket. + + + + + Gets the count. + + + The count. + + + + + Result type for the aggregate $count stage. + + + + + Initializes a new instance of the class. + + The count. + + + + Gets the count. + + + The count. + + + + + An aggregation expression. + + The type of the source. + The type of the result. + + + + Performs an implicit conversion from to . + + The expression. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The expression. + + The result of the conversion. + + + + + Renders the aggregation expression. + + The source serializer. + The serializer registry. + The rendered aggregation expression. + + + + A based aggregate expression. + + The type of the source. + The type of the result. + + + + + Initializes a new instance of the class. + + The expression. + + + + + + + A based aggregate expression. + + The type of the source. + The type of the result. + + + + + Initializes a new instance of the class. + + The expression. + The translation options. + + + + + + + Represents static methods for creating facets. + + + + + Creates a new instance of the class. + + The type of the input documents. + The type of the output documents. + The facet name. + The facet pipeline. + + A new instance of the class + + + + + Represents a facet to be passed to the Facet method. + + The type of the input documents. + + + + Initializes a new instance of the class. + + The facet name. + + + + Gets the facet name. + + + + + Gets the output serializer. + + + + + Gets the type of the output documents. + + + + + Renders the facet pipeline. + + The input serializer. + The serializer registry. + The rendered pipeline. + + + + Represents a facet to be passed to the Facet method. + + The type of the input documents. + The type of the otuput documents. + + + + Initializes a new instance of the class. + + The facet name. + The facet pipeline. + + + + + + + + + + Gets the facet pipeline. + + + + + + + + Options for the aggregate $facet stage. + + The type of the output documents. + + + + Gets or sets the output serializer. + + + + + Represents an abstract AggregateFacetResult with an arbitrary TOutput type. + + + + + Initializes a new instance of the class. + + The name of the facet. + + + + Gets the name of the facet. + + + + + Gets the output of the facet. + + The type of the output documents. + The output of the facet. + + + + Represents the result of a single facet. + + The type of the output. + + + + Initializes a new instance of the class. + + The name. + The output. + + + + Gets or sets the output. + + + The output. + + + + + Represents the results of a $facet stage with an arbitrary number of facets. + + + + + Initializes a new instance of the class. + + The facets. + + + + Gets the facets. + + + + + Base class for implementors of . + + The type of the document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents options for the GraphLookup method. + + The type of from documents. + The type of the as field elements. + The type of the output documents. + + + + Gets or sets the TAsElement serialzier. + + + + + Gets or sets the TFrom serializer. + + + + + Gets or sets the maximum depth. + + + + + Gets or sets the output serializer. + + + + + Gets the filter to restrict the search with. + + + + + Options for the aggregate $lookup stage. + + The type of the foreign document. + The type of the result. + + + + Gets or sets the foreign document serializer. + + + + + Gets or sets the result serializer. + + + + + Options for an aggregate operation. + + + + + Gets or sets a value indicating whether to allow disk use. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the translation options. + + + + + Gets or sets a value indicating whether to use a cursor. + + + + + Result type for the aggregate $sortByCount stage. + + The type of the identifier. + + + + Initializes a new instance of the class. + + The identifier. + The count. + + + + Gets the count. + + + The count. + + + + + Gets the identifier. + + + The identifier. + + + + + Option for which expression to generate for certain string operations. + + + + + Translate to the byte variation. + + + + + Translate to the code points variation. This is only supported in >= MongoDB 3.4. + + + + + Options for the $unwind aggregation stage. + + The type of the result. + + + + Gets or sets the field with which to include the array index. + + + + + Gets or sets whether to preserve null and empty arrays. + + + + + Gets or sets the result serializer. + + + + + A static helper class containing various builders. + + The type of the document. + + + + Gets a . + + + + + Gets an . + + + + + Gets a . + + + + + Gets a . + + + + + Gets an . + + + + + Represents the details of a write error for a particular request. + + + + + Gets the index of the request that had an error. + + + + + Options for a bulk write operation. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets a value indicating whether the requests are fulfilled in order. + + + + + Represents the result of a bulk write operation. + + + + + Initializes a new instance of the class. + + The request count. + + + + Gets the number of documents that were deleted. + + + + + Gets the number of documents that were inserted. + + + + + Gets a value indicating whether the bulk write operation was acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + The modified count is only available when all servers have been upgraded to 2.6 or above. + + + + + Gets the number of documents that were matched. + + + + + Gets the number of documents that were actually modified during an update. + + + + + Gets the request count. + + + + + Gets a list with information about each request that resulted in an upsert. + + + + + Represents the result of a bulk write operation. + + The type of the document. + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + Gets the processed requests. + + + + + Result from an acknowledged write concern. + + + + + Initializes a new instance of the class. + + The request count. + The matched count. + The deleted count. + The inserted count. + The modified count. + The processed requests. + The upserts. + + + + + + + + + + + + + + + + + + + + + + + + + Result from an unacknowledged write concern. + + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + + + + + + + + + + + + + + + + + + + + + + Represents the information about one Upsert. + + + + + Gets the id. + + + + + Gets the index. + + + + + Represents a registry of already created clusters. + + + + + Gets the default cluster registry. + + + The default cluster registry. + + + + + Unregisters and disposes the cluster. + + The cluster. + + + + A rendered command. + + The type of the result. + + + + Initializes a new instance of the class. + + The document. + The result serializer. + + + + Gets the document. + + + + + Gets the result serializer. + + + + + Base class for commands. + + The type of the result. + + + + Renders the command to a . + + The serializer registry. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + A based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The document. + The result serializer. + + + + Gets the document. + + + + + Gets the result serializer. + + + + + + + + A JSON based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The json. + The result serializer. + + + + Gets the json. + + + + + Gets the result serializer. + + + + + + + + An based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The object. + The result serializer. + + + + Gets the object. + + + + + Gets the result serializer. + + + + + + + + Server connection mode. + + + + + Automatically determine how to connect. + + + + + Connect directly to a server. + + + + + Connect to a replica set. + + + + + Connect to one or more shard routers. + + + + + Connect to a standalone server. + + + + + Options for a count operation. + + + + + Gets or sets the collation. + + + + + Gets or sets the hint. + + + + + Gets or sets the limit. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the skip. + + + + + Options for creating a collection. + + + + + Gets or sets the collation. + + + + + Gets or sets a value indicating whether to automatically create an index on the _id. + + + + + Gets or sets a value indicating whether the collection is capped. + + + + + Gets or sets the index option defaults. + + + The index option defaults. + + + + + Gets or sets the maximum number of documents (used with capped collections). + + + + + Gets or sets the maximum size of the collection (used with capped collections). + + + + + Gets or sets whether padding should not be used. + + + + + Gets or sets the serializer registry. + + + + + Gets or sets the storage engine options. + + + + + Gets or sets a value indicating whether to use power of 2 sizes. + + + + + Gets or sets the validation action. + + + The validation action. + + + + + Gets or sets the validation level. + + + The validation level. + + + + + Options for creating a collection. + + The type of the document. + + + + Coerces a generic CreateCollectionOptions{TDocument} from a non-generic CreateCollectionOptions. + + The options. + The generic options. + + + + Gets or sets the document serializer. + + + + + Gets or sets the validator. + + + The validator. + + + + + Model for creating an index. + + The type of the document. + + + + Initializes a new instance of the class. + + The keys. + The options. + + + + Gets the keys. + + + + + Gets the options. + + + + + Options for creating an index. + + + + + Gets or sets a value indicating whether to create the index in the background. + + + + + Gets or sets the precision, in bits, used with geohash indexes. + + + + + Gets or sets the size of a geohash bucket. + + + + + Gets or sets the collation. + + + + + Gets or sets the default language. + + + + + Gets or sets when documents expire (used with TTL indexes). + + + + + Gets or sets the language override. + + + + + Gets or sets the max value for 2d indexes. + + + + + Gets or sets the min value for 2d indexes. + + + + + Gets or sets the index name. + + + + + Gets or sets a value indicating whether the index is a sparse index. + + + + + Gets or sets the index version for 2dsphere indexes. + + + + + Gets or sets the storage engine options. + + + + + Gets or sets the index version for text indexes. + + + + + Gets or sets a value indicating whether the index is a unique index. + + + + + Gets or sets the version of the index. + + + + + Gets or sets the weights for text indexes. + + + + + Options for creating an index. + + The type of the document. + + + + Gets or sets the partial filter expression. + + + + + Options for creating a view. + + The type of the documents. + + + + Gets or sets the collation. + + + The collation. + + + + + Gets or sets the document serializer. + + + The document serializer. + + + + + Gets or sets the serializer registry. + + + The serializer registry. + + + + + The cursor type. + + + + + A non-tailable cursor. This is sufficient for a vast majority of uses. + + + + + A tailable cursor. + + + + + A tailable cursor with a built-in server sleep. + + + + + Model for deleting many documents. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets the type of the model. + + + + + Model for deleting a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets the type of the model. + + + + + Options for the Delete methods. + + + + + Gets or sets the collation. + + + + + The result of a delete operation. + + + + + Gets the deleted count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets a value indicating whether the result is acknowleded. + + + + + Initializes a new instance of the class. + + + + + The result of an acknowledged delete operation. + + + + + Initializes a new instance of the class. + + The deleted count. + + + + + + + + + + The result of an unacknowledged delete operation. + + + + + Gets the instance. + + + + + + + + + + + Options for the distinct command. + + + + + Gets or sets the collation. + + + + + Gets or sets the maximum time. + + + + + Options for controlling translation from .NET expression trees into MongoDB expressions. + + + + + Gets or sets the string translation mode. + + + + + Evidence of a MongoIdentity via an external mechanism. For example, on windows this may + be the current process' user or, on linux, via kinit. + + + + + Initializes a new instance of the class. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + A rendered field. + + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + + + + Gets the field name. + + + + + Gets the field serializer. + + + + + A rendered field. + + The type of the field. + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + The value serializer. + The underlying serializer. + + + + Gets the field name. + + + + + Gets the field serializer. + + + + + Gets the underlying serializer. + + + + + Gets the value serializer. + + + + + Base class for field names. + + The type of the document. + + + + Renders the field to a . + + The document serializer. + The serializer registry. + A . + + + + Performs an implicit conversion from to . + + Name of the field. + + The result of the conversion. + + + + + Base class for field names. + + The type of the document. + The type of the field. + + + + Renders the field to a . + + The document serializer. + The serializer registry. + A . + + + + Performs an implicit conversion from to . + + Name of the field. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The field. + + The result of the conversion. + + + + + An based field. + + The type of the document. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + + + + An based field. + + The type of the document. + The type of the field. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + + + + A based field name. + + The type of the document. + + + + Initializes a new instance of the class. + + Name of the field. + + + + + + + A based field name. + + The type of the document. + The type of the field. + + + + Initializes a new instance of the class. + + Name of the field. + The field serializer. + + + + + + + Base class for filters. + + The type of the document. + + + + Gets an empty filter. An empty filter matches everything. + + + + + Renders the filter to a . + + The document serializer. + The serializer registry. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from a predicate expression to . + + The predicate. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Implements the operator &. + + The LHS. + The RHS. + + The result of the operator. + + + + + Implements the operator |. + + The LHS. + The RHS. + + The result of the operator. + + + + + Implements the operator !. + + The op. + + The result of the operator. + + + + + A based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + + + + An based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + + + + A JSON based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + An based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + + + + A builder for a . + + The type of the document. + + + + Gets an empty filter. An empty filter matches everything. + + + + + Creates an all filter for an array field. + + The type of the item. + The field. + The values. + An all filter. + + + + Creates an all filter for an array field. + + The type of the item. + The field. + The values. + An all filter. + + + + Creates an and filter. + + The filters. + A filter. + + + + Creates an and filter. + + The filters. + An and filter. + + + + Creates an equality filter for an array field. + + The type of the item. + The field. + The value. + An equality filter. + + + + Creates an equality filter for an array field. + + The type of the item. + The field. + The value. + An equality filter. + + + + Creates a greater than filter for an array field. + + The type of the item. + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for an array field. + + The type of the item. + The field. + The value. + A greater than filter. + + + + Creates a greater than or equal filter for an array field. + + The type of the item. + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for an array field. + + The type of the item. + The field. + The value. + A greater than or equal filter. + + + + Creates a less than filter for an array field. + + The type of the item. + The field. + The value. + A less than filter. + + + + Creates a less than filter for an array field. + + The type of the item. + The field. + The value. + A less than filter. + + + + Creates a less than or equal filter for an array field. + + The type of the item. + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for an array field. + + The type of the item. + The field. + The value. + A less than or equal filter. + + + + Creates an in filter for an array field. + + The type of the item. + The field. + The values. + An in filter. + + + + Creates an in filter for an array field. + + The type of the item. + The field. + The values. + An in filter. + + + + Creates a not equal filter for an array field. + + The type of the item. + The field. + The value. + A not equal filter. + + + + Creates a not equal filter for an array field. + + The type of the item. + The field. + The value. + A not equal filter. + + + + Creates a not in filter for an array field. + + The type of the item. + The field. + The values. + A not in filter. + + + + Creates a not in filter for an array field. + + The type of the item. + The field. + The values. + A not in filter. + + + + Creates a bits all clear filter. + + The field. + The bitmask. + A bits all clear filter. + + + + Creates a bits all clear filter. + + The field. + The bitmask. + A bits all clear filter. + + + + Creates a bits all set filter. + + The field. + The bitmask. + A bits all set filter. + + + + Creates a bits all set filter. + + The field. + The bitmask. + A bits all set filter. + + + + Creates a bits any clear filter. + + The field. + The bitmask. + A bits any clear filter. + + + + Creates a bits any clear filter. + + The field. + The bitmask. + A bits any clear filter. + + + + Creates a bits any set filter. + + The field. + The bitmask. + A bits any set filter. + + + + Creates a bits any set filter. + + The field. + The bitmask. + A bits any set filter. + + + + Creates an element match filter for an array field. + + The type of the item. + The field. + The filter. + An element match filter. + + + + Creates an element match filter for an array field. + + The type of the item. + The field. + The filter. + An element match filter. + + + + Creates an element match filter for an array field. + + The type of the item. + The field. + The filter. + An element match filter. + + + + Creates an equality filter. + + The type of the field. + The field. + The value. + An equality filter. + + + + Creates an equality filter. + + The type of the field. + The field. + The value. + An equality filter. + + + + Creates an exists filter. + + The field. + if set to true [exists]. + An exists filter. + + + + Creates an exists filter. + + The field. + if set to true [exists]. + An exists filter. + + + + Creates a geo intersects filter. + + The type of the coordinates. + The field. + The geometry. + A geo intersects filter. + + + + Creates a geo intersects filter. + + The type of the coordinates. + The field. + The geometry. + A geo intersects filter. + + + + Creates a geo within filter. + + The type of the coordinates. + The field. + The geometry. + A geo within filter. + + + + Creates a geo within filter. + + The type of the coordinates. + The field. + The geometry. + A geo within filter. + + + + Creates a geo within box filter. + + The field. + The lower left x. + The lower left y. + The upper right x. + The upper right y. + A geo within box filter. + + + + Creates a geo within box filter. + + The field. + The lower left x. + The lower left y. + The upper right x. + The upper right y. + A geo within box filter. + + + + Creates a geo within center filter. + + The field. + The x. + The y. + The radius. + A geo within center filter. + + + + Creates a geo within center filter. + + The field. + The x. + The y. + The radius. + A geo within center filter. + + + + Creates a geo within center sphere filter. + + The field. + The x. + The y. + The radius. + A geo within center sphere filter. + + + + Creates a geo within center sphere filter. + + The field. + The x. + The y. + The radius. + A geo within center sphere filter. + + + + Creates a geo within polygon filter. + + The field. + The points. + A geo within polygon filter. + + + + Creates a geo within polygon filter. + + The field. + The points. + A geo within polygon filter. + + + + Creates a greater than filter for a UInt32 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for a UInt64 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter. + + The type of the field. + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for a UInt32 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for a UInt64 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter. + + The type of the field. + The field. + The value. + A greater than filter. + + + + Creates a greater than or equal filter for a UInt32 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt64 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter. + + The type of the field. + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt32 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt64 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter. + + The type of the field. + The field. + The value. + A greater than or equal filter. + + + + Creates an in filter. + + The type of the field. + The field. + The values. + An in filter. + + + + Creates an in filter. + + The type of the field. + The field. + The values. + An in filter. + + + + Creates a less than filter for a UInt32 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter for a UInt64 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter. + + The type of the field. + The field. + The value. + A less than filter. + + + + Creates a less than filter for a UInt32 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter for a UInt64 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter. + + The type of the field. + The field. + The value. + A less than filter. + + + + Creates a less than or equal filter for a UInt32 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt64 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter. + + The type of the field. + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt32 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt64 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter. + + The type of the field. + The field. + The value. + A less than or equal filter. + + + + Creates a modulo filter. + + The field. + The modulus. + The remainder. + A modulo filter. + + + + Creates a modulo filter. + + The field. + The modulus. + The remainder. + A modulo filter. + + + + Creates a not equal filter. + + The type of the field. + The field. + The value. + A not equal filter. + + + + Creates a not equal filter. + + The type of the field. + The field. + The value. + A not equal filter. + + + + Creates a near filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near filter. + + The type of the coordinates. + The field. + The geometry. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near filter. + + The type of the coordinates. + The field. + The geometry. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near sphere filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a near sphere filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a near sphere filter. + + The type of the coordinates. + The field. + The geometry. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a near sphere filter. + + The type of the coordinates. + The field. + The geometry. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a not in filter. + + The type of the field. + The field. + The values. + A not in filter. + + + + Creates a not in filter. + + The type of the field. + The field. + The values. + A not in filter. + + + + Creates a not filter. + + The filter. + A not filter. + + + + Creates an OfType filter that matches documents of a derived type. + + The type of the matching derived documents. + An OfType filter. + + + + Creates an OfType filter that matches documents of a derived type and that also match a filter on the derived document. + + The type of the matching derived documents. + A filter on the derived document. + An OfType filter. + + + + Creates an OfType filter that matches documents of a derived type and that also match a filter on the derived document. + + The type of the matching derived documents. + A filter on the derived document. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived typer. + + The type of the field. + The type of the matching derived field value. + The field. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type and that also match a filter on the derived field. + + The type of the field. + The type of the matching derived field value. + The field. + A filter on the derived field. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type. + + The type of the field. + The type of the matching derived field value. + The field. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type and that also match a filter on the derived field. + + The type of the field. + The type of the matching derived field value. + The field. + A filter on the derived field. + An OfType filter. + + + + Creates an or filter. + + The filters. + An or filter. + + + + Creates an or filter. + + The filters. + An or filter. + + + + Creates a regular expression filter. + + The field. + The regex. + A regular expression filter. + + + + Creates a regular expression filter. + + The field. + The regex. + A regular expression filter. + + + + Creates a size filter. + + The field. + The size. + A size filter. + + + + Creates a size filter. + + The field. + The size. + A size filter. + + + + Creates a size greater than filter. + + The field. + The size. + A size greater than filter. + + + + Creates a size greater than filter. + + The field. + The size. + A size greater than filter. + + + + Creates a size greater than or equal filter. + + The field. + The size. + A size greater than or equal filter. + + + + Creates a size greater than or equal filter. + + The field. + The size. + A size greater than or equal filter. + + + + Creates a size less than filter. + + The field. + The size. + A size less than filter. + + + + Creates a size less than filter. + + The field. + The size. + A size less than filter. + + + + Creates a size less than or equal filter. + + The field. + The size. + A size less than or equal filter. + + + + Creates a size less than or equal filter. + + The field. + The size. + A size less than or equal filter. + + + + Creates a text filter. + + The search. + The text search options. + A text filter. + + + + Creates a text filter. + + The search. + The language. + A text filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a filter based on the expression. + + The expression. + An expression filter. + + + + Base class for implementors of . + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Options for a findAndModify command to delete an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Gets or sets the collation. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets the sort. + + + + + Options for a findAndModify command to delete an object. + + The type of the document and the result. + + + + Options for a findAndModify command to replace an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Initializes a new instance of the class. + + + + + Gets or sets the collation. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets which version of the document to return. + + + + + Gets or sets the sort. + + + + + Options for a findAndModify command to replace an object. + + The type of the document and the result. + + + + Options for a findAndModify command to update an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets which version of the document to return. + + + + + Gets or sets the sort. + + + + + Options for a findAndModify command to update an object. + + The type of the document and the result. + + + + Options for a find operation. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to allow partial results when some shards are unavailable. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the type of the cursor. + + + + + Gets or sets the maximum await time for TailableAwait cursors. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the modifiers. + + + + + Gets or sets whether a cursor will time out. + + + + + Gets or sets whether the OplogReplay bit will be set. + + + + + Options for finding documents. + + + + + Options for finding documents. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Gets or sets how many documents to return. + + + + + Gets or sets the projection. + + + + + Gets or sets how many documents to skip before returning the rest. + + + + + Gets or sets the sort. + + + + + Options for finding documents. + + The type of the document and the result. + + + + Fluent interface for aggregate. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + The type of the result of the pipeline. + + + + Gets the database. + + + + + Gets the options. + + + + + Gets the stages. + + + + + Appends the stage to the pipeline. + + The type of the result of the stage. + The stage. + The fluent aggregate interface. + + + + Changes the result type of the pipeline. + + The type of the new result. + The new result serializer. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline. + + The type of the value. + The expression providing the value to group by. + The bucket boundaries. + The options. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline with a custom projection. + + The type of the value. + The type of the new result. + The expression providing the value to group by. + The bucket boundaries. + The output projection. + The options. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the value. + The expression providing the value to group by. + The number of buckets. + The options (optional). + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline with a custom projection. + + The type of the value. + The type of the new result. + The expression providing the value to group by. + The number of buckets. + The output projection. + The options (optional). + The fluent aggregate interface. + + + + Appends a count stage to the pipeline. + + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The type of the new result. + The facets. + The options. + + The fluent aggregate interface. + + + + + Appends a $graphLookup stage to the pipeline. + + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The fluent aggregate interface. + + + + Appends a group stage to the pipeline. + + The type of the result of the stage. + The group projection. + The fluent aggregate interface. + + + + Appends a limit stage to the pipeline. + + The limit. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The type of the foreign document. + The type of the new result. + Name of the other collection. + The local field. + The foreign field. + The field in to place the foreign results. + The options. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline. + + The filter. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline that matches derived documents and changes the result type to the derived type. + + The type of the derived documents. + The new result serializer. + The fluent aggregate interface. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The cancellation token. + A cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The cancellation token. + A Task whose result is a cursor. + + + + Appends a project stage to the pipeline. + + The type of the result of the stage. + The projection. + + The fluent aggregate interface. + + + + + Appends a $replaceRoot stage to the pipeline. + + The type of the new result. + The new root. + The fluent aggregate interface. + + + + Appends a skip stage to the pipeline. + + The number of documents to skip. + The fluent aggregate interface. + + + + Appends a sort stage to the pipeline. + + The sort specification. + The fluent aggregate interface. + + + + Appends a sortByCount stage to the pipeline. + + The type of the identifier. + The identifier. + The fluent aggregate interface. + + + + Appends an unwind stage to the pipeline. + + The type of the result of the stage. + The field. + The new result serializer. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the new result. + The field. + The options. + The fluent aggregate interface. + + + + Fluent interface for aggregate. + + The type of the result. + + + + Combines the current sort definition with an additional sort definition. + + The new sort. + The fluent aggregate interface. + + + + Extension methods for + + + + + Appends a $bucket stage to the pipeline. + + The type of the result. + The type of the value. + The aggregate. + The expression providing the value to group by. + The bucket boundaries. + The options. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline. + + The type of the result. + The type of the value. + The type of the new result. + The aggregate. + The expression providing the value to group by. + The bucket boundaries. + The output projection. + The options. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the result. + The type of the value. + The aggregate. + The expression providing the value to group by. + The number of buckets. + The options (optional). + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the result. + The type of the value. + The type of the new result. + The aggregate. + The expression providing the value to group by. + The number of buckets. + The output projection. + The options (optional). + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The type of the result. + The aggregate. + The facets. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The type of the result. + The aggregate. + The facets. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The facets. + + The fluent aggregate interface. + + + + + Appends a $graphLookup stage to the pipeline. + + The type of the result. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the result. + The type of the from documents. + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the result. + The type of the new result (must be same as TResult with an additional as field). + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the result. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The fluent aggregate interface. + + + + Appends a group stage to the pipeline. + + The type of the result. + The aggregate. + The group projection. + + The fluent aggregate interface. + + + + + Appends a group stage to the pipeline. + + The type of the result. + The type of the key. + The type of the new result. + The aggregate. + The id. + The group projection. + + The fluent aggregate interface. + + + + + Appends a lookup stage to the pipeline. + + The type of the result. + The aggregate. + Name of the foreign collection. + The local field. + The foreign field. + The field in the result to place the foreign matches. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The type of the result. + The type of the foreign collection. + The type of the new result. + The aggregate. + The foreign collection. + The local field. + The foreign field. + The field in the result to place the foreign matches. + The options. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline. + + The type of the result. + The aggregate. + The filter. + + The fluent aggregate interface. + + + + + Appends a project stage to the pipeline. + + The type of the result. + The aggregate. + The projection. + + The fluent aggregate interface. + + + + + Appends a project stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The projection. + + The fluent aggregate interface. + + + + + Appends a $replaceRoot stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The new root. + + The fluent aggregate interface. + + + + + Appends an ascending sort stage to the pipeline. + + The type of the result. + The aggregate. + The field to sort by. + + The fluent aggregate interface. + + + + + Appends a sortByCount stage to the pipeline. + + The type of the result. + The type of the key. + The aggregate. + The id. + + The fluent aggregate interface. + + + + + Appends a descending sort stage to the pipeline. + + The type of the result. + The aggregate. + The field to sort by. + + The fluent aggregate interface. + + + + + Modifies the current sort stage by appending an ascending field specification to it. + + The type of the result. + The aggregate. + The field to sort by. + + The fluent aggregate interface. + + + + + Modifies the current sort stage by appending a descending field specification to it. + + The type of the result. + The aggregate. + The field to sort by. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the result. + The aggregate. + The field to unwind. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the result. + The aggregate. + The field to unwind. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The field to unwind. + The new result serializer. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The field to unwind. + The options. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result, or the default value if the result set is empty. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result, or the default value if the result set is empty. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result. Throws an exception if the result set does not contain exactly one document. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result. Throws an exception if the result set does not contain exactly one document. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result, or the default value if the result set is empty. Throws an exception if the result set contains more than one document. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result, or the default value if the result set is empty. Throws an exception if the result set contains more than one document. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + A filtered mongo collection. The filter will be and'ed with all filters. + + The type of the document. + + + + Gets the filter. + + + + + Fluent interface for find. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Gets or sets the filter. + + + + + Gets the options. + + + + + A simplified type of projection that changes the result type by using a different serializer. + + The type of the result. + The result serializer. + The fluent find interface. + + + + Counts the number of documents. + + The cancellation token. + The count. + + + + Counts the number of documents. + + The cancellation token. + A Task whose result is the count. + + + + Limits the number of documents. + + The limit. + The fluent find interface. + + + + Projects the the result. + + The type of the projection. + The projection. + The fluent find interface. + + + + Skips the the specified number of documents. + + The skip. + The fluent find interface. + + + + Sorts the the documents. + + The sort. + The fluent find interface. + + + + Fluent interface for find. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Extension methods for + + + + + Projects the result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The projection. + The fluent find interface. + + + + Projects the result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The type of the new projection. + The fluent find. + The projection. + The fluent find interface. + + + + Sorts the results by an ascending field. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The field. + The fluent find interface. + + + + Sorts the results by a descending field. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The field. + The fluent find interface. + + + + Adds an ascending field to the existing sort. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The field. + The fluent find interface. + + + + Adds a descending field to the existing sort. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The field. + The fluent find interface. + + + + Get the first result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the first result. + + + + Get the first result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the first result. + + + + Get the first result or null. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the first result or null. + + + + Get the first result or null. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the first result or null. + + + + Gets a single result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the single result. + + + + Gets a single result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the single result. + + + + Gets a single result or null. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the single result or null. + + + + Gets a single result or null. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the single result or null. + + + + The client interface to MongoDB. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + + + + Gets the cluster. + + + The cluster. + + + + + Gets the settings. + + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + A task. + + + + Gets a database. + + The name of the database. + The database settings. + An implementation of a database. + + + + Lists the databases on the server. + + The cancellation token. + A cursor. + + + + Lists the databases on the server. + + The cancellation token. + A Task whose result is a cursor. + + + + Returns a new IMongoClient instance with a different read concern setting. + + The read concern. + A new IMongoClient instance with a different read concern setting. + + + + Returns a new IMongoClient instance with a different read preference setting. + + The read preference. + A new IMongoClient instance with a different read preference setting. + + + + Returns a new IMongoClient instance with a different write concern setting. + + The write concern. + A new IMongoClient instance with a different write concern setting. + + + + Represents a typed collection in MongoDB. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + The type of the documents stored in the collection. + + + + Gets the namespace of the collection. + + + + + Gets the database. + + + + + Gets the document serializer. + + + + + Gets the index manager. + + + + + Gets the settings. + + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A cursor. + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Performs multiple write operations. + + The requests. + The options. + The cancellation token. + The result of writing. + + + + Performs multiple write operations. + + The requests. + The options. + The cancellation token. + The result of writing. + + + + Counts the number of documents in the collection. + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Deletes multiple documents. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Gets the distinct values for a specified field. + + The type of the result. + The field. + The filter. + The options. + The cancellation token. + A cursor. + + + + Gets the distinct values for a specified field. + + The type of the result. + The field. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The options. + The cancellation token. + A cursor. + + + + Finds the documents matching the filter. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds a single document and deletes it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Inserts a single document. + + The document. + The options. + The cancellation token. + + + + Inserts a single document. + + The document. + The cancellation token. + + The result of the insert operation. + + + + + Inserts a single document. + + The document. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts many documents. + + The documents. + The options. + The cancellation token. + + + + Inserts many documents. + + The documents. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Executes a map-reduce command. + + The type of the result. + The map function. + The reduce function. + The options. + The cancellation token. + A cursor. + + + + Executes a map-reduce command. + + The type of the result. + The map function. + The reduce function. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Returns a filtered collection that appears to contain only documents of the derived type. + All operations using this filtered collection will automatically use discriminators as necessary. + + The type of the derived document. + A filtered collection. + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Updates many documents. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Returns a new IMongoCollection instance with a different read concern setting. + + The read concern. + A new IMongoCollection instance with a different read concern setting. + + + + Returns a new IMongoCollection instance with a different read preference setting. + + The read preference. + A new IMongoCollection instance with a different read preference setting. + + + + Returns a new IMongoCollection instance with a different write concern setting. + + The write concern. + A new IMongoCollection instance with a different write concern setting. + + + + Extension methods for . + + + + + Begins a fluent aggregation interface. + + The type of the document. + The collection. + The options. + + A fluent aggregate interface. + + + + + Creates a queryable source of documents. + + The type of the document. + The collection. + The aggregate options + A queryable source of documents. + + + + Counts the number of documents in the collection. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Begins a fluent find interface. + + The type of the document. + The collection. + The filter. + The options. + + A fluent find interface. + + + + + Begins a fluent find interface. + + The type of the document. + The collection. + The filter. + The options. + + A fluent interface. + + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Replaces a single document. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Updates many documents. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Representats a database in MongoDB. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + + + + Gets the client. + + + + + Gets the namespace of the database. + + + + + Gets the settings. + + + + + Creates the collection with the specified name. + + The name. + The options. + The cancellation token. + + + + Creates the collection with the specified name. + + The name. + The options. + The cancellation token. + A task. + + + + Creates a view. + + The type of the input documents. + The type of the pipeline result documents. + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + + + + Creates a view. + + The type of the input documents. + The type of the pipeline result documents. + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + A task. + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The cancellation token. + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The cancellation token. + A task. + + + + Gets a collection. + + The document type. + The name of the collection. + The settings. + An implementation of a collection. + + + + Lists all the collections on the server. + + The options. + The cancellation token. + A cursor. + + + + Lists all the collections on the server. + + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Renames the collection. + + The old name. + The new name. + The options. + The cancellation token. + + + + Renames the collection. + + The old name. + The new name. + The options. + The cancellation token. + A task. + + + + Runs a command. + + The result type of the command. + The command. + The read preference. + The cancellation token. + + The result of the command. + + + + + Runs a command. + + The result type of the command. + The command. + The read preference. + The cancellation token. + + The result of the command. + + + + + Returns a new IMongoDatabase instance with a different read concern setting. + + The read concern. + A new IMongoDatabase instance with a different read concern setting. + + + + Returns a new IMongoDatabase instance with a different read preference setting. + + The read preference. + A new IMongoDatabase instance with a different read preference setting. + + + + Returns a new IMongoDatabase instance with a different write concern setting. + + The write concern. + A new IMongoDatabase instance with a different write concern setting. + + + + An interface representing methods used to create, delete and modify indexes. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + The type of the document. + + + + Gets the namespace of the collection. + + + + + Gets the document serializer. + + + + + Gets the collection settings. + + + + + Creates an index. + + The keys. + The options. + The cancellation token. + + The name of the index that was created. + + + + + Creates an index. + + The keys. + The options. + The cancellation token. + + A task whose result is the name of the index that was created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + A task whose result is an of the names of the indexes that were created. + + + + + Drops all the indexes. + + The cancellation token. + + + + Drops all the indexes. + + The cancellation token. + A task. + + + + Drops an index by its name. + + The name. + The cancellation token. + + + + Drops an index by its name. + + The name. + The cancellation token. + A task. + + + + Lists the indexes. + + The cancellation token. + A cursor. + + + + Lists the indexes. + + The cancellation token. + A Task whose result is a cursor. + + + + Base class for an index keys definition. + + The type of the document. + + + + Renders the index keys definition to a . + + The document serializer. + The serializer registry. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + A based index keys definition. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + A JSON based index keys definition. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + Extension methods for an index keys definition. + + + + + Combines an existing index keys definition with an ascending index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with an ascending index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a descending index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a descending index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2d index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2d index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a geo haystack index key definition. + + The type of the document. + The keys. + The field. + Name of the additional field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a geo haystack index key definition. + + The type of the document. + The keys. + The field. + Name of the additional field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2dsphere index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2dsphere index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a hashed index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a hashed index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a text index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a text index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + A builder for an . + + The type of the document. + + + + Creates an ascending index key definition. + + The field. + An ascending index key definition. + + + + Creates an ascending index key definition. + + The field. + An ascending index key definition. + + + + Creates a combined index keys definition. + + The keys. + A combined index keys definition. + + + + Creates a combined index keys definition. + + The keys. + A combined index keys definition. + + + + Creates a descending index key definition. + + The field. + A descending index key definition. + + + + Creates a descending index key definition. + + The field. + A descending index key definition. + + + + Creates a 2d index key definition. + + The field. + A 2d index key definition. + + + + Creates a 2d index key definition. + + The field. + A 2d index key definition. + + + + Creates a geo haystack index key definition. + + The field. + Name of the additional field. + + A geo haystack index key definition. + + + + + Creates a geo haystack index key definition. + + The field. + Name of the additional field. + + A geo haystack index key definition. + + + + + Creates a 2dsphere index key definition. + + The field. + A 2dsphere index key definition. + + + + Creates a 2dsphere index key definition. + + The field. + A 2dsphere index key definition. + + + + Creates a hashed index key definition. + + The field. + A hashed index key definition. + + + + Creates a hashed index key definition. + + The field. + A hashed index key definition. + + + + Creates a text index key definition. + + The field. + A text index key definition. + + + + Creates a text index key definition. + + The field. + A text index key definition. + + + + Represents index option defaults. + + + + + Gets or sets the storage engine options. + + + + + Returns this instance represented as a BsonDocument. + + A BsonDocument. + + + + Options for inserting many documents. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets a value indicating whether the requests are fulfilled in order. + + + + + Model for inserting a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + Gets the type of the model. + + + + + Options for inserting one document. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Options for a list collections operation. + + + + + Gets or sets the filter. + + + + + Represents the options for a map-reduce operation. + + The type of the document. + The type of the result. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the filter. + + + + + Gets or sets the finalize function. + + + + + Gets or sets the java script mode. + + + + + Gets or sets the limit. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the output options. + + + + + Gets or sets the result serializer. + + + + + Gets or sets the scope. + + + + + Gets or sets the sort. + + + + + Gets or sets whether to include timing information. + + + + + Represents the output options for a map-reduce operation. + + + + + An inline map-reduce output options. + + + + + A merge map-reduce output options. + + The name of the collection. + The name of the database. + Whether the output collection should be sharded. + Whether the server should not lock the database for the duration of the merge. + A merge map-reduce output options. + + + + A reduce map-reduce output options. + + The name of the collection. + The name of the database. + Whether the output collection should be sharded. + Whether the server should not lock the database for the duration of the reduce. + A reduce map-reduce output options. + + + + A replace map-reduce output options. + + The name of the collection. + Name of the database. + Whether the output collection should be sharded. + A replace map-reduce output options. + + + + Represents a bulk write exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The write errors. + The write concern error. + + + + Gets the write concern error. + + + + + Gets the write errors. + + + + + Represents a bulk write exception. + + The type of the document. + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + The write errors. + The write concern error. + The unprocessed requests. + + + + Gets the result of the bulk write operation. + + + + + Gets the unprocessed requests. + + + + + + + + Initializes a new instance of the MongoClient class. + + + + + Initializes a new instance of the MongoClient class. + + The settings. + + + + Initializes a new instance of the MongoClient class. + + The URL. + + + + Initializes a new instance of the MongoClient class. + + The connection string. + + + + Gets the cluster. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base class for implementors of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The settings for a MongoDB client. + + + + + Creates a new instance of MongoClientSettings. Usually you would use a connection string instead. + + + + + Gets or sets the application name. + + + + + Gets or sets the cluster configurator. + + + + + Gets or sets the connection mode. + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the credentials. + + + + + Gets or sets the representation to use for Guids. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the heartbeat interval. + + + + + Gets or sets the heartbeat timeout. + + + + + Gets or sets a value indicating whether to use IPv6. + + + + + Gets or sets the local threshold. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the min connection pool size. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preferences. + + + + + Gets or sets the name of the replica set. + + + + + Gets or sets the address of the server (see also Servers if using more than one address). + + + + + Gets or sets the list of server addresses (see also Server if using only one address). + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Gets or sets the SSL settings. + + + + + Gets or sets a value indicating whether to use SSL. + + + + + Gets or sets a value indicating whether to verify an SSL certificate. + + + + + Gets or sets the wait queue size. + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Gets a MongoClientSettings object intialized with values from a MongoURL. + + The MongoURL. + A MongoClientSettings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Base class for implementors of . + + The type of the document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The settings used to access a collection. + + + + + Initializes a new instance of the MongoCollectionSettings class. + + + + + Gets or sets a value indicating whether the driver should assign Id values when missing. + + + + + Gets or sets the representation used for Guids. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preference to use. + + + + + Gets the serializer registry. + + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Compares two MongoCollectionSettings instances. + + The other instance. + True if the two instances are equal. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Credential to access a MongoDB database. + + + + + Initializes a new instance of the class. + + Mechanism to authenticate with. + The identity. + The evidence. + + + + Gets the evidence. + + + + + Gets the identity. + + + + + Gets the mechanism to authenticate with. + + + + + Gets the password. + + + + + Gets the source. + + + + + Gets the username. + + + + + Compares two MongoCredentials. + + The first MongoCredential. + The other MongoCredential. + True if the two MongoCredentials are equal (or both null). + + + + Compares two MongoCredentials. + + The first MongoCredential. + The other MongoCredential. + True if the two MongoCredentials are not equal (or one is null and the other is not). + + + + Creates a default credential. + + Name of the database. + The username. + The password. + A default credential. + + + + Creates a default credential. + + Name of the database. + The username. + The password. + A default credential. + + + + Creates a GSSAPI credential. + + The username. + A credential for GSSAPI. + This overload is used primarily on linux. + + + + Creates a GSSAPI credential. + + The username. + The password. + A credential for GSSAPI. + + + + Creates a GSSAPI credential. + + The username. + The password. + A credential for GSSAPI. + + + + Creates a credential used with MONGODB-CR. + + Name of the database. + The username. + The password. + A credential for MONGODB-CR. + + + + Creates a credential used with MONGODB-CR. + + Name of the database. + The username. + The password. + A credential for MONGODB-CR. + + + + Creates a credential used with MONGODB-CR. + + The username. + A credential for MONGODB-X509. + + + + Creates a PLAIN credential. + + Name of the database. + The username. + The password. + A credential for PLAIN. + + + + Creates a PLAIN credential. + + Name of the database. + The username. + The password. + A credential for PLAIN. + + + + Gets the mechanism property. + + The type of the mechanism property. + The key. + The default value. + The mechanism property if one was set; otherwise the default value. + + + + Compares this MongoCredential to another MongoCredential. + + The other credential. + True if the two credentials are equal. + + + + Compares this MongoCredential to another MongoCredential. + + The other credential. + True if the two credentials are equal. + + + + Gets the hashcode for the credential. + + The hashcode. + + + + Returns a string representation of the credential. + + A string representation of the credential. + + + + Creates a new MongoCredential with the specified mechanism property. + + The key. + The value. + A new MongoCredential with the specified mechanism property. + + + + Represents a list of credentials and the rules about how credentials can be used together. + + + + + Creates a new instance of the MongoCredentialStore class. + + The credentials. + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets the enumerator. + + + + + + Gets the hashcode for the credential store. + + The hashcode. + + + + Returns a string representation of the credential store. + + A string representation of the credential store. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Base class for implementors of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The settings used to access a database. + + + + + Creates a new instance of MongoDatabaseSettings. + + + + + Gets or sets the representation to use for Guids. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preference. + + + + + Gets the serializer registry. + + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Compares two MongoDatabaseSettings instances. + + The other instance. + True if the two instances are equal. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Represents a DBRef (a convenient way to refer to a document). + + + + + Creates a MongoDBRef. + + The name of the collection that contains the document. + The Id of the document. + + + + Creates a MongoDBRef. + + The name of the database that contains the document. + The name of the collection that contains the document. + The Id of the document. + + + + Gets the name of the database that contains the document. + + + + + Gets the name of the collection that contains the document. + + + + + Gets the Id of the document. + + + + + Determines whether two specified MongoDBRef objects have different values. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is different from the value of rhs; otherwise, false. + + + + Determines whether two specified MongoDBRef objects have the same value. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is the same as the value of rhs; otherwise, false. + + + + Determines whether two specified MongoDBRef objects have the same value. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is the same as the value of rhs; otherwise, false. + + + + Determines whether this instance and another specified MongoDBRef object have the same value. + + The MongoDBRef object to compare to this instance. + True if the value of the rhs parameter is the same as this instance; otherwise, false. + + + + Determines whether this instance and a specified object, which must also be a MongoDBRef object, have the same value. + + The MongoDBRef object to compare to this instance. + True if obj is a MongoDBRef object and its value is the same as this instance; otherwise, false. + + + + Returns the hash code for this MongoDBRef object. + + A 32-bit signed integer hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a serializer for MongoDBRefs. + + + + + Initializes a new instance of the class. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Default values for various Mongo settings. + + + + + Gets or sets whether the driver should assign a value to empty Ids on Insert. + + + + + Gets or sets the default authentication mechanism. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the representation to use for Guids (this is an alias for BsonDefaults.GuidRepresentation). + + + + + Gets or sets the default local threshold. + + + + + Gets or sets the maximum batch count. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the max document size + + + + + Gets or sets the max message length. + + + + + Gets or sets the min connection pool size. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Gets or sets the TCP receive buffer size. + + + + + Gets or sets the TCP send buffer size. + + + + + Gets or sets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize, see also WaitQueueSize). + + + + + Gets or sets the wait queue size (see also WaitQueueMultiple). + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the Write Encoding. + + + + + Represents an identity defined outside of mongodb. + + + + + Initializes a new instance of the class. + + The username. + + + + Initializes a new instance of the class. + + The source. + The username. + + + + Represents an identity in MongoDB. + + + + + Initializes a new instance of the class. + + The source. + The username. + Whether to allow null usernames. + + + + Gets the source. + + + + + Gets the username. + + + + + Compares two MongoIdentity values. + + The first MongoIdentity. + The other MongoIdentity. + True if the two MongoIdentity values are equal (or both null). + + + + Compares two MongoIdentity values. + + The first MongoIdentity. + The other MongoIdentity. + True if the two MongoIdentity values are not equal (or one is null and the other is not). + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified instance is equal to this instance. + + The right-hand side. + + true if the specified instance is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Evidence used as proof of a MongoIdentity. + + + + + Initializes a new instance of the class. + + + + + Compares two MongoIdentityEvidences. + + The first MongoIdentityEvidence. + The other MongoIdentityEvidence. + True if the two MongoIdentityEvidences are equal (or both null). + + + + Compares two MongoIdentityEvidences. + + The first MongoIdentityEvidence. + The other MongoIdentityEvidence. + True if the two MongoIdentityEvidences are not equal (or one is null and the other is not). + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Base class for implementors of . + + The type of the document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an identity defined inside mongodb. + + + + + Initializes a new instance of the class. + + Name of the database. + The username. + + + + The address of a MongoDB server. + + + + + Initializes a new instance of MongoServerAddress. + + The server's host name. + + + + Initializes a new instance of MongoServerAddress. + + The server's host name. + The server's port number. + + + + Parses a string representation of a server address. + + The string representation of a server address. + A new instance of MongoServerAddress initialized with values parsed from the string. + + + + Tries to parse a string representation of a server address. + + The string representation of a server address. + The server address (set to null if TryParse fails). + True if the string is parsed succesfully. + + + + Gets the server's host name. + + + + + Gets the server's port number. + + + + + Compares two server addresses. + + The first address. + The other address. + True if the two addresses are equal (or both are null). + + + + Compares two server addresses. + + The first address. + The other address. + True if the two addresses are not equal (or one is null and the other is not). + + + + Compares two server addresses. + + The other server address. + True if the two server addresses are equal. + + + + Compares two server addresses. + + The other server address. + True if the two server addresses are equal. + + + + Gets the hash code for this object. + + The hash code. + + + + Returns a string representation of the server address. + + A string representation of the server address. + + + + Represents an immutable URL style connection string. See also MongoUrlBuilder. + + + + + Creates a new instance of MongoUrl. + + The URL containing the settings. + + + + Gets the application name. + + + + + Gets the authentication mechanism. + + + + + Gets the authentication mechanism properties. + + + + + Gets the authentication source. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets the connection mode. + + + + + Gets the connect timeout. + + + + + Gets the optional database name. + + + + + Gets the FSync component of the write concern. + + + + + Gets the representation to use for Guids. + + + + + Gets a value indicating whether this instance has authentication settings. + + + + + Gets the heartbeat interval. + + + + + Gets the heartbeat timeout. + + + + + Gets a value indicating whether to use IPv6. + + + + + Gets the Journal component of the write concern. + + + + + Gets the local threshold. + + + + + Gets the max connection idle time. + + + + + Gets the max connection life time. + + + + + Gets the max connection pool size. + + + + + Gets the min connection pool size. + + + + + Gets the password. + + + + + Gets the read concern level. + + + + + Gets the read preference. + + + + + Gets the name of the replica set. + + + + + Gets the address of the server (see also Servers if using more than one address). + + + + + Gets the list of server addresses (see also Server if using only one address). + + + + + Gets the server selection timeout. + + + + + Gets the socket timeout. + + + + + Gets the URL (in canonical form). + + + + + Gets the username. + + + + + Gets a value indicating whether to use SSL. + + + + + Gets a value indicating whether to verify an SSL certificate. + + + + + Gets the W component of the write concern. + + + + + Gets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets the wait queue size. + + + + + Gets the wait queue timeout. + + + + + Gets the WTimeout component of the write concern. + + + + + Compares two MongoUrls. + + The first URL. + The other URL. + True if the two URLs are equal (or both null). + + + + Compares two MongoUrls. + + The first URL. + The other URL. + True if the two URLs are not equal (or one is null and the other is not). + + + + Clears the URL cache. When a URL is parsed it is stored in the cache so that it doesn't have to be + parsed again. There is rarely a need to call this method. + + + + + Creates an instance of MongoUrl (might be an existing existence if the same URL has been used before). + + The URL containing the settings. + An instance of MongoUrl. + + + + Compares two MongoUrls. + + The other URL. + True if the two URLs are equal. + + + + Compares two MongoUrls. + + The other URL. + True if the two URLs are equal. + + + + Gets the credential. + + The credential (or null if the URL has not authentication settings). + + + + Gets the hash code. + + The hash code. + + + + Returns a WriteConcern value based on this instance's settings and a default enabled value. + + The default enabled value. + A WriteConcern. + + + + Returns the canonical URL based on the settings in this MongoUrlBuilder. + + The canonical URL. + + + + Represents URL style connection strings. This is the recommended connection string style, but see also + MongoConnectionStringBuilder if you wish to use .NET style connection strings. + + + + + Creates a new instance of MongoUrlBuilder. + + + + + Creates a new instance of MongoUrlBuilder. + + The initial settings. + + + + Gets or sets the application name. + + + + + Gets or sets the authentication mechanism. + + + + + Gets or sets the authentication mechanism properties. + + + + + Gets or sets the authentication source. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the connection mode. + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the optional database name. + + + + + Gets or sets the FSync component of the write concern. + + + + + Gets or sets the representation to use for Guids. + + + + + Gets or sets the heartbeat interval. + + + + + Gets or sets the heartbeat timeout. + + + + + Gets or sets a value indicating whether to use IPv6. + + + + + Gets or sets the Journal component of the write concern. + + + + + Gets or sets the local threshold. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the min connection pool size. + + + + + Gets or sets the password. + + + + + Gets or sets the read concern level. + + + + + Gets or sets the read preference. + + + + + Gets or sets the name of the replica set. + + + + + Gets or sets the address of the server (see also Servers if using more than one address). + + + + + Gets or sets the list of server addresses (see also Server if using only one address). + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Gets or sets the username. + + + + + Gets or sets a value indicating whether to use SSL. + + + + + Gets or sets a value indicating whether to verify an SSL certificate. + + + + + Gets or sets the W component of the write concern. + + + + + Gets or sets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the wait queue size. + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the WTimeout component of the write concern. + + + + + Returns a WriteConcern value based on this instance's settings and a default enabled value. + + The default enabled value. + A WriteConcern. + + + + Parses a URL and sets all settings to match the URL. + + The URL. + + + + Creates a new instance of MongoUrl based on the settings in this MongoUrlBuilder. + + A new instance of MongoUrl. + + + + Returns the canonical URL based on the settings in this MongoUrlBuilder. + + The canonical URL. + + + + Various static utility methods. + + + + + Gets the MD5 hash of a string. + + The string to get the MD5 hash of. + The MD5 hash. + + + + Creates a TimeSpan from microseconds. + + The microseconds. + The TimeSpan. + + + + Converts a string to camel case by lower casing the first letter (only the first letter is modified). + + The string to camel case. + The camel cased string. + + + + Should only be used when the safety of the data cannot be guaranteed. For instance, + when the secure string is a password used in a plain text protocol. + + The secure string. + The CLR string. + + + + Represents a write exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The write error. + The write concern error. + The inner exception. + + + + Gets the write concern error. + + + + + Gets the write error. + + + + + Represents an identity defined by an X509 certificate. + + + + + Initializes a new instance of the class. + + The username. + + + + Evidence of a MongoIdentity via a shared secret. + + + + + Initializes a new instance of the class. + + The password. + + + + Initializes a new instance of the class. + + The password. + + + + Gets the password. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Computes the MONGODB-CR password digest. + + The username. + + + + + Computes the hash value of the secured string + + + + + A rendered pipeline. + + The type of the output. + + + + Initializes a new instance of the class. + + The pipeline. + The output serializer. + + + + Gets the documents. + + + + + Gets the serializer. + + + + + Base class for a pipeline. + + The type of the input. + The type of the output. + + + + Gets the output serializer. + + + + + Gets the stages. + + + + + Renders the pipeline. + + The input serializer. + The serializer registry. + A + + + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + A . + + + + Creates a pipeline. + + The stages. + A . + + + + Performs an implicit conversion from [] to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from [] to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The stages. + + The result of the conversion. + + + + + A pipeline composed of instances of . + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The stages. + The output serializer. + + + + + + + Gets the stages. + + + + + + + + + + + A pipeline composed of instances of . + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The stages. + The output serializer. + + + + + + + Gets the serializer. + + + + + Gets the stages. + + + + + + + + + + + + + + Extension methods for adding stages to a pipeline. + + + + + Appends a stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The stage. + The output serializer. + A new pipeline with an additional stage. + + + + Changes the output type of the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The output serializer. + + A new pipeline with an additional stage. + + + + + Appends a $bucket stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The group by expression. + The boundaries. + The options. + + A new pipeline with an additional stage. + + + + + Appends a $bucket stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + The pipeline. + The group by expression. + The boundaries. + The output projection. + The options. + + A new pipeline with an additional stage. + + + + + Appends a $bucket stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The group by expression. + The boundaries. + The options. + The translation options. + + The fluent aggregate interface. + + + + + Appends a $bucket stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + The pipeline. + The group by expression. + The boundaries. + The output projection. + The options. + The translation options. + + The fluent aggregate interface. + + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The group by expression. + The number of buckets. + The options. + + A new pipeline with an additional stage. + + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + The pipeline. + The group by expression. + The number of buckets. + The output projection. + The options. + + A new pipeline with an additional stage. + + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value. + The pipeline. + The group by expression. + The number of buckets. + The options (optional). + The translation options. + + The fluent aggregate interface. + + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value. + The type of the output documents. + The pipeline. + The group by expression. + The number of buckets. + The output projection. + The options (optional). + The translation options. + + The fluent aggregate interface. + + + + + Appends a $count stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + + A new pipeline with an additional stage. + + + + + Appends a $facet stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The facets. + The options. + + A new pipeline with an additional stage. + + + + + Appends a $facet stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The facets. + + The fluent aggregate interface. + + + + + Appends a $facet stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The facets. + + The fluent aggregate interface. + + + + + Appends a $facet stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The facets. + + The fluent aggregate interface. + + + + + Used to start creating a pipeline for {TInput} documents. + + The type of the output. + The inputSerializer serializer. + + The fluent aggregate interface. + + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The stage. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The translation options. + The stage. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The translation options. + The stage. + + + + Appends a $group stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The group projection. + + A new pipeline with an additional stage. + + + + + Appends a group stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The group projection. + + The fluent aggregate interface. + + + + + Appends a group stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the key. + The type of the output documents. + The pipeline. + The id. + The group projection. + The translation options. + + The fluent aggregate interface. + + + + + Appends a $limit stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The limit. + + A new pipeline with an additional stage. + + + + + Appends a $lookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the output documents. + The pipeline. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + + A new pipeline with an additional stage. + + + + + Appends a lookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the output documents. + The pipeline. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + + The fluent aggregate interface. + + + + + Appends a $match stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The filter. + + A new pipeline with an additional stage. + + + + + Appends a match stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The filter. + + The fluent aggregate interface. + + + + + Appends a $match stage to the pipeline to select documents of a certain type. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The output serializer. + + A new pipeline with an additional stage. + + + + + + Appends a $out stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The output collection. + + A new pipeline with an additional stage. + + + + + + Appends a $project stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The projection. + + A new pipeline with an additional stage. + + + + + + Appends a project stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The projection. + + The fluent aggregate interface. + + + + + Appends a project stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The projection. + The translation options. + + The fluent aggregate interface. + + + + + Appends a $replaceRoot stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The new root. + + A new pipeline with an additional stage. + + + + + Appends a $replaceRoot stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The new root. + The translation options. + + The fluent aggregate interface. + + + + + Appends a $skip stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The number of documents to skip. + + A new pipeline with an additional stage. + + + + + Appends a $sort stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The sort definition. + + A new pipeline with an additional stage. + + + + + Appends a $sortByCount stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The value expression. + + A new pipeline with an additional stage. + + + + + Appends a sortByCount stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The value expression. + The translation options. + + The fluent aggregate interface. + + + + + Appends an $unwind stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The field. + The options. + + A new pipeline with an additional stage. + + + + + Appends an unwind stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The field to unwind. + The options. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The field to unwind. + The options. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The field to unwind. + The options. + + The fluent aggregate interface. + + + + + Represents a pipeline consisting of an existing pipeline with one additional stage appended. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + Initializes a new instance of the class. + + The pipeline. + The stage. + The output serializer. + + + + + + + + + + + + + Represents an empty pipeline. + + The type of the input documents. + + + + Initializes a new instance of the class. + + The output serializer. + + + + + + + + + + + + + Represents a pipeline consisting of an existing pipeline with one additional stage prepended. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + Initializes a new instance of the class. + + The stage. + The pipeline. + The output serializer. + + + + + + + + + + + + + Represents a pipeline with the output serializer replaced. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + + Initializes a new instance of the class. + + The pipeline. + The output serializer. + + + + + + + + + + + + + A rendered pipeline stage. + + + + + Gets the name of the pipeline operator. + + + The name of the pipeline operator. + + + + + Gets the document. + + + + + Gets the output serializer. + + + + + A rendered pipeline stage. + + The type of the output. + + + + Initializes a new instance of the class. + + Name of the pipeline operator. + The document. + The output serializer. + + + + + + + Gets the output serializer. + + + + + + + + + + + A pipeline stage. + + + + + Gets the type of the input. + + + + + Gets the name of the pipeline operator. + + + + + Gets the type of the output. + + + + + Renders the specified document serializer. + + The input serializer. + The serializer registry. + An + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Base class for pipeline stages. + + The type of the input. + The type of the output. + + + + Gets the type of the input. + + + + + + + + Gets the type of the output. + + + + + Renders the specified document serializer. + + The input serializer. + The serializer registry. + A + + + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + + + + A based stage. + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The document. + The output serializer. + + + + + + + + + + A JSON based pipeline stage. + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The json. + The output serializer. + + + + Gets the json. + + + + + + + + Gets the output serializer. + + + + + + + + Methods for building pipeline stages. + + + + + Creates a $bucket stage. + + The type of the input documents. + The type of the values. + The group by expression. + The boundaries. + The options. + The stage. + + + + Creates a $bucket stage. + + The type of the input documents. + The type of the values. + The type of the output documents. + The group by expression. + The boundaries. + The output projection. + The options. + The stage. + + + + Creates a $bucket stage. + + The type of the input documents. + The type of the values. + The group by expression. + The boundaries. + The options. + The translation options. + The stage. + + + + Creates a $bucket stage. + + The type of the input documents. + The type of the values. + The type of the output documents. + The group by expression. + The boundaries. + The output projection. + The options. + The translation options. + The stage. + + + + Creates a $bucketAuto stage. + + The type of the input documents. + The type of the values. + The group by expression. + The number of buckets. + The options. + The stage. + + + + Creates a $bucketAuto stage. + + The type of the input documents. + The type of the values. + The type of the output documents. + The group by expression. + The number of buckets. + The output projection. + The options. + The stage. + + + + Creates a $bucketAuto stage. + + The type of the input documents. + The type of the value. + The group by expression. + The number of buckets. + The options (optional). + The translation options. + The stage. + + + + Creates a $bucketAuto stage. + + The type of the input documents. + The type of the output documents. + The type of the output documents. + The group by expression. + The number of buckets. + The output projection. + The options (optional). + The translation options. + The stage. + + + + Creates a $count stage. + + The type of the input documents. + The stage. + + + + Creates a $facet stage. + + The type of the input documents. + The type of the output documents. + The facets. + The options. + The stage. + + + + Creates a $facet stage. + + The type of the input documents. + The facets. + The stage. + + + + Creates a $facet stage. + + The type of the input documents. + The facets. + The stage. + + + + Creates a $facet stage. + + The type of the input documents. + The type of the output documents. + The facets. + The stage. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The stage. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The stage. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The fluent aggregate interface. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The translation options. + The stage. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The translation options. + The stage. + + + + Creates a $group stage. + + The type of the input documents. + The type of the output documents. + The group projection. + The stage. + + + + Creates a $group stage. + + The type of the input documents. + The group projection. + The stage. + + + + Creates a $group stage. + + The type of the input documents. + The type of the values. + The type of the output documents. + The value field. + The group projection. + The translation options. + The stage. + + + + Creates a $limit stage. + + The type of the input documents. + The limit. + The stage. + + + + Creates a $lookup stage. + + The type of the input documents. + The type of the foreign collection documents. + The type of the output documents. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + The stage. + + + + Creates a $lookup stage. + + The type of the input documents. + The type of the foreign collection documents. + The type of the output documents. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + The stage. + + + + Creates a $match stage. + + The type of the input documents. + The filter. + The stage. + + + + Creates a $match stage. + + The type of the input documents. + The filter. + The stage. + + + + Create a $match stage that select documents of a sub type. + + The type of the input documents. + The type of the output documents. + The output serializer. + The stage. + + + + Creates a $out stage. + + The type of the input documents. + The output collection. + The stage. + + + + Creates a $project stage. + + The type of the input documents. + The type of the output documents. + The projection. + The stage. + + + + Creates a $project stage. + + The type of the input documents. + The projection. + The stage. + + + + Creates a $project stage. + + The type of the input documents. + The type of the output documents. + The projection. + The translation options. + The stage. + + + + Creates a $replaceRoot stage. + + The type of the input documents. + The type of the output documents. + The new root. + The stage. + + + + Creates a $replaceRoot stage. + + The type of the input documents. + The type of the output documents. + The new root. + The translation options. + The stage. + + + + Creates a $skip stage. + + The type of the input documents. + The skip. + The stage. + + + + Creates a $sort stage. + + The type of the input documents. + The sort. + The stage. + + + + Creates a $sortByCount stage. + + The type of the input documents. + The type of the values. + The value expression. + The stage. + + + + Creates a $sortByCount stage. + + The type of the input documents. + The type of the values. + The value. + The translation options. + The stage. + + + + Creates an $unwind stage. + + The type of the input documents. + The type of the output documents. + The field. + The options. + The stage. + + + + Creates an $unwind stage. + + The type of the input documents. + The field to unwind. + The options. + The stage. + + + + Creates an $unwind stage. + + The type of the input documents. + The field to unwind. + The options. + The stage. + + + + Creates an $unwind stage. + + The type of the input documents. + The type of the output documents. + The field to unwind. + The options. + The stage. + + + + A rendered projection. + + The type of the projection. + + + + Initializes a new instance of the class. + + The document. + The projection serializer. + + + + Gets the document. + + + + + Gets the serializer. + + + + + Base class for projections whose projection type is not yet known. + + The type of the source. + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Base class for projections. + + The type of the source. + The type of the projection. + + + + Renders the projection to a . + + The source serializer. + The serializer registry. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The projection. + + The result of the conversion. + + + + + A based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + A based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The document. + The projection serializer. + + + + Gets the document. + + + + + Gets the projection serializer. + + + + + + + + A find based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + + + + A JSON based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + A JSON based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The json. + The projection serializer. + + + + Gets the json. + + + + + Gets the projection serializer. + + + + + + + + An based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + + + + An based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The object. + The projection serializer. + + + + Gets the object. + + + + + Gets the projection serializer. + + + + + + + + A client side only projection that is implemented solely by deserializing using a different serializer. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The projection serializer. + + + + Gets the result serializer. + + + The result serializer. + + + + + + + + Extension methods for projections. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The type of the document. + The type of the item. + The projection. + The field. + The filter. + + A combined projection. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The type of the document. + The type of the item. + The projection. + The field. + The filter. + + A combined projection. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The type of the document. + The type of the item. + The projection. + The field. + The filter. + + A combined projection. + + + + + Combines an existing projection with a projection that excludes a field. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a projection that excludes a field. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a projection that includes a field. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a projection that includes a field. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a text score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The type of the document. + The projection. + The field. + The skip. + The limit. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The type of the document. + The projection. + The field. + The skip. + The limit. + + A combined projection. + + + + + A builder for a projection. + + The type of the source. + + + + Creates a client side projection that is implemented solely by using a different serializer. + + The type of the projection. + The projection serializer. + A client side deserialization projection. + + + + Combines the specified projections. + + The projections. + + A combined projection. + + + + + Combines the specified projections. + + The projections. + + A combined projection. + + + + + Creates a projection that filters the contents of an array. + + The type of the item. + The field. + The filter. + + An array filtering projection. + + + + + Creates a projection that filters the contents of an array. + + The type of the item. + The field. + The filter. + + An array filtering projection. + + + + + Creates a projection that filters the contents of an array. + + The type of the item. + The field. + The filter. + + An array filtering projection. + + + + + Creates a projection that excludes a field. + + The field. + + An exclusion projection. + + + + + Creates a projection that excludes a field. + + The field. + + An exclusion projection. + + + + + Creates a projection based on the expression. + + The type of the result. + The expression. + + An expression projection. + + + + + Creates a projection that includes a field. + + The field. + + An inclusion projection. + + + + + Creates a projection that includes a field. + + The field. + + An inclusion projection. + + + + + Creates a text score projection. + + The field. + + A text score projection. + + + + + Creates an array slice projection. + + The field. + The skip. + The limit. + + An array slice projection. + + + + + Creates an array slice projection. + + The field. + The skip. + The limit. + + An array slice projection. + + + + + Options for renaming a collection. + + + + + Gets or sets a value indicating whether to drop the target collection first if it already exists. + + + + + Model for replacing a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The replacement. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets the replacement. + + + + + Gets the type of the model. + + + + + The result of an update operation. + + + + + Gets a value indicating whether the result is acknowleded. + + + + + Gets a value indicating whether the modified count is available. + + + The modified count is only available when all servers have been upgraded to 2.6 or above. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + Initializes a new instance of the class. + + + + + The result of an acknowledged update operation. + + + + + Initializes a new instance of the class. + + The matched count. + The modified count. + The upserted id. + + + + + + + + + + + + + + + + + + + The result of an unacknowledged update operation. + + + + + Gets the instance. + + + + + + + + + + + + + + + + + + + + Which version of the document to return when executing a FindAndModify command. + + + + + Return the document before the modification. + + + + + Return the document after the modification. + + + + + Represents a setting that may or may not have been set. + + The type of the value. + + + + Gets the value of the setting. + + + + + Gets a value indicating whether the setting has been set. + + + + + Resets the setting to the unset state. + + + + + Gets a canonical string representation for this setting. + + A canonical string representation for this setting. + + + + The direction of the sort. + + + + + Ascending. + + + + + Descending. + + + + + Base class for sorts. + + The type of the document. + + + + Renders the sort to a . + + The document serializer. + The serializer registry. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + A based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + A JSON based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + An based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + + + + Extension methods for SortDefinition. + + + + + Combines an existing sort with an ascending field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + Combines an existing sort with an ascending field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + Combines an existing sort with an descending field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + Combines an existing sort with an descending field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + Combines an existing sort with a descending sort on the computed relevance score of a text search. + The field name should be the name of the projected relevance score field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + A builder for a . + + The type of the document. + + + + Creates an ascending sort. + + The field. + An ascending sort. + + + + Creates an ascending sort. + + The field. + An ascending sort. + + + + Creates a combined sort. + + The sorts. + A combined sort. + + + + Creates a combined sort. + + The sorts. + A combined sort. + + + + Creates a descending sort. + + The field. + A descending sort. + + + + Creates a descending sort. + + The field. + A descending sort. + + + + Creates a descending sort on the computed relevance score of a text search. + The name of the key should be the name of the projected relevence score field. + + The field. + A meta text score sort. + + + + Represents the settings for using SSL. + + + + + Gets or sets a value indicating whether to check for certificate revocation. + + + + + Gets or sets the client certificates. + + + + + Gets or sets the client certificate selection callback. + + + + + Gets or sets the enabled SSL protocols. + + + + + Gets or sets the server certificate validation callback. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Clones an SslSettings. + + The cloned SslSettings. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Freezes the settings. + + The frozen settings. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Represents text search options. + + + + + Gets or sets whether a text search should be case sensitive. + + + + + Gets or sets whether a text search should be diacritic sensitive. + + + + + Gets or sets the language for a text search. + + + + + Base class for updates. + + The type of the document. + + + + Renders the update to a . + + The document serializer. + The serializer registry. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + A based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + A JSON based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + An based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + + + + Extension methods for UpdateDefinition. + + + + + Combines an existing update with an add to set operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + + A combined update. + + + + + Combines an existing update with a bitwise and operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise and operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise or operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise or operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise xor operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise xor operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a current date operator. + + The type of the document. + The update. + The field. + The type. + + A combined update. + + + + + Combines an existing update with a current date operator. + + The type of the document. + The update. + The field. + The type. + + A combined update. + + + + + Combines an existing update with an increment operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with an increment operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a max operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a max operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a min operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a min operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a multiply operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a multiply operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The filter. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The filter. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The filter. + + A combined update. + + + + + Combines an existing update with a push operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a push operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a push operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + The slice. + The position. + The sort. + + A combined update. + + + + + Combines an existing update with a push operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + The slice. + The position. + The sort. + + A combined update. + + + + + Combines an existing update with a field renaming operator. + + The type of the document. + The update. + The field. + The new name. + + A combined update. + + + + + Combines an existing update with a field renaming operator. + + The type of the document. + The update. + The field. + The new name. + + A combined update. + + + + + Combines an existing update with a set operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a set operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a set on insert operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a set on insert operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with an unset operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with an unset operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + The type to use for a $currentDate operator. + + + + + A date. + + + + + A timestamp. + + + + + A builder for an . + + The type of the document. + + + + Creates an add to set operator. + + The type of the item. + The field. + The value. + An add to set operator. + + + + Creates an add to set operator. + + The type of the item. + The field. + The value. + An add to set operator. + + + + Creates an add to set operator. + + The type of the item. + The field. + The values. + An add to set operator. + + + + Creates an add to set operator. + + The type of the item. + The field. + The values. + An add to set operator. + + + + Creates a bitwise and operator. + + The type of the field. + The field. + The value. + A bitwise and operator. + + + + Creates a bitwise and operator. + + The type of the field. + The field. + The value. + A bitwise and operator. + + + + Creates a bitwise or operator. + + The type of the field. + The field. + The value. + A bitwise or operator. + + + + Creates a bitwise or operator. + + The type of the field. + The field. + The value. + A bitwise or operator. + + + + Creates a bitwise xor operator. + + The type of the field. + The field. + The value. + A bitwise xor operator. + + + + Creates a bitwise xor operator. + + The type of the field. + The field. + The value. + A bitwise xor operator. + + + + Creates a combined update. + + The updates. + A combined update. + + + + Creates a combined update. + + The updates. + A combined update. + + + + Creates a current date operator. + + The field. + The type. + A current date operator. + + + + Creates a current date operator. + + The field. + The type. + A current date operator. + + + + Creates an increment operator. + + The type of the field. + The field. + The value. + An increment operator. + + + + Creates an increment operator. + + The type of the field. + The field. + The value. + An increment operator. + + + + Creates a max operator. + + The type of the field. + The field. + The value. + A max operator. + + + + Creates a max operator. + + The type of the field. + The field. + The value. + A max operator. + + + + Creates a min operator. + + The type of the field. + The field. + The value. + A min operator. + + + + Creates a min operator. + + The type of the field. + The field. + The value. + A min operator. + + + + Creates a multiply operator. + + The type of the field. + The field. + The value. + A multiply operator. + + + + Creates a multiply operator. + + The type of the field. + The field. + The value. + A multiply operator. + + + + Creates a pop operator. + + The field. + A pop operator. + + + + Creates a pop first operator. + + The field. + A pop first operator. + + + + Creates a pop operator. + + The field. + A pop operator. + + + + Creates a pop first operator. + + The field. + A pop first operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The value. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The value. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The values. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The values. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The filter. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The filter. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The filter. + A pull operator. + + + + Creates a push operator. + + The type of the item. + The field. + The value. + A push operator. + + + + Creates a push operator. + + The type of the item. + The field. + The value. + A push operator. + + + + Creates a push operator. + + The type of the item. + The field. + The values. + The slice. + The position. + The sort. + A push operator. + + + + Creates a push operator. + + The type of the item. + The field. + The values. + The slice. + The position. + The sort. + A push operator. + + + + Creates a field renaming operator. + + The field. + The new name. + A field rename operator. + + + + Creates a field renaming operator. + + The field. + The new name. + A field rename operator. + + + + Creates a set operator. + + The type of the field. + The field. + The value. + A set operator. + + + + Creates a set operator. + + The type of the field. + The field. + The value. + A set operator. + + + + Creates a set on insert operator. + + The type of the field. + The field. + The value. + A set on insert operator. + + + + Creates a set on insert operator. + + The type of the field. + The field. + The value. + A set on insert operator. + + + + Creates an unset operator. + + The field. + An unset operator. + + + + Creates an unset operator. + + The field. + An unset operator. + + + + Model for updating many documents. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The update. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets the update. + + + + + + + + Model for updating a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The update. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets the update. + + + + + + + + Options for updating a single document. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + The result of an update operation. + + + + + Gets a value indicating whether the result is acknowleded. + + + + + Gets a value indicating whether the modified count is available. + + + The modified count is only available when all servers have been upgraded to 2.6 or above. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + Initializes a new instance of the class. + + + + + The result of an acknowledgede update operation. + + + + + Initializes a new instance of the class. + + The matched count. + The modified count. + The upserted id. + + + + + + + + + + + + + + + + + + + The result of an acknowledgede update operation. + + + + + Gets the instance. + + + + + + + + + + + + + + + + + + + + Represents the details of a write concern error. + + + + + Gets the error code. + + + + + Gets the error information. + + + + + Gets the error message. + + + + + Represents the details of a write error. + + + + + Gets the category. + + + + + Gets the error code. + + + + + Gets the error details. + + + + + Gets the error message. + + + + + Base class for a write model. + + The type of the document. + + + + Gets the type of the model. + + + + + The type of a write model. + + + + + A model to insert a single document. + + + + + A model to delete a single document. + + + + + A model to delete multiple documents. + + + + + A model to replace a single document. + + + + + A model to update a single document. + + + + + A model to update many documents. + + + + + A static class containing helper methods to create GeoJson objects. + + + + + Creates a GeoJson bounding box. + + The type of the coordinates. + The min. + The max. + A GeoJson bounding box. + + + + Creates a GeoJson Feature object. + + The type of the coordinates. + The geometry. + A GeoJson Feature object. + + + + Creates a GeoJson Feature object. + + The type of the coordinates. + The additional args. + The geometry. + A GeoJson Feature object. + + + + Creates a GeoJson FeatureCollection object. + + The type of the coordinates. + The additional args. + The features. + A GeoJson FeatureCollection object. + + + + Creates a GeoJson FeatureCollection object. + + The type of the coordinates. + The features. + A GeoJson FeatureCollection object. + + + + Creates a GeoJson 2D geographic position (longitude, latitude). + + The longitude. + The latitude. + A GeoJson 2D geographic position. + + + + Creates a GeoJson 3D geographic position (longitude, latitude, altitude). + + The longitude. + The latitude. + The altitude. + A GeoJson 3D geographic position. + + + + Creates a GeoJson GeometryCollection object. + + The type of the coordinates. + The additional args. + The geometries. + A GeoJson GeometryCollection object. + + + + Creates a GeoJson GeometryCollection object. + + The type of the coordinates. + The geometries. + A GeoJson GeometryCollection object. + + + + Creates the coordinates of a GeoJson linear ring. + + The type of the coordinates. + The positions. + The coordinates of a GeoJson linear ring. + + + + Creates a GeoJson LineString object. + + The type of the coordinates. + The additional args. + The positions. + A GeoJson LineString object. + + + + Creates a GeoJson LineString object. + + The type of the coordinates. + The positions. + A GeoJson LineString object. + + + + Creates the coordinates of a GeoJson LineString. + + The type of the coordinates. + The positions. + The coordinates of a GeoJson LineString. + + + + Creates a GeoJson MultiLineString object. + + The type of the coordinates. + The additional args. + The line strings. + A GeoJson MultiLineString object. + + + + Creates a GeoJson MultiLineString object. + + The type of the coordinates. + The line strings. + A GeoJson MultiLineString object. + + + + Creates a GeoJson MultiPoint object. + + The type of the coordinates. + The additional args. + The positions. + A GeoJson MultiPoint object. + + + + Creates a GeoJson MultiPoint object. + + The type of the coordinates. + The positions. + A GeoJson MultiPoint object. + + + + Creates a GeoJson MultiPolygon object. + + The type of the coordinates. + The additional args. + The polygons. + A GeoJson MultiPolygon object. + + + + Creates a GeoJson MultiPolygon object. + + The type of the coordinates. + The polygons. + A GeoJson MultiPolygon object. + + + + Creates a GeoJson Point object. + + The type of the coordinates. + The additional args. + The coordinates. + A GeoJson Point object. + + + + Creates a GeoJson Point object. + + The type of the coordinates. + The coordinates. + A GeoJson Point object. + + + + Creates a GeoJson Polygon object. + + The type of the coordinates. + The additional args. + The positions. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The type of the coordinates. + The additional args. + The coordinates. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The type of the coordinates. + The coordinates. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The type of the coordinates. + The positions. + A GeoJson Polygon object. + + + + Creates the coordinates of a GeoJson Polygon object. + + The type of the coordinates. + The positions. + The coordinates of a GeoJson Polygon object. + + + + Creates the coordinates of a GeoJson Polygon object. + + The type of the coordinates. + The exterior. + The holes. + The coordinates of a GeoJson Polygon object. + + + + Creates a GeoJson 2D position (x, y). + + The x. + The y. + A GeoJson 2D position. + + + + Creates a GeoJson 3D position (x, y, z). + + The x. + The y. + The z. + A GeoJson 3D position. + + + + Creates a GeoJson 2D projected position (easting, northing). + + The easting. + The northing. + A GeoJson 2D projected position. + + + + Creates a GeoJson 3D projected position (easting, northing, altitude). + + The easting. + The northing. + The altitude. + A GeoJson 3D projected position. + + + + Represents a GeoJson 2D position (x, y). + + + + + Initializes a new instance of the class. + + The x coordinate. + The y coordinate. + + + + Gets the coordinate values. + + + + + Gets the X coordinate. + + + + + Gets the Y coordinate. + + + + + Represents a GeoJson 2D geographic position (longitude, latitude). + + + + + Initializes a new instance of the class. + + The longitude. + The latitude. + + + + Gets the coordinate values. + + + + + Gets the longitude. + + + + + Gets the latitude. + + + + + Represents a GeoJson 2D projected position (easting, northing). + + + + + Initializes a new instance of the class. + + The easting. + The northing. + + + + Gets the coordinate values. + + + + + Gets the easting. + + + + + Gets the northing. + + + + + Represents a GeoJson 3D position (x, y, z). + + + + + Initializes a new instance of the class. + + The x coordinate. + The y coordinate. + The z coordinate. + + + + Gets the coordinate values. + + + + + Gets the X coordinate. + + + + + Gets the Y coordinate. + + + + + Gets the Z coordinate. + + + + + Represents a GeoJson 3D geographic position (longitude, latitude, altitude). + + + + + Initializes a new instance of the class. + + The longitude. + The latitude. + The altitude. + + + + Gets the coordinate values. + + + + + Gets the longitude. + + + + + Gets the latitude. + + + + + Gets the altitude. + + + + + Represents a GeoJson 3D projected position (easting, northing, altitude). + + + + + Initializes a new instance of the class. + + The easting. + The northing. + The altitude. + + + + Gets the coordinate values. + + + + + Gets the easting. + + + + + Gets the northing. + + + + + Gets the altitude. + + + + + Represents a GeoJson bounding box. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The min. + The max. + + + + Gets the max. + + + + + Gets the min. + + + + + Represents a GeoJson coordinate reference system (see subclasses). + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson position in some coordinate system (see subclasses). + + + + + Gets the coordinate values. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a GeoJson Feature object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The geometry. + + + + Initializes a new instance of the class. + + The additional args. + The geometry. + + + + Gets the geometry. + + + + + Gets the id. + + + + + Gets the properties. + + + + + Gets the type of the GeoJson object. + + + + + Represents additional arguments for a GeoJson Feature object. + + The type of the coordinates. + + + + Gets or sets the id. + + + + + Gets or sets the properties. + + + + + Represents a GeoJson FeatureCollection. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The features. + + + + Initializes a new instance of the class. + + The additional args. + The features. + + + + Gets the features. + + + + + Gets the type of the GeoJson object. + + + + + Represents a GeoJson Geometry object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + + + + Represents a GeoJson GeometryCollection object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The geometries. + + + + Initializes a new instance of the class. + + The additional args. + The geometries. + + + + Gets the geometries. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson linear ring. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Represents a GeoJson LineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson LineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Gets the positions. + + + + + Represents a GeoJson linked coordinate reference system. + + + + + Initializes a new instance of the class. + + The href. + + + + Initializes a new instance of the class. + + The href. + Type of the href. + + + + Gets the href. + + + + + Gets the type of the href. + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson MultiLineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiLineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The line strings. + + + + Gets the LineStrings. + + + + + Represents a GeoJson MultiPoint object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiPoint object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Gets the positions. + + + + + Represents a GeoJson MultiPolygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiPolygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The polygons. + + + + Gets the Polygons. + + + + + Represents a GeoJson named coordinate reference system. + + + + + Initializes a new instance of the class. + + The name. + + + + Gets the name. + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson object (see subclasses). + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + + + + Gets the bounding box. + + + + + Gets the coordinate reference system. + + + + + Gets the extra members. + + + + + Gets the type of the GeoJson object. + + + + + Represents additional args provided when creating a GeoJson object. + + The type of the coordinates. + + + + Gets or sets the bounding box. + + + + + Gets or sets the coordinate reference system. + + + + + Gets or sets the extra members. + + + + + Represents the type of a GeoJson object. + + + + + A Feature. + + + + + A FeatureCollection. + + + + + A GeometryCollection. + + + + + A LineString. + + + + + A MultiLineString. + + + + + A MultiPoint. + + + + + A MultiPolygon. + + + + + A Point. + + + + + A Polygon. + + + + + Represents a GeoJson Point object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents a GeoJson Polygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson Polygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The exterior. + + + + Initializes a new instance of the class. + + The exterior. + The holes. + + + + Gets the exterior. + + + + + Gets the holes. + + + + + Represents a serializer for a GeoJson2DCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson2DGeographicCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson2DProjectedCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DGeographicCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DProjectedCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonBoundingBox value. + + The type of the coordinates. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonCoordinateReferenceSystem value. + + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonCoordinates value. + + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonFeatureCollection value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonFeature value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonGeometryCollection value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonGeometry value. + + The type of the coordinates. + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonLinearRingCoordinates value. + + The type of the coordinates. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLineStringCoordinates value. + + The type of the coordinates. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLineString value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLinkedCoordinateReferenceSystem value. + + + + + Initializes a new instance of the class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiLineStringCoordinates value. + + The type of the coordinates. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiLineString value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPointCoordinates value. + + The type of the coordinates. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPoint value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPolygonCoordinates value. + + The type of the coordinates. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPolygon value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonNamedCoordinateReferenceSystem value. + + + + + Initializes a new instance of the class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson object. + + The type of the coordinates. + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer helper for GeoJsonObjects. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The type. + The derived members. + + + + Deserializes a base member. + + The context. + The element name. + The flag. + The arguments. + + + + Serializes the members. + + The type of the value. + The context. + The value. + The delegate to serialize the derived members. + + + + Represents a serializer for a GeoJsonPoint value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonPolygonCoordinates value. + + The type of the coordinates. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonPolygon value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + A model for a queryable to be executed using the aggregation framework. + + The type of the output. + + + + Gets the stages. + + + + + Gets the output serializer. + + + + + Gets the type of the output. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Provides functionality to evaluate queries against MongoDB. + + + + + Gets the execution model. + + + The execution model. + + + + + Provides functionality to evaluate queries against MongoDB + wherein the type of the data is known. + + + The type of the data in the data source. + This type parameter is covariant. + That is, you can use either the type you specified or any type that is more + derived. For more information about covariance and contravariance, see Covariance + and Contravariance in Generics. + + + + + Represents the result of a sorting operation. + + + The type of the data in the data source. + This type parameter is covariant. + That is, you can use either the type you specified or any type that is more + derived. For more information about covariance and contravariance, see Covariance + and Contravariance in Generics. + + + + + An implementation of for MongoDB. + + + + + Gets the collection namespace. + + + + + Gets the collection document serializer. + + + + + Gets the execution model. + + The expression. + The execution model. + + + + Executes the strongly-typed query represented by a specified expression tree. + + The type of the result. + An expression tree that represents a LINQ query. + The cancellation token. + The value that results from executing the specified query. + + + + This static class holds methods that can be used to express MongoDB specific operations in LINQ queries. + + + + + Injects a low level FilterDefinition{TDocument} into a LINQ where clause. Can only be used in LINQ queries. + + The type of the document. + The filter. + + Throws an InvalidOperationException if called. + + + + + Enumerable Extensions for MongoDB. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Extension for . + + + + + Determines whether a sequence contains any elements. + + The type of the elements of . + A sequence to check for being empty. + The cancellation token. + + true if the source sequence contains any elements; otherwise, false. + + + + + Determines whether any element of a sequence satisfies a condition. + + The type of the elements of . + A sequence whose elements to test for a condition. + A function to test each element for a condition. + The cancellation token. + + true if any elements in the source sequence pass the test in the specified predicate; otherwise, false. + + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Returns the number of elements in a sequence. + + The type of the elements of . + The that contains the elements to be counted. + The cancellation token. + + The number of elements in the input sequence. + + + + + Returns the number of elements in the specified sequence that satisfies a condition. + + The type of the elements of . + An that contains the elements to be counted. + A function to test each element for a condition. + The cancellation token. + + The number of elements in the sequence that satisfies the condition in the predicate function. + + + + + Returns distinct elements from a sequence by using the default equality comparer to compare values. + + The type of the elements of . + The to remove duplicates from. + + An that contains distinct elements from . + + + + + Returns the first element of a sequence. + + The type of the elements of . + The to return the first element of. + The cancellation token. + + The first element in . + + + + + Returns the first element of a sequence that satisfies a specified condition. + + The type of the elements of . + An to return an element from. + A function to test each element for a condition. + The cancellation token. + + The first element in that passes the test in . + + + + + Returns the first element of a sequence, or a default value if the sequence contains no elements. + + The type of the elements of . + The to return the first element of. + The cancellation token. + + default() if is empty; otherwise, the first element in . + + + + + Returns the first element of a sequence that satisfies a specified condition or a default value if no such element is found. + + The type of the elements of . + An to return an element from. + A function to test each element for a condition. + The cancellation token. + + default() if is empty or if no element passes the test specified by ; otherwise, the first element in that passes the test specified by . + + + + + Groups the elements of a sequence according to a specified key selector function. + + The type of the elements of . + The type of the key returned by the function represented in keySelector. + An whose elements to group. + A function to extract the key for each element. + + An that has a type argument of + and where each object contains a sequence of objects + and a key. + + + + + Groups the elements of a sequence according to a specified key selector function + and creates a result value from each group and its key. + + The type of the elements of . + The type of the key returned by the function represented in keySelector. + The type of the result value returned by resultSelector. + An whose elements to group. + A function to extract the key for each element. + A function to create a result value from each group. + + An that has a type argument of TResult and where + each element represents a projection over a group and its key. + + + + + Correlates the elements of two sequences based on key equality and groups the results. + + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + The first sequence to join. + The sequence to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from an element from the first sequence and a collection of matching elements from the second sequence. + + An that contains elements of type obtained by performing a grouped join on two sequences. + + + + + Correlates the elements of two sequences based on key equality and groups the results. + + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + The first sequence to join. + The collection to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from an element from the first sequence and a collection of matching elements from the second sequence. + + An that contains elements of type obtained by performing a grouped join on two sequences. + + + + + Correlates the elements of two sequences based on matching keys. + + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + The first sequence to join. + The sequence to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from two matching elements. + + An that has elements of type obtained by performing an inner join on two sequences. + + + + + Correlates the elements of two sequences based on matching keys. + + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + The first sequence to join. + The sequence to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from two matching elements. + + An that has elements of type obtained by performing an inner join on two sequences. + + + + + Returns the number of elements in a sequence. + + The type of the elements of . + The that contains the elements to be counted. + The cancellation token. + + The number of elements in the input sequence. + + + + + Returns the number of elements in the specified sequence that satisfies a condition. + + The type of the elements of . + An that contains the elements to be counted. + A function to test each element for a condition. + The cancellation token. + + The number of elements in the sequence that satisfies the condition in the predicate function. + + + + + Returns the maximum value in a generic . + + The type of the elements of . + A sequence of values to determine the maximum of. + The cancellation token. + + The maximum value in the sequence. + + + + + Invokes a projection function on each element of a generic and returns the maximum resulting value. + + The type of the elements of . + The type of the value returned by the function represented by . + A sequence of values to determine the maximum of. + A projection function to apply to each element. + The cancellation token. + + The maximum value in the sequence. + + + + + Returns the minimum value in a generic . + + The type of the elements of . + A sequence of values to determine the minimum of. + The cancellation token. + + The minimum value in the sequence. + + + + + Invokes a projection function on each element of a generic and returns the minimum resulting value. + + The type of the elements of . + The type of the value returned by the function represented by . + A sequence of values to determine the minimum of. + A projection function to apply to each element. + The cancellation token. + + The minimum value in the sequence. + + + + + Filters the elements of an based on a specified type. + + The type to filter the elements of the sequence on. + An whose elements to filter. + + A collection that contains the elements from that have type . + + + + + Sorts the elements of a sequence in ascending order according to a key. + + The type of the elements of . + The type of the key returned by the function that is represented by keySelector. + A sequence of values to order. + A function to extract a key from an element. + + An whose elements are sorted according to a key. + + + + + Sorts the elements of a sequence in descending order according to a key. + + The type of the elements of . + The type of the key returned by the function that is represented by keySelector. + A sequence of values to order. + A function to extract a key from an element. + + An whose elements are sorted in descending order according to a key. + + + + + Returns a sample of the elements in the . + + The type of the elements of . + An to return a sample of. + The number of elements in the sample. + + A sample of the elements in the . + + + + + Projects each element of a sequence into a new form by incorporating the + element's index. + + The type of the elements of . + The type of the value returned by the function represented by selector. + A sequence of values to project. + A projection function to apply to each element. + + An whose elements are the result of invoking a + projection function on each element of source. + + + + + Projects each element of a sequence to an and combines the resulting sequences into one sequence. + + The type of the elements of . + The type of the elements of the sequence returned by the function represented by . + A sequence of values to project. + A projection function to apply to each element. + + An whose elements are the result of invoking a one-to-many projection function on each element of the input sequence. + + + + + Projects each element of a sequence to an and + invokes a result selector function on each element therein. The resulting values from + each intermediate sequence are combined into a single, one-dimensional sequence and returned. + + The type of the elements of . + The type of the intermediate elements collected by the function represented by . + The type of the elements of the resulting sequence. + A sequence of values to project. + A projection function to apply to each element of the input sequence. + A projection function to apply to each element of each intermediate sequence. + + An whose elements are the result of invoking the one-to-many projection function on each element of and then mapping each of those sequence elements and their corresponding element to a result element. + + + + + Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence. + + The type of the elements of . + An to return the single element of. + The cancellation token. + + The single element of the input sequence. + + + + + Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists. + + The type of the elements of . + An to return a single element from. + A function to test an element for a condition. + The cancellation token. + + The single element of the input sequence that satisfies the condition in . + + + + + Returns the only element of a sequence, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence. + + The type of the elements of . + An to return the single element of. + The cancellation token. + + The single element of the input sequence, or default() if the sequence contains no elements. + + + + + Returns the only element of a sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition. + + The type of the elements of . + An to return a single element from. + A function to test an element for a condition. + The cancellation token. + + The single element of the input sequence that satisfies the condition in , or default() if no such element is found. + + + + + Bypasses a specified number of elements in a sequence and then returns the + remaining elements. + + The type of the elements of source + An to return elements from. + The number of elements to skip before returning the remaining elements. + + An that contains elements that occur after the + specified index in the input sequence. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Returns a specified number of contiguous elements from the start of a sequence. + + The type of the elements of . + The sequence to return elements from. + The number of elements to return. + + An that contains the specified number of elements + from the start of source. + + + + + Performs a subsequent ordering of the elements in a sequence in ascending + order according to a key. + + The type of the elements of . + The type of the key returned by the function that is represented by keySelector. + A sequence of values to order. + A function to extract a key from an element. + + An whose elements are sorted according to a key. + + + + + Performs a subsequent ordering of the elements in a sequence in descending + order according to a key. + + The type of the elements of . + The type of the key returned by the function that is represented by keySelector. + A sequence of values to order. + A function to extract a key from an element. + + An whose elements are sorted in descending order according to a key. + + + + + Filters a sequence of values based on a predicate. + + The type of the elements of . + An to return elements from. + A function to test each element for a condition. + + An that contains elements from the input sequence + that satisfy the condition specified by predicate. + + + + + An execution model. + + + + + Gets the type of the output. + + + + + Compare two expressions to determine if they are equivalent. + + + + + MongoDB only supports constants on the RHS for certain expressions, so we'll move them around + to make it easier to generate MongoDB syntax. + + + + + VB creates coalescing operations when dealing with nullable value comparisons, so we try and make this look like C# + + + + + VB uses a method for string comparisons, so we'll convert this into a BinaryExpression. + + + + + VB creates an IsNothing comparison using a method call. We'll translate this to a simple + null comparison. + + + + + VB introduces a Convert on the LHS with a Nothing comparison, so we make it look like + C# which does not have one with a comparison to null. + + + + + VB creates string index expressions using character comparison whereas C# uses ascii value comparison + we make VB's string index comparison look like C#. + + + + + This guy is going to replace calls like store.GetValue("d.y") with nestedStore.GetValue("y"). + + + + diff --git a/packages/MongoDB.Driver.Core.2.4.3/License.rtf b/packages/MongoDB.Driver.Core.2.4.3/License.rtf new file mode 100644 index 0000000000000000000000000000000000000000..5f1d0461a83a425c3e7b50fdade21a331c388c7a GIT binary patch literal 1064 zcma)5U2obj6y0;B{)a1`wu*vDX{U`R3QUd4LIreHCBK;XCRlUq)OMO8#DCun(2Z#? z%Y)?`pZj^v-EtSQ9v8-|{gIY=FS?Gn#4Kan*h;0gC`D*~XkqdmySjS6XV_R>#Z zO4Eh$tgsTD;aTZkdOS>9RapO2M)rA?_Tc=Cm%>S2E13pO*L|0sQjBc5 zaVlR2h**zZ($R-g0AG=Pn*pb#4{HbCW(0w@oe(g^sLVi`agXo%8Em=vK_VZBds4AFt-V*tAf zg0OteeW|rE$`82^d20(REo3#s||>f29Sys zjYW$ZNDrbBjD%pD0o6_gW%4$7n}u391X4k8YE^~5m^ls&XvC)g;zk%~4HpnET5vmD z#EUjO#ml?d;}V{R^Z77Y#*+oi<}jKi<9Hd*60*L*FnNaiI2pGAi5H?D-%8iiP6eul zGn5@zV8iNfJwQf}jqOWJRi;wv$mEsC5pw%V8%B*liLRg>BGq^*O@da13L@<7KSF!g hz+rg*>e&n06Yh2N`G(G-(t(z<+0Q6CxX_k;_yvH{ag6`~ literal 0 HcmV?d00001 diff --git a/packages/MongoDB.Driver.Core.2.4.3/MongoDB.Driver.Core.2.4.3.nupkg b/packages/MongoDB.Driver.Core.2.4.3/MongoDB.Driver.Core.2.4.3.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..d6bed7b98237ee4afdf9abdaaf8d2462c1585356 GIT binary patch literal 532771 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¬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 z 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 z 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�Cy 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
kuq20ikw|8*6y%w-F?Ee%Afc*7{u+hI)6Qb z;k~fZ_o~tS<8xgfkgqG@`j(%i%~T7!h==`0zaAHxy>iI3#cMPbpOegIEWx<dHc89t1y0v+tS>DPlLWj59KL7dIV!ak3A1vddW}y20H(-Y=S$zq8)axB@ zfh&8l$%75KKfgXCuhZ_db*$YbZFUyjM`N=&C!loH#kB{J%}S=jYbDccG?(fyP)aIE zD`_QJCue3(CbqSD@0o0YIo||%N|7CbbyeNCbDtf4)rwSn@dwU$h8i-ltaT1pgi`N{ zr|yH#sLI~d`okd|kMu=vX^BM8+0-+DNxR8=$28W0-R=x!!ngRPb~*iWLSHm>;z%3M zqx9IcsKIE^B{wabapKl)OlFfX?XUQm*;$+b^Wd7{payh$NAc!EG}>`eiThmy`Gm;q zH%5OjKJJM}vSCseE-nrG60FVC!qlrO&2%h~_5R7K8#5nLaq3k^YQ`(2x?g5nId|tr z`Z_l-idru(&|VAZni9`{5p6D>b5BYGdR! zMpNndE9C=?XwI$0&!8=F!!lfM@$i;17sypx)rx*yEk6~9+8%DM>w$6Qy`OqwLr7HMW@L#Tmh75+d zY01>wb<_mRERd*m9M#MouBHjnRqq2yUa(s)GQAH-L0Uijd`lM5^~x#Mhr7W}*X0++ z{kq$J8jxPpUfn6B3%f&qk$1o9NQnNqT3FNL(&Uy1&yP{#NR&J$UC*5Eml=k5h{_&d z%Z)&9&y|w1RR0%7^>89c4lTdc3jN<0*}a|=O%gSJ^Y_a*;G>GVB<`8_ zrFOc#!G7X~oh2^RC3XAx)!Ojr%kG!T3HqlgpO1+stzVeG)Wa#4M*q)D2{ChrC@~Ea z&>O3l3ZVbfCrou$wBz_c`NCH?G^eP7W`7GiWzaO3+M#H4r#58}IrYsROX3*W9`{BZ ztr^rG8sC{Uy&Vl$>Tu-!b2sRTeHwl0$usgf8MM(5S+MpaKG@6u+o>nECSBpXYl0lv zapFuy0ge5g?nXI|2F4&&#!t?Cv7BRWnWw}-&_ZYv&E=r32+=YnF*oVPNvdPz8hh>! z7JH;i4`bc^d{_20a7gz{I>Z+Nq$FNR=AsCixmaiP!RoA=;<`D^eeINprHGV~u-Xf@jU zgyIx0@pX&G@O^xyP4^?iX9X8sGrBrBO10cgSJerhJQ&OuU5|t85v;1Qe0|H&yXfC6 zr*+qFHlO=-)$L>~u^%FR?zgK2}HcRJ0b*K?Ctk3ciTP|gm2x~&1e?RM-v zKF7}Viu!Dr5$l9ny;q?TFy@Nr3H4oqiQ^2${`(wDjmrHA(JbtKEySPtxVZK`dU6e0 zSzI%-Ps3R~a=)5iT(uk?P8+r^*ca;Z3-6FIj@xKF{C_uX4a@x9(mwEjKi7s6UY14y zh8AkRPSN1*G`==4J4+NpyDOy4?gdl{*AO+62p4FUPMj!|%+~r*Aka(1>Q*DIu zY|up4dK(r()Ep*hAnZ}0q(@q_oNsz^T z5MotPkA^0R9i3@X*+AJVyVZ5ig6`5%@i|%*BB)fn>Y+zN`>({F;9D2hxm5KzO5A{b z5xwfss#F<02|BNf?@V&3pFJcY&8 z&ExC@ZE}S^8=MOH*3#zjVIC?F*hFTXEtS!6C)FuawjpH~C1RGkf1BfmIl+TWc2b}W zL-JER&Q;=U^}k!<8Q%`t9oh~u?%uvBtRg2IWJta>mgN5j=H!*{(&<-x9QogU9Yi>N zYu%0VY=*Yw2ymt8>b8jC{}*QEi6(x`%KV4C$C6mH2&90-~8g*pEZ2SFrM z(YNb`ATrle^j~Gg?&bc->!9o#THJt-#slj4i?bK*b(@kW@(k7r!1A6e zvju}{)u4jO@*YL=`RP(%t}Lu2m&B0dv)rspd~pKH?oXXGcj+vo6^)iDsy@mZr<^`R zZ?WW;N>-hl^6MUZaciG!<}3&v-23HW>>L{)YmHXyCYB~FCXdt=!g>zR=vm~8RfYW_ z2|;w-Gomy-c;WI%BueA+EYID*Ldc`hr++QitSqaaj82UJN7|L>zLE3!_NFvsRGF(~ zi9u2W6XE&D$;24N}_<~G8?j_iTpZ% z3R~o;nX(BQYFZSv%I7n>+m zcFwK-Q~|sNqj}Zm&#kuQ(nw`cPm}2G8CtHVtNg*Y$!wzykMW&6EVO! zXJatWm$^LhUtG686~eOnl{)Btt^as!EvRvtpoTtqbF{&JiiJ6r>Rw-Hlf`SDvqK$B zQliB#FUqu%gsf?dqAta4!=z`mL# zBCQtcGEp1&aKF_E=IyrJXE9CA7S(EAiWE%vGn@G&(PvT5E<#^0K2+KQrtoEz;{4_3{e?nx3etRw@l$|3XWFMq%;`EK zfw2g1T51^F)d)j}3}@xj+ofdUIvt^8>5)1k%=!DtIi)&Wt8PVXDL0`JIf~^ktnC}` zc0h&N8|2w#S{kWRLA#Ljf|Yj;w&aZ{^6$l1a=ZXPtqAa`4qm^kKWAA7R|WR?uNLlm z5B<^~P+!)m%jhuX_w!qIR8qzQW*o5Y8@^q-DbmUb_u)gv>nbcJJEj%pNIw4$V50O; z`i@Kk$=104`=|e3tOlfW<}N#WfLo%+n*D!}LplBt_dkf!ssZ;d$sDw8*~AD!f0>(Z z`;G1O5-UMcJ6QVwWCL1%V~ZCDT`+a5)l73|lF#~7GPbA9n|pB%6lR{3=Xc1q7JwVM!~z)H z%-(YKv8>)OpAdFJ(D9sB1Sk9jv~Qg1XW&YUh#TKE1X2oDOh^l*Yr)*&$yDrOnnAZA`iRbl?>Je zS8qS;p$wZ!bvF!zXH}{ay-71&L*z?7)mm8nZ&^x;%VENum?&b0$a( z_wRqlAief0Puq03F(6z^ON5p-KY3x6N>OS-YD9~2xkuG#8?{JGhm@ zbvdL|ep?h&D3+Uv~BtqFHk zlJM1^D~~wpL469H$-W!6q#bI^T`{9GAAlk(W3HFm838GtUqf=J!wDhqgu3@6{OYxld7m) zOT!o}XXo+M4CBEyT;>Dx`1aVnke~EFJ@m0w&=Yr^2DwA#d@ZMTgma^W!~ z&P$+au6#rsFdeA>k%Bg*q@%_otx5jj_Ld#&7N~UfCb2sAgW7k%wg}aj`rbYr?S*|J zf;YpcqYlB@@lTwQ?{NdnY;#>pS+z_rwv{Ntla4UoV(R>cXH6@I>;K{Ft;3@HqPEc~ z7&@g}T3Wg>=n@g>5R{Pah8aL4r4$g5kTO6zC5G;nMi{zblp0`Q&iH%Z?_A$?{y2Z! z*V@mXXZF7LT5GSTc1YfM4Ho473Vd_aj?7jqt|s&*P~0=64NTQP@0%KM{o<#>r63ZV z5-L)Cta{!$9`@zp{n0`X-ks@(ajz*=>tfbE78E+o(!Uv#KQj1M z5VM+nBb^~J+dZt08xsFE(=Ts2?9w?P544A_R;+;~9T@9MAp5 zF!FKy(%|RrsX)EYc(Xqq6aO%arM0LllggD2bc(~XbFMQuj`wC&xU5?68p&BTy;>;N ztE?xK@HFx?^C&0dx=~?LnvHrQ*Bw1}zd-6rsGKzK`9oLq2G#4rQnTo>I|WjLOs@-9 zCKpf}<8FoGicIe$-X1F4+IG^J?^UjTiRT{rBPFL@O3=OF5rsnt&(p7uvzy;`U&N}) zh3p#?bsdvFB?(A6L44v4|JWy@xH0vrp!RAy==Uu;-Es^xfAcDcb~p^rMSJ&&mj4TK zU~p>pgH)5w2V6-GTFtqMHu#9gTc3{lwjxT{w7D&GGW8l$JtSABqV@?IsN8r%K6pS^ znVzkizsKzn4*D{ibjUprmU`#um7*3KS4A8`K>3__fQ{m{%+?;^2(wUt!NS|ZlEgwi z!_MbXEQFjIeGlk+zTyV;=W#{K)XU{E<+l=YX>u{EXX#DmJoYQ09>rDJn2K`h+$L;z zI^V$8iW~p8v2B&wq8^Zml38WwB#xRT_)d6C?L{~dKdv_SzLMsJdZ$}dO4JQ^nOGi5 zi10=vxzgc6bFTLxVeonW2B`_xWodAYNfQT>J&@0)C5KSv;Vprv!4D8K@6b@|N5dmX zCKtKIQD4d6MMj`_h5{*9&Bi5+|F1ZEp7vk7zx(W(X~YkzO-d&28oCeu%KrOtGw8Ws zIGM@aa3K1t1z8raX6dswvR(1_O1$BuyZ5z%H{3ZwKbBc?w&(?abC|ITTilLwavsn#9RUc-tGF+28H(@2A} z33Oz42G{cu^6}p2tZQUAC+V5ei*K}^73pT>h39+YZR&3oKNPDEs3~eypPAUz!h_O9 z-+A!80IfQ9{)tK>D5cWl&C!*~5dGjG_Cjt|t8+SPjN0w)l2+p5 zRJ<{mTCGqaw>l{m+tM#w*lP!=)kzY0eDo#AU)+l@iz_$z)*V-@RsJh!hS!*Wj@y}M zBi($qT(p{KA0KgVKOWXl)&!HB`3+MxS-~r-3nM_+)IlmogYc8*g+ce~D*$Kp<}mw3 zOBJ@o3fS}P1F7n0DRGk-X2*)JBNH`DF{(mhSU73Ia zt-k7Xj+!NOr+Q8urXJ8Bsn(c2dBK0PJC z8$1WBp4wa2KriS_W}|@fqowRO)P0qZHI4(qHG{RFyFb-)hC#}YbGytaL~LF0cnPfT z27E`7<5^Q+rrzq*Pqsn>ww^u#2+cz3%(b4lhFQmxCLR_R}R6ccs`*io}JcY#blR#tUMgbd5{60~~ zFw-Wn(nFs1ohy`j$69kSk}q|r$6!q^_Q!f$TDLF0W&4vHjvwB5bZMA}o>h%MD24_3 z+`aC6+@oRUmWlnFCzHkX;{^2VhYQI%xnD#R{B`)C?wh=bG(2NS>@6AX`Xi6`Hp>>9 zYg;B`ZG{~|Df4{{9Q|F&_T|am%A?NQ3$u(B?O3#466i*iDh z;*N3Sx7nw-1s`5^I77Axm3SJTRxTO6r(@=nF-0+U1V$tg{OqT})AUtiAI_D2LI`Z zoN5!&N1#XBqUMongOOJ)68W!8$^X$HIqiSHQsLV62$iLN`AC#iAc>ot^3vyKph|L0 zF5`zTci`I9f4Xh?f}1LbGYG? zO*j?P5&vg<1+8D4|MC9MoHl)LaXz*uPs&>m3_1rMX`id*FaVpk^&TA`{Ypp_WgGyeh z+=EbF+_C+_38k}ldTW<+OksN5yjSi7MF>D@EFXq9 zjML?C;Eef4e(qg(7;TIG4zV6p&YzeSb;V7WUvDK=Mz_NF2LClFE~@?igtTDDVT(_C zDAy^TI^n2d+@>aDcp*g3G(xC`#C+7Fu zKsLLSJmc}R(J_Hhb}TCJ$U$OkY&%zVR4LE%U2e_jb~?w!Ux+nD7$J@Yhs*_KIQ+_4 zk;a-pSva=Qf@(}PqvvG&)vxb=A-Le#eB{ZYWl{4zp!N14%E%!1M}%ZjjCC^v@6!T|1dL)Rmn+!vB!{>B2OiV||cx?4Af!M1}<8t#Qrhs_YSL)51W z!VZf0JU>02WfJC&-N(5pSGy0tu?5bc0nd)$gO`kYXZ&U##PQw+#5#AxH4Jtf%FMY2 z%0>osY+9_X4bgNf8AmK~>bIso#v}w@qc*yGi;Y=;;7uMdK(wuZZPO7I``ve({eWsXv*|)K?q6mAq`@z&}=1iif2qf7N)g9jO$w*G69MG zbU4>}=;2ZFUt(?IOwLnCCZHAPCIT{c;QApy&WwPq#4mJ@+mJ*Z9Za}DZIF#iFO963 zd7x-LTk+N}RuhpfFP&de{plPmD*v2=j4S6;w*GkixiPF;gfMtf^(Ml*p)hRr-gz}j z-Q$SNK+j`RkAn_ZJHLMaKQ^Ouml59o(R%bBtv?#KC4)UbMRP@rs~V!hBgApR!~Q2; zyU-~vBnZXg2?=I_KHFjfi+0ReOi1yof^9Kc=e}rnvT~er&vb_`V(2L2!k)-aWmQ+SUKcahcfh_>;2eioPf-v}c8 zQ2)PNTrd$T_@7>lyBkP4{q`mo$<@K|pUPNY414f)w#TE6sW1W=VW|?;87=y5pF>I| ze!0vrPh-A`Io{L?)w0z39lki6H7jxcvHvx@JXp`)M@LSy*)lkDnaWB5F zhIYN`8jA+l`L8>!KV7%7OR0M6^x3J&Da|QkH?QPaH*8C3t71g41wTOd%9(;6 zSSf7HE%}XId2reEjQsOLq4AkX`-a5Y;`!(Ee)CGTmQ^>l*;6)}k*=i6t|-q)eWoRs zCsRnP$Rl7pXc9aFWhQK-OkVPE?J6f#b_*yknB*&+*i}no9CK?a`_tTenK&ldHaquy zV2-CWYYsF84kvY)u63B&DXGa4e%;)*JEW^G{c40{#7rXowN%agpuM}qb&+X&{^$e6 z$X;kMUMoc{=NG;&Tssy|UXANN@bXAQCL@JA#5xKi93Z983gS`1Fix}$D#fN^OEEjo z#p*Z4?F2;|D|Fwy%=J=lXiBKvbzY$;yuT=U`;isdJewEKhE~5n$HhaRa>n|-@o(6dt4< z@SoG1hg{YKyaMZ(5}tA?YMaxD5* z`NI8v{uC?c+n^N{ze7n2s)d5k|}s(ik6WhpOsOCU;Zd za_g_;P=A|{h?QwuA2*JcVv!1)XBeWWMa_cjjzWCuR5`de8gU zm4Qg&g5+Mj0Si?rS9DUCx6eW5FR{_8soq=`XNHSgnGv+xx_V-}RNF~Z74>tSfLEPW zge<&zIgOrc9kJH>2O9}qdLAXRA~MQ3r)wK+hJN}@_g^_ZZU3sTBdI%->*uxbdEktq^5i zj#qAjsqeR+dKnTK#u+N`H#}t=J(TtzUgF(y%X0oSYqz`_xH2X_>MpAsc>C_M?j)4f z#T+#np-*dJN|7Naj@esA%sbW>#aHn9kB%tAQhE=QCM=Q4DjT1RWVi_x=%fy_!vnttX z`y)&ZXL2O%gxG07UuTkEgTMNfDH6Y0E#urDl&f+p6W{M>uB2~_vm=v=Qmrm1BiFVG zop+?|$q~%bjb7pxOfSZ*Uq#4-NUwpraA$YlpO-k7@UC*0^Qk9Ws9{|=Va^`0veB>n zl>dp`H8@S^<Ylu7LD?=3V$!2C2|eQd#Z& zy?-)Hs8&W(FNa+4$6n~8jORhOa@y6zGB93B-#qQ>|*yhsa>gHgXS)))G(V04gdM?lZxlf zr<_9{UYq9n$|O#st;-rK?Ftip={?^k{I|{=S(T61f!bFcgY@-Xt=XQivv#&1&bkSTEh6 zzx~KOG&Xc|NfSuX&eQjY=`V#9H~F^oW(p=<0Upk)zp*l;7p9)ueLR?UsTfFvHPBnT z*!+s&4dlUQC}d*=$5z`1`7zRg!WC)Tf1rOuZl6S}+i-vIe#MdTUP4$PzUi~zD$gr^ zX@Q}}hSbr}_nS-lrXA&R+0svPR}lr1j;O@h+b#zg;o?s~iap1`$#t9*wT|yOSQT zqTlBazgH7DDHa=?nv~gOaB8W3p7ljRK=)~GS_z-&)6~B$5=Qgvx`tNC7K1!a(bc9| zUtLn{1dRL7XtDzKb2$w=FxPUA z`nLF2appVL7kC!(pE;1cWBEmnWNRsSBS1PX+oOoNa~LWAZztSbyNuZdptgDe*N&-< zc&BRyC#zkMg|dpnFaR;|$iRC`R>yyjg}kx)qQ8%dCTWKK-H%dn%mF>ZSC|*+X-sv6 zn)g8z5XRIw#V8)JUxh@=?Wd0dnV&Y%iI|q~0qN zs}-ql`2A$~lgb3&!B4tzMLO;w9`XR@v>&|WfRfX`fGt;9jLfIJxGb9WcZ%{sBugQbx#h~f#=eW5=s5KsUgn+dv z(BagLq*0h?=-c0`rf(M06YogzLozm=9?vBC*1HklS=2+kKP`4v{i@GBR*q{4oniYU z@+p>H=I6?KkTe%*5L@4(C_XJX3s$HE#6-b|DnqAJ?S|hr@T!@bWo5RS`O+vKbDwHXI2lf+gHy&ksV;7Ap0RhMm76Y z9L7d{mD>#I_cvaXk+r(HEu6;fNnr+lTX0k1{2I%Z^zGZ<9frSI?nf?3h&Bao7UwIPD^Ty z7#%-3^KC0o9Ge*{B)dI6-FN=x-*A<3sc-k!e`3e*?@Hg}#AwF1?P^G@KikbGW2}?@ z^o8rB04Zy*?*LTJw{-y74 z0#;=*3IFrXY5`uI=u`I_%P4&SSzeO<-94+LUWnjkyEm}En4@v1Ji8h+*`e1x_Lf7d zi&7*<6*HZfssERk;N&}nxqVr_ZnHw3wj=_O?5TbGwG! zTVgR6n$X;>Usm`&Auxgz^=p0GtL2y7wGX>Drec2cmoNWZF^dg85bP9c@aVgppAkwn zZ#D{D?hgAU`0%nk)5h!*ADLTsdhNw^xpGNygXp2Y%qyj}1x-im(7`7{->=U*ODEnn zZ&$RZRpfmyF=|0~`dMU1aePY^duy$Xww5%~3?;70t~$S}!x(w_t)KV#jb3zKR&W27 zR{0y;c9G|^w>^{5{`cWd-rzU+muCZ(bxRIwY;t=iSwVdj75p<%L2}`Bg=~xQ zdQhQ|e)43DJ;+wMIA{#xB#gDhBz<+bBNBjBx4S-WDHo{_G4(`uc3{nZ-ZL1oTJkwV z7Sfb?vss8sv-GB{B#a8bQ(beh6l2;Hp=#4^Od0)oP9>}yd{b37I~L}RI@Z^Imi>*q zooDLaYS7gUc7XaUq*owmFDONi0K28bBSky(JgKjS?u@y_o_kP)`kO0*O7WxsMTNoD zvtG7BN4*}l-Rj0;RG9x?^_Ju08%`hFKBxe8I7s#5Kb4 z?DZ{gd*oJ!7+>IIW%Y(FmTtmg-hakr>dItgl*9bz#R6k%%e%xAxRl#3VpCK<>+)m@Q0f+XMZ6>o2n=N3wR zE=fDU?dBq7X-FZyn=8Nh@p*o@FV|5bv6HcE>gj&o`x4<@61kEJ%IOn{_6kbkyl&Q| z@JgnBX^{hBbWh4HOo)yQ*b*$iN>NWIS&{ZhOu{RR>bAvQaKo>-xx4kl(YNfq--^># zKdtW{QsnlJC`LJW#sjv;Z;lin`WmB*iOG+OBDcQSDJv~ocK;e@U{Sp8`=t;_;7_a% z4m<7jo>P|yzk#~Qof2U6mc2ON9kvhMT)f&Z+?%eN5P2vUe8=|jUE5*$?rqKGoXI^$ zgEON~?b@@mxYgG-5ACcwo|9KA9fh7T*M*+4q3<8onN1LWU|eMN_hSz7A*-mj95K?L zX3Smo-I>snT)VkRS}z=R?2Ay=+xV4M)t(#s)#25i(;U{yu%y-J`gZ`4YqN%fk57Hz zHim6GXRpnm=W098IwUeRy#49T_0rp4a*||2W8nciDX)AX=S87g24?!Xd6DbkGb!u& z)D1*u(~?gP3nks(M_>-Qw%awoXMIz~w*6`!D`)#CMK{QLofEtokCpnpcoLD8KPyDEP?mlM7#t%z^6%``dB3vPYkT_G*K;C z5c1wcR2=@YVuB%7t_;6G4)FQMYxkrbjdsu*M$38M)5M;=xOO(SRd|N5GX=UBDGPLKrqGi`y?M z5g!wih$m>j4os?!g|XFW!nj?Cke*UB6yeo(tGr$0kg8JDC}Jrll(rNUB_KtIa+YF4 zF{Kj)#0!DS?Bjv%HN~)%Y99pK91-HD3pY~noC}%cB55O3Yh`;;@SDmIZKgtM4gIn? z2HZoRz=Cc;`EYm8>AHDk_~moNJB%tqFGSvk{FcZ@|Ms2@B%I~?%`qThBM=sfW`c!Y z3M2U1m_(zGJCxRftCG<2bLt_==ak9-nV5DcecuW+Vf!uMtrv#!(j$!i`dv6Avp)&+ zZmSQ_hgyf(T@oTZF6o3ybKF1(m=F5wMOvqGm7E{7&3F6K@-yOL1Z7+ z0BMw$$-VTior+kp98iu1s>#*6VzA* zQK8<~GNNj0@y9t8Ndq335eFEUK?8Jy$WYq5fryGCIzW566#R`l;Ki+$IpBM7IeQZ+ z!HIDY<)kEx>RNAsZ1)(*?WZ1uH>r$an`x6*iu;TW_p5Lf9(V(RJS3b{Eh?f8(%?*0 zBcfRFv=AOh8T#${hT>;$bPTBh<%77GIHia<6INBWZmP$RS=rcvugxaC@lK;ZZBt&g_~!${mgqhlt}IR|H!(%Q%+cagx*lqyaEd zNcs~-82uCeyvuEe8t&*6eT_)_Pjnc<=yyqjI}G9UKoW9LFw;5kn*RJzIO7v8JCY>O zn1lk^h)KT2=zRsC5?PEvrw6QFvukQx2l82$k!(`RNd}@TMd3P(Vs^EQrgLNxXU3nQ ze+SrRd}0Zem_0d$SyC?$`S)kjF%F7?_( z1|?t+Y2JjCy$sO82~9;W8iGf{*anOySpjxMv%$WTDo@Zl$`C5_p#)sv(JSz6hT9?` z3QOA185@9=qbN}1z6mUYi3(;+zq1tZfy4ApzgfP<52+%+EW^`+CVakBXVTV=3UJ&; zP?r;eiR1>hPr8fHjfQKqlEwt~iPAUrh(fX!;dkd>(-XCk#`rnXleK~QQsqfFJN!Xn z(hO=~e}-NaZ@MR3{!G0QE8y;sm-NtE(I;Hjq|^vDVBChmBObJ!N{WJ8KmP4hGVutt z%CJRr2nzg9fKa9I%q9{;7?gA>KM+6Wa!3@6G0oS=6~7aqOnzs8IQlNijr}U70D@7? z*LX)ih_D95ZG0(U#=OecSQZ}!wz+?SgxP$-4|B|n|AhsAE~Vdth)M!<u->|Dk&tQRwPOke5nt5g;51kw@nQjEimIB3yncVTy8Kgl1iP^+N>Xy3|Gv z@ndW8BY+g6KZuUeA4tb=thQ&%Zf~^i=D|x*^X-pP{!oCj#E8l;UT-VXjeQHW9*K}z zS8`NPIW=4l%b!K_NhtlxT}OQA<;^DqOqeG^VcQIO__^*18o{6cP&^fZe7<1F16w(T z02_M)=&!!RcC33jYr`3mK<*N(U^h`#^*vpcguPzljs~#UHzw=C)&aDfN9iBkony#n zX@(X2GM+wJZHiQ%pYx}cyEOx zn^@SRYXSDKSCto>v#y^odIk@Yeze%vr{4$|CW@3wxo&;?XPnBz)lWLjuY!DNd4Z9aSX|w z0nK#^lr?N8ySD(@4xErq?CQV*KD#rjM^H~`cyvfGT0lPgXZ8Z7bnOZl0CxsdreshL za84kl3m5}*T8qAlNCL&ZtmS74h~}ru5>pvAEeSzY{SzRR=Rd)ZAS`jh1rXcO`y&9H znxG$vI!XZ(kvggfrxGg167UO_kAnyY&_B`P0DN(gwFRRCUx|u=4a3p{G2%&XVQkGnrSuwQi82PCn zlsP=pTbBvp4z?YY{7uq^N3b|nOBo_SQ5fY!?eWt|TtXg3&#luCd5lw`q$_v@ubc11 z0x(RPg7vc#FWN0%<4E!l)K1Qq8lHKCzwEw1I>O2xqBa$ZBnOCn%RGXH6T}$w)Y4&I zux~j}MIw^`V%FK`aAo``I;RElTM_nNhN(h?gHF;TZvq1A$x{g08yD8xPRlF4t(&IyawXTw&SHg)f)>SXKB&R4$+oeZ` z!z*2M`*s6tgFd|DRY~A2ncWEhb>j|MFvRSF=2O`|3SzCKn88!wQ)}>x`K;yA_1N7< za=8Gp`|{i#@U+zWor$f^t5o8xH|L9+I{u$BeeHqFV#O zr^eK+ooPFdrz?`L z@l?nkJSF%O-YRs#up4gHL>>a$3`4(%t9P&6OyGR;u&rLxu_w z;(|#`yWy81%ov>^YD85!7MxKCXShLWH5OrM#ViQ^Nj>B< zCpwQTA8C*1S|%C8W^xn0-{d*mhj_HwO$}rCT2~e+L4KgpTfVu55A&GY7ZL&|nm6lh8 zJ0J8wp_3IV?Wgh{#izWYe1!IMUa3I(bRC3IDqf?R7Qjy{7U5m=5*hfE2o=Il69E6k z6j0#9h_e04hN9wU3HT~O5%5uhKH!Z6B%oO0PNNzlnT0?i#7Za;|3_LcpyER>s3NTw zSdqa4a8JGu-!FDS;`7r5q`fC^F}(*^zN-sdzNZUzOSK2MrxC%ki|-<7zd{0jKEq$S z_W|6X=?z;f)(faUiE<-H%pV@)1~Dsfv9 zgqStcqeZ?F2RvyeK_~d&p^|Iy(Pg!?0VZY+wEgia2~3l9ND-izwB~GNJ4yEvS2;8s zk1w^Mh!oLKoDDzLV1gfOX2XuPv*B!74PdPP0zO7#0f;eKAjCXdz{BV?GohPmnF1a* zlcS4$lu_Z6R!HN?NQ67i1Kf*m5XVL8@D=SOaQORNz%3UG;8swPRDquba(j;jbjza% z#aIRbWfWIMJ=8iWk;74ih|VZGgehSkoS51QPgpB}bS@nwH=c&#sZ?Bb&6i%a%okY= zMQ#$ZO{S-#C|#Wh^Tu%r2GqAG>e^QB5Y0vNPUC-xN9G2d{pcFK(98>qu<7vD5e2Ymivrp7D*@P#$$*f%9F*vn5AUN?9ulFxMmoq6KWIk5N9zf+#rRf(jqJqE8RPu)p9#bw#Zru-f#57`_)0sOu;(#LIn?{1G{_ zOxsU@gI6Pv60;h((~O0UyR%YdUL9a=MGi01?Grw;%_ktUqY%X2Bp&vtj2kgk{t8hr za*F$P5Y3VS5fkp-000cB?7*aFh)C}l>Q31pU=Au=7Wp?bA)u#eAq zMTho4_U7g=+2_)tvkUmcHTB?=awR0!zLpJKk|4*06kKW|4>K(Pgm9YihEJ7mgB?sn zAfvTbB!abmKnGJ1Fs*3?fYy8#pk3w+FP`y5+~2Q5%+Kt@H)qZeZ)Qjlsx#Se?J_2~ zc6m08Y~LQ~wSTBm>dRC)&xNAlozF(FEuBcK1w#)snKa?uE^sVe|Wgb3N(vK8N$OI206$^6S|Ve z=1pwp21F>Wbc^g7YGdMNT-T&)-Kg6O>oU;b%DaDfZ9>;H^A-OXBdfbt;3Ki&lh?X; zxKez$7-4igS+H3yGnh0N4`7y;2js4!gYTxH16+QeNz@`+C5@Wto`PjlUjrL>O27@g zWRT@gGW3n|o&+B5Yfq4ov0dQ>9y4jkeNPh9Zg&;JfvOKk&aDSf%Fe|3h8Ppt z(^eQY)E$DHjm5*Q)KLoXPAdVHa*Y7=wC_QLweNwJQ=WmAK0d>55&z2EDBwhfx-HT| zf;Fd4wNkf0Y+Bz6i*ey0TqBDdBleXNZ8&)sIi{%%<4rq2Sf?^0R#I~iD`^%8nuop?g#W;Z8`K^wJYFV{cjS5u6oK$*F}h6 zr7OPFq8qe+p&qDM&w}t<)XSf(C*G;~t(*7LRobKcPzgC*f9-U$cn-3zR3td4KLoQ@ z9YWh)2Hy!7K9@n!EK(z8U7;}d`CR-q2YCVv!jAx5a43u9t*3+KEs#y|I?97EGk$l_ zpAPBEjTSwT74^pOr-RNa&V&1iDZ^z5nRXzP49}(|a_;@bF17w8Zrkg>lpbn>yok>C zW3WwrUPsr`5PqZ72hn0hSvjvn8NUq#M9x2X^cUgW&xLAw$%D4IPu%iO5U+xB2*DIX z*8)d(Y^O{kPx@t%Cj-SeY$6k1$_H>ZfkQZ&=t4Lyq3FARNpKKE+y14(;eO+%5F$6; zyhstwl?WUn<#C@6Az6v`UH7~`Ig#wLOMm1^p57os8TXUci)}peG8m+v6joUBw_5RA zO=%;($`x6fbEj;wLbt7WAd_y?QkkOiI@~G3fYu@y{5C5z7^4P1Wh1+Doy5fi;Y8zi zkc8DFL&9ooz$<*GKpgPejdsYxzKa4v(nJYD(vpE;*&cFe*G^H?NGAafd?=w#2BdkE zc!xXPD5%|%p1jQ{lc3G0AGE@=0duGRi)bKD`-cvH0z(|8I*uvqBUU(uK`Z=sB9HHA zbsXQZk6hu;A#KzC0$AaG20x~B1Fmo`5w#gNl7>`N;$eU<1km74KNR$hJc8}c5hPrr zkr>0V%8DwDa_`8aYJ)2CVMxNBpz$yatI{ZkC}jjWAy=r(6CF0qT$%*r7?C~7jf1qs zd< z`fVo*(wguFN&+RL7flTjA^~B|`Tqaf@9dh*+}WH1iU z+Zs_qjKhojXw4V*aF9cbbn2k2qfC+QL_IhZBijjUI>M<(@v)X)062iKkG=qLz{47T zfnp6ap?ckT$j250!ZGn3c%J-?4_rXfF(XLYKOm3z0Ln%#E0Az(Mg(t6MkH^HafEr# zcSQNxG%|Kg5(i)8z#1*;rKdon?h=_B^)W!7@)&{x=$LyMysX_qr(lGE27GITD(Hp) za3E-DK=;F3kal1%xIP&lR7o-)fUW>i!^TK5!6AMK`bqT=R`oN=pPs***5Z++u_Cxl zzOC_(1=>K%`WWc|FijpAI(&i*5zT#@+^1Qo#U1^3mZ)a8FVPG&V1S zoJtuwM$wLk1C;IVErHTw3`0n!BdZKEA1SkDbo_JFsx1|oU;F?{6!R;d&N&56C zGS=r}ZK=_Zs~8jvUGT>47{m0b+3@ptlt4<4La0Kb(RTt0(1JK9parX#LekN915(gb zINT4YLKETOj;iU=?--+1hF0JhS5SmQDyYK26;xP2p1=Y=DfFCCBK22%Bx1jZ1f{x$ zhm7xzN6^J*z(i<8@T~7zk+nT;p$hpLK!bkz=e0)$8k6s0bCGX>jE~#`TQfcbganR5 zkOGm6a4f4tbYl;j=X-MugL*kdIMABo7XOG2O3F$$Os|k?A(#ses|sL6bK~mBh@pe~ z$7aBAh_JqAMHcoofE&&DM;Il!rie6-y@;^pz6E3C{;c3GAXwlEyP0@3T$7;*Va4zP zQJVm=$x9$av@uL0ZW-+QM{L#b)x!Rqk|dn31)$7(Vv*V1f+$^EGPJ$teXT`7Jyoad zo{tQd2va`S8k2-csrX_BLs*T$0&NvYwjsu-ze%-hBon_(eN<>oVPom8aDOJyA|}VY zXS2V_$mQW^`5Mv2(!HQ$@9#URqvfC3WEW@p0&eI-k&BJo^OBDbuf7JDVr2s?W^73st$VRd)Z0{n35i zy&h|q`Z`TmzgcQGx2SF4QEJx!R_j*uGJeBvv8O)RMSp&|Ce&_78#hGOeQ=7Ott3Z- z;g_?8h(m>M>-kwwT}Gx^#=^%S%{`&7>Q9xm%k_UsxEd}fI&lWmoxAP)p1CevKDo}B z+P+jezL4Fo9VkuQ%bsueeryz4v7bHRZqZ&JCVk<3(VmYzzYV@pUchQ#v1i!U@VwKG z-NH%UB7H3p9TEM!j3b?kqPJ5b8tr#)noqOwTjY^rz(V|G36DO6KYp09$3cF?gBoZ# zlaJ51bmSzyG5N9>y0wFpf&5iV#vi9>QLYynyUFoyF?JfAyH2GmN~b>xj>&1FjY!O8 zh7}L?UNA+wGSoZINq132JCKU7EX#$=q8i@Db5f~qBsj8Fd3WDZLe&)HZ9Dq+)t2vj z?f1K@TPf|a6_O=g`M!VQbG;L+hE)g}XQ&zV$er-R4S6cFBkKE=5#DER~#XCWb$&O!TN4(8ifk}Z*nr&kXQ%}2|Ynt$9BxTH2rdCcB7S>Je z)j$7sX+8a5EZKVRiLcT0z_+&P$nWaUGmPB7hP7QS?mdt!mMqA+aK8PbnHjvWRI|M- z=YPHQ+uQ$_lIgX}A#dHyKJB!naYOr2hFq0W)$&5}jA&&+LB|wsPJjDqZ}bQ$n>40k zwG@A`rR^ko*f}RdO4;sq?(&dWj?SXZMsK~XmzNQ@92Rl$o3F%R;#pyf_VJdv`o@*D z$(|wFZDAn`v%1rrN$HHR=3lnQuFAiy8p}dV537w?+~t-04lI;dzqg0I=X)>rZuZ{kectzqZ>qneK~bk&fK(H%J*^E!5Q+~4s=$DbY2>Itj! zSC_6XPTkyZZLL6xQ*URXQP|e6^ivw{=(nkohCBP+!@^zthCD3Lk9_+byOoB!`-RzY z_w`%+DGl#up;6e|&-f_9iwND%ObkT%>t09*{iQbL?~B!4^Jy5ZJG4*M5&Dm%xGv-A zcwOa_@wzwKX&8OhkvGKW`{mL2^ZuM2pYO5*iY}6`?)La&+YZF*^3-D^<-Ph;yl#d& z{@6>eh(GWA()eR{zaF3O#*5<1yYP|te2cz{&v*56NG;8Fv5#Yg7@4DUUM&a%e}}=keea5KsG{dg=~V{ z2H6bRBBa6VO@p_a1}`@a-fbGZ+BA5xY4Bpx;Jv27YfU3}38Tr~!gz9zFoEob+zYu+ z$RhuM+z;6U*(>D2do6(1IvL*TRI*Q~BM%Gn$bO-bJR&S2k3t?3?BsD_8TlvV3Bf_0 z6k5pv$WxG~g?92U$U(?6kVBAXg#dX@2$JU^FF?8>haoQtA#y|r!)p!0TMffY4U=O+ zCwWCUmmC+)C;x`L3i%J@HQ@sCU&!kac&Fq|$Xk%NA@4xmg}euOU$_w7=!Nh?FC_mb zTtq$+E+HR7J`uXer;yJep9`0h6Ob>2E6A6S{|Rg0sjh*CdKLLbSWCWzdX z-a*XbPI!+y;Wgd~Z*dpA#Jk`f-c6Fk-S7-|!z0`cPw-xNfP3Ki?WKMne7OhU!#xP! z?IHMV`{1iR3?FSje6vU3lRXY!>~np#{+Qiv{2htAligN`Y#1B~s2|$975F`v)1?hmS zhIEQ`!Z~8SaIUyOI1h5ZxKOwNav|g*aglJb=n*av140+%QZXo8CWeK}Ay+`Igsc%e zgsa5W!dkIYxLQ0%SO>WVaxLUK$o1m6!VQr1kQ*Tz#A}6{AU8v95f2C(A-6&{L2eU| z3!5QZAh$!dLbi#o3ELq%#P@|eAUj1fEd3;LmpDnhOPnI!EjEjEoRLV0KxSMu;S z9&YF1y*#{+hxhYvFApE&;XWQd%)|XWe3XZe^Y95C9^m0qJbapm2YGmihtKiw1s)#e z;SnAl<>4_NzQ)7XdH5y|-{#@FJba&rAM)@c9)8U0=Mx_PjEA4|@B|OP;Nh1%{2vd$ z;^Egk{Dz0$@$d&8{=~yHL4IE2g>EMe^LRL2kgsDV4`&H-{$d_4<>71|p3T!Mcv!{t z)q>nEYIuCEaO*iVtmW}}JpTe7F6R2BJoNMMJf40Dzup^oxSf}O2M-_N;bS~}hKJ9x z(1^K4j=#mjQgQuTG)y+g<@e@cxwh-L?e}*c7maecMxz`z^HAb?D-V;n-p0dTJWS*1eR$ZHhy8i_ z03HtFVFnMgc)mOyPU7KYo<5a_#YXx1t9V#rl-pS?4;LEccDtCz&os&5Sv(xi!-*!j z{45^k@$hUDZwEYFBgx^l$#VMjJY3Ji4Lsaulgr)D!$)oMbsXm5QLg`lhu5cm#BBBr zJlxB}eLVb=hlVsc9Ku6O9~$;2yZbzTE{)s!%IA0Ru%)kjy>1@1@vxnTK^}&Ac(A{G z+#w!5$HNzRc&xvi?>G-%<>6~Qe4B^w^6(RW+zEu;wo!&|+e||jS|zML@MKdOYB-Hl zL+T(4AWKYNl7~#)wkq?-Nbk0_n7eIj&Fjfq=9kFV=ApvZ;QcIP5#|ea%M=z~YSW=S5`D|LQAkMGjQHI`O~So|ma{ft525MzB|OB!qX~_|{~*cM zM&T^T9P3j|-)?<|h1XiU5pERzYwfmu0io9^C8m+JiMisD#6n0KNlGe5*lnAgR3}y= zeN|EyxhQFgcu`Uz#33F|$`zAMF7R&KAX~R>wC$kyoGrspoRVRfn{uO}E9HdPmC|kd zXG)5pv{$#S4RT+vF7nS_jl$7hDTdyu-L`S5ErzYBKH(u#67r|9W9YT?N!w+hVOd(Y zts9cwyW2LTw?kZt(1kG6JHt?I$}l8Dwu0XQc?4-6Lt6Vd#7q0&ypVtO*@ALTh+ms` zq3rj-e}fz`_U+$o8wwc>83)OR6hLP5-;-JbnFE;%nGadg|9#^P8){C*ww;9SvzQR3Th8s>Ki-wbAs} zD7UF_wA)k36tm9QXc{;sfOCW(8%?=qZZzF`Cfdu`gW@fa!()F< z7;%=xO50!CS^3sq&su?e9!S1*=eQO_@9_??VElS(aQrpNIJfn_@f)o)%$=~_x)^dE zWIyDk32xK-6E>RqOmv&ZPDI;-bWF?_?uWcF@gdt*w8cf44slgxYGPWJ+mw^#5M5aZ z#XaE9LEgyfwr#>aeVNr_NXkAaPR{POH9(eT+Y`t2cSBG{PPgqSgkI~E+-}=S$X3WB zxsAeqA)i2`yl&g#ygjL3V+^t6Z!~A-ciRH_4dzWK}S-0LANcl;QXYDf<|El_<0DgEm)WISiz2@ zhfI4?`%T`HIv6s1@)pB4le@?_lix#lBjh&-j-A?V%ZE&xdNS#{sSfdtsSldR_3t9% z`a8rwp--QdD^8e}lDuqMx9vrQy{9({XHTD!eCu@F@AN&XcS7!kJOFtF@+9OLNH^qV z$bTSjK|YvXm~5TVC=@|zA&wc{wqY~7ZIdCjkhdVeKrDsVvHI#)h%p%AF02v8^{*0w z;GKo&YlwFh-qUAo;yryv%zDs#B(aMe0iT<4PoI`qn}rFu&YiQm$b@M%jNd;CWACgz zsgFaRhCBy3GV6%(f5=Pwda&@#}yf~V-Cp>&7%a?y!o8h%^! zp!rbxMl;PX6z@r04rzsWAtA^)kc%LfL#{6FB72J)g$X5xO?!(^B=0SDi2I5*n)enD zx9u(7jC&~*$MsJmTYEojqirBu+C_qe4)N~NZrfv}xwf%o-L~?wp~8{GPF!E5?W?jW z>^l3;t`nDysuMG2ciX7s&34%4LxPaY5x;46qp%O*#B!vSHww*=wcxiPd<5a)@?AFD z*>^*BGuhgEFAJYIdoSdm*lW&7+g*^Xij%goikC5_owVIoF;wVE$xivKVk`^Il~V-T z-se_2QdU8_D!Xk55FW40PB~HOV|k>iPK3Kt%B!A8Ij3r~K+D-y^$%9w!&TWSLiGcL z=F6+jPN}YbnDM4+N6MYmkAOQ;9tVH9`Z2~o0{^A@pNyx}I8sK`Jjr-LO?FCE&A-^O zPVn<;o@M;{n%ya%)x1dP`Nz-APFV+ea_+ibhT3(#deu5ovJg&z%&y(s>uSh`+GqNI zZT=YYJmho6rNqx6ANM!beGX|9w$QjHT*RXm=%Gvc!lXHM0WnTSBo6vC5 zHlpFnUY9orsc?l-&w%93J0UtCZIFNV8lHM=-tg2fA*J($)SZwAAy3a=hB;teuixk6 zS{AJ9wQa#k+gA(PQXevH##n!T>c+p7!OMoH zPJp3X4aDHuo3<0OAMyd@wC25O z3z|3gx~=(G+Ak2P#?+S$Y_WUaz12jtB|@G zvK#Vf>+sa)Ag@DCApScf(JiE=ySr_r?(CEXgkFTJ-KX{bH{@f8xB~UL!Xb`Zk)5&( z(uMeqknNB?kS8H8Lf%-hx!0$VA0fuJ&AoElvQvs64Q=QXkPjfqo-Xp6$01(T-i7hQ zk@8NvBgO1J*n2$WTFCw0w|l?mb)*PBN6G--C%r2m3w>Ypz6x>+a>-6Qj1nr_Sv%1k+L6h81fC|_mw`3Kka=U58-@}vEem+E`{6x z*&24F`~#A=%8{}Ja{a38l$$zmd`EW52OYz0Ggk|#4?zC2+CWN(39^`cK$emQvVm+P z8zGw@`w%}!-XMn{$B>7*S49DrBjhUgHn~<8`<&r+mp3$hx!pb~)1Em|NiFiVw>!K| zRG&F9Urz9Oo82wpfNQ=x)QX7L{Gz z=UL?{@ix`?+}=3 z&>|c-9i+~EPILm#Todqxd`_Q7P0K~v^a6T*yIK?T18!O!UZ*SIEeQmCfzp7lz04J= za0Ejvj@$G5yg`>-1?)gy`*OF})!+}h0-<0;Kiz4!7rTRgkE655;|K<|r$LF8zJRvg zvviNi(j247oTHmLSJvW=7%6W-MY~E?J6(SI^za!*c?r}vDTU;S~ zy`v=<(Zp4bdbaFL-D;B6ci7^ z@mcB<%T5|Q9fkrLgaCLx>c(WZrO-Iz^OX`;q=RWOa;rph;jAq#X@(PouBRQBR)7t3f%d z=34mF1XIYhGVBV<)KXUC2UcX*-PmaDiw?KC)E>KQf5Ou)?nhWmX$+9fPR1uEcHdL@?N*vBst%_F;n<2FN zT9?!1UgeqRiYWU-LVNV zMquP5Wfdi{wrI4K>UKKnTp{_?kxM?cHx^SzTt#!o-IFHG7Y_B5996T*88ic;nyuZp zDq2+^=!DS~r790{7s{n|p$g-i2%cSSL=*Kq#;Av=oHNe8i99Zk8>*P3p635{t?Lb*`e7^HpqlGcZeFII zo2Pdl-c&@v<6(A9 zy|2yXRkB1aD)y8M!#_=yts+&$M_}#UDPxJUqNZGGOuW_Q!4RyJ#JWlJP16O+S+q`- z%A~WJOx?jsHcN5`S*dJoBwtl;S4o9jU7?lhTuo51@*T@PE_on?hK@LBHGYqaHDpCy&I*(#wTM#d-LVry%yt^3^CH5kFh&)e zgC0SPb_A4Ii5F9w5~CJCVJjd?TjZb)ew3=bTDEqhl_e{~j*xPY(k+|l?G$!6+>sPE zSEz2@EJu*4sTE!5ZDMm$XKW(+n%m*QpcLQ=Ru^-rTSiM{b;2r=SD%uj!sm2&5RoTi zM$6~B18OsgTuzLZTXr#8xwd1J%#Ml8$X2YBo8UDYd*l43b<|p8BsP0o-0MQM(dX`P zy0nRv4u7qyDIBeoOK|#{qO|gT#p@&GH~5>ht~ssWmX?64B}N%JKwh7WItjZgt)|T7 zt8+O5&Q`6m25r;hfvw@`rp~G6-&Id5(6<^F*+scAQ&VV z#Ptu0O=A}}8;!yvmm_y&#+B6+jf(Y0k2}<<&8Bq5$Zcsylt_OrY;ySHGDVW{kn7#; znq1}7P>ys{dR!pj=#0`tb@6!)PuPX|R-2*3d_lTKUOE25U7z zw{6Rgq@2!gN{+?ftgNr_d0Wbx%3NMmqkT^N3CWW+OP%eY6Lu(44K4J>wC#@0VYFb! zIh_as^p;^S)5#^@ZtsALlt~cMc)Q(>nnS1PJhelY)sr8P^>?hKEFJGX>y&TT=DcCh#ma+?9JnVCB?G_V}D_F0MfT4!UH@1_YVX)+4iepBz$`yf7$pZiQ9G zzB$k8(YM#Rn>@M9`B|!)pVh;galMMn(O1JM&+5VZ&N|h@%F^?vl`G5ATv_}pQN7E^ z(pP6|)H+_b{*`CzpCL#847s}MTzxfs*evyRN0$EU3*E{u&_4@P`vZJHpx#54j;|Tf zX`H_-jq{fkXI}7el;B<8sIv z_)p4t!?-U@MIo18xn_B>Q;vi%0teLVP+U5>gkWU&QZAcz!Vr(ddvQ=YLLpbXUy1nw z?iM=ilq+sp7IiW;jYw8eXDut5t3YR_v`Iz2y2Ug~BJtyW20qb%7p z&r&rLNBcK}f~rPK!;-e9vY(2ncSPA?eWirwr$%+rWb7fya=QEGM2kJ2h* zepY16&!S^~R@9h(%3&lkyQeWf`|phT**bLv9k)-=Fx-AVr)nxLCtDsz^-hgZQcsOh zGP{RSGW%4wm#wT({;j*wKXq0_tuq8>tLuu{f3>cte+Sw6XU)}B=jyBJ1JkX|0{v2$ zI&PTD)*I%sHNzaZJ31qe#jIpy#|&E8bPb2TWQbC!17Eqf*{5bxMiUlcGc#PUw%W)N zP`1v%k}Z!SI<1j4Mt4ZI1tSk#n;ze@v*n(hE%)r~Nbky~z3Y?>E;HxvG_)KYQwh2% zj1TNWSp!pd;Wg$P>6d6t$s<8bms0gU-%Ipg^6w z#p?*+mh*BH(+x~9&p^3(2FA>@Je|@Ca`eZ8oKw}e-ZAL0IX!eW-R!x#>Rf#_?P|Ig zT0qtD{U;}?ujJ6aqMcTAbXv1+@uwVI{!XJ)OO;ocBhOrJ?5C{d%-p}zs&jQ(wT><; z_Y{k5NGo)%47&rmoi&$K7U!PoLUVg~?z#F8SWitKux|DO``@Vrog2>O%g)h*Om1Xf zfXBlXe_h9UY+bR|Mc)iSR}OniehZoxv%grge%VuJ&!elu-lka3C+}1hoYzAI=jm6l zo|;y$ZuSDE{;MibYQWJ{q@BPbURun4izej|ZidJTYJimcSLG4Ao8sT7`Fx$$t)t7z zXD8#=7Nwr8On6b+xFI}0`u#vuLeCE-zlR5tum525)bzpVW-nmszpA199$q2n++%)> zxv!rqa}uk{*;+dxQgxGbst&qpzsozDxiXQ4J}J5fXid>cav$Kcou+qAVoju>zI4*5 zYJE}<)u^XOHBR~))i~)d+P9o8FYxx1A+};B=`6BLlDF?_dc`DpCrWknmkT<@Wfrh& zpv6TGDOm-l7}^VT9#{djo=;W51wB--o*ork@HZ-0=Q;{#{WOI=uIY4|b+4iqLtmfJ z3t=W}u`A?odxF#1h7VF!MCwY4?B({N>Z|?IjCp$`x(7uC~NJx4On&Rb6kdYpAKIuC0%hQQKHk zUu~~ztgA1nw3k=SE37D2(ttH{%GhD0)eTjOy1Jp>UR{dRxeX;%MI~HYUR6|GSyNF` zuU@U1z{<4GF03l9C?WFJC++)2_W4Lf3BUZ>lB$xj>iY7+`VvxExWHatJ*T9~URS=b zgp^d5lG(~d%;98KLuqMAEwbSzDhn$rV$RAA=eqjB+Om>*dqdTns_OYrb_Oy1jW4ez znE6_K#k0oK@sGxpB2d{?g%$Ra+S=+`vH&6{@B&bGcxrfpg%x!?rK&ngSuZ=P46ExF zsO8q-n#+rj3sqHFUE3Hry0D>sHa)ti5DlY@MXPJe>l?``x*}k=6T8FXZ*{N|iya{c zp_Ny?d<7aQi?T&ay1dR}c85xvCqh)lOu7H5RuG z-jXG8CJ`J-c?~VD4F$CoueS(AbgTh(@xEZFu&F6PckxE&lv_}=PHsuTNZ*Or_aw&N zCpw@0kvVRUhwm^`%Fx*{sGLo{8?KACB#G9RVtrTJL!$RU5S@JyF+E1!OscIzejz>W zog|w56eO}0gG8AeMA`fyzwVBz^Ac}J(b$_=(B#7b9*<9dxT%wL{1V62#1E}&^>v`J`T|rD zj8)i!+L*`J;`1t}^x>59IzB%zT4Q%cMcL${ESK>Ev~j!Lr;R!AuzUgcIoiWZ_{dMw zT@fx{jM7J;h&GAjOVPwwe)-EfmZnlx8?5cJ8&?>wU$kJBU19Qc#;%+`7M_u}nCQn+ z=J73ecp^!Bz>6sC_CRbRFM-Z&%wptKrj64|QX{l$(qpRw=-bqMp#lH&6Gysuan3fc zufyYNYT=6VV3f-4j)~hHu}3s`9nm?$(F#XXlRbV)B>}d*TrZ{CtE2pjZTvmY-FQN5 z9}fB$8h(&6&AU}vF?3Cdy@WzE(o9NW`9k58Ur&KiE2{yOi(>el!xULgUj>E20jjcl zqvPy>vz2qXH^>y1!$M|a1-OpCA5yzLeNO5F;hqUABof1uQ7K=IRQdp|3%19nL|&lg z<&>=Uy92D|*#xJwZ+UlIXN~eY5Kk}|ucUeT#yM?Hf1FBvttfAzqWg}TNaX#E9Je>K z+U5H)g0oyMZ>_@}R4=v2ZIw$?-s16O#k~p^V)k{0 zA`hBfThOUST&w*uVb*AaH|S_~ReSlavdHDBaeBT;tghAFtZ3^(jsW99PFP>zLoGL` zFmwmJj&>KUT3?9nHLDI#EDzR&{eB#*>x#`GAZ>`$vQg*kMx?LVQ zC)@W%Cq~S2P}x1vad~E8c0bYks#EqiB74)&L7Fu&y^kOCy$TZL<*Vm%$ExUOd2Vkw zM$5mpja(9Xz6YjyfJ3eD71?T_Sg#;W*&1%C$~cU$TfbWOQ&I@Wt4XN@d@xPqE9 z>#5lTg2fe=+Y_%;@@m>`bbg%##VJ5nQu8`Famt%N!O%isbCX%F7Ppr^YK=L7j#=sp zdsU-Ajn^`)4u_UAA}>HW+gbuF8jOzGmq$1ob>Y+c=)fw6Oyvj$J79sK@q_{nXGj@G z3SmPlNq8RAjK!6>RGrimq_~~I@$C9}vOT1UaD%i}NpnOv+t*ms8uqp+3NNZ& zzH6;oep>PR@~8z9-31o?wH3l+(Ms8FjMmwm(Z{jwU*Yz`EMyyzlx!ZRirc58B%kVQ z6(tY1ReDU1ba}Rky~k6X`l}c95xLu4XzD$tJA1s$IO|z&Pkl@Qx;a96T0AfAfNR>1 zVw$Pf5FM}8e(gk}zI}perR1U8wdFA%R~?4STa5||xSQm@6sLrP7Ne2JttNJjbPp=y z)QppvOP;~xbQaF9^fl>qI#nIJge~WUqTfNB3N7qI}R)E(y5M74Ve?TrSy*W$P6UUN=jsWAlyt(xKj`lR@53 zOj|OL7DDQRes>L;Kb{8h^N@`zcr=v5cJX=XG7a6-HQ(iKX@zxK>03p2l<_Qf2PZHa zn&hkvbVW>Yr}zRHpYej)q^JcJ?Z*h?l~uLze3No;e0lV)stIb+1RYh7PHVnqSv$PeLS^?9Z_^Ci!=V=3ObJ*uXF`yx}%MnVXH9X zN1R<3cXFxO&zx(`DueooonoQRa|GNhj%)Gp`CqH1hN>E=qPBtCqaF{pQTyF=;VNw+ zTW%?G_~l|8+L-23JDgV&vAZH1Cu2W~Cm$g%5;5Mx_jI^hI&P`whuP{bPKq@ARu04AgL>l;dk7A7Lx1`I@h= zwb^v^bV}va9*pqF>=<*IJc`kfUJ-pYt7cG55U!z9c9B|6kZYA!W^oC0i2=s(YQ8K( zs8t%JkYB6dY0UG{=ER?dx`3&?#zJq3Q=x0tIjDsxdoONA(Iefej{0G&n=?WyixGK| z#^sS?F3mt6(b}6;s#)}rlbo7JJNvFp&8L{RFwo)H$=QRNNUR^NIPg)rD7RXErxsOG z4Xi7t+wbs1?gsuki_mAMM(oWBqe~awu?=6VO#j zRoki%ns=Vt)gk9yr7+poZgQ<=F}9+jMC@*rDzAz7L*~EJ(kW-tKK`f_`RzdbMa3Mh zcinO2plN&B84K4w%ff*smfXtrXiPKjo8Bq<5NY2yP19I$mRq! z!V}BU_0>c*f=(cldLP^c_QMSx^(b!Zvz4@Z%!n)jN9*bphag(ZPtN85rU=F==;cIW zJij)poQq~-jIWjO;T$cW|GEZWB&3syva-ZD|29p2I&kD!H))}oV4TJtjEc%1bFyEZ ztaLbAsj80ILXmh-8)3_Y{Ad4&@_T@?TPIK6a@UQ^QXBJ=fyC}t7`qerVlZ!A{v!H& zq$Kjwr1B06`OchZJn|heW)HG}Ceir?PG_5oZ`G0GQC=ETX*@L+S7ufgDdF#E6t_q{ zLUxE)6sD6VW)DX=`$mbe>Sh+ux5JDmZjf3YUBY4!HXSPw&0=|!PJZvlqRb6;hdSkD zEv8x?q4EkYMr62VvIb8?UIJh-r-nyfL9=KuLiuaW$cMt(i-V`a^G8Mbx-{dypj@-^ zq)+PDS8npv&=o%RYEE-+Y_OH;f> z(DO?b$BnwdY#oLX?iUkoR?l)Zv*e(w9li&p@(&}+b0W;kFz3v*Q55!-+L+w#iE7T4 zy4VLD{D%kRjecCkjeuZ%t3zIQEOb)mG-^*E&r07^Dc^?hSEtNoFAO;8qPmmm9ok4u zD8N2N4?ERk=u0a+TyLldCI!0yhhI&kt12C^bK5Wk%Nqf-iYV_WDn;WTMe7~fn9_iY zGz%(f1(Y|@m$;f&<#b83AGpNxjpF&lYX65CSKV=^M=J2n7`aEj&LvsOoA864#iX3G} zpIq+aZBgO&Rh%e$RwIttc>W@vdacZvl7~7!qrnKZ2mO&$)_SNl3P6I z>KM-Be7fQfj|X%quSF?D?c3V^%*TZgz12{Zj~-E?n=6#A=+Ye$g#S8&VwSK|$}Lik z&@Es5Emj*(mOHf^k)Mjpr%unb+nF80cbvv-n2>Lq$Xn0oA#P`3C=_rn56dU@!vhQ` z*V7b9DhsxRUk)-mF{EeD^YW4D< zk8Pukxe|K!E6b2lyw=`iow;|rSYZo+^Y(W3#oymYRM zzpGNz6`u&>6X`xwxvkUh**YJu?nR`T2D)E<_@$f^O|(*SFc zRH0R@VkeZ}H7H(NW#k9>6z5H=qAr{^9<}PEYN#34!(&xTIdz7fcIL^c9dT!5ORnlg zM`H4tRn)J4X*2eaByT^`NsxgSAFNLX`OL;dY^GhWvhrz0a3b|aIiH_=kv#^*v=B2^0nng zS~?}FtwJ=vHU&#Pr1Hq_KSH-D($5OmPjXO&ye?AS%!&LG4N+Qjbu(ehYY0{2nZAB; zHN#VH#%$Wc?5c9+kc2wvR1~w4D6jR)dqrY&n)OAl;U=kUinzTke0ihB(ZpiGsF>ZW zQr6&@L4@w%kzG*Q+Tzm+o7tS9m&ELAC5dh0oy8_&uFScON!B{UXQ9_3tRH*YV`~Cn5Dt- z+yqnGnfwtOd-8Joic!Gzt@0_qSH{4V;&fvfnXDn9>s?IsTD(BqULWeZ`wFDg|r)oW1~zIIg^s==&54N$JJ z+x^jsQ+};V?8=USxD;osg8h14)RoGLc4A(FY$Y|p?hC5An2xV*bI|MhkwkU0WDPP9Xb-mNZNX#yf%1hNpY-VZ5ufZB z#U#f<)sBFH*(4MB4Vn5ao_v%h&YFl;p$_v}W!yJ?IHe|{{k)9SIaYC|nI~jLkq6hw zX&~~0_$FjtD&3qb(=zRMgIbe>zcEujAdK8fL{+Bwz>w~SZuf^e;B07>ZDYLLt%%98Wm)=8{UgsU4_L{fajtA(QssK2L+9%@7hU2z)cF_rYrj# z=qqaexsJ^3Zccp5SIAW&|4trli6!il6r4cO+4+y?DK84>_(0Wul~Pv+-6pc)G*4b( zqW&$07`mHOhDw9uI~pr*CC zI-^cWyK%jn7VK3Swe{(*XZ7rT$*Gzj+LAx3l$mA|EK|sKA)~SlH z$8VY2WpuKj#^q|$ZB*Rg36787`7s`Y{$CvwzXwD<5r6Uk*<+=Ers(h}(V@+P=!z7}70;`Ue%8(j)-=XsggxDiHXbA6@>Mvxo6Q7Oo zopSpMPW;MN4V;qxW>J;PMV}F02KNxH0mk7el+v`5{B6un7b^Uc4yQ=dGglAfnS>TMM>-t zFP!?qGmbsuu|4*TW0Djbh7w9x0))RUw4o4^0BH#ciBrfetn1j5c#7>Y9-Ab$^t&EA zCJq<0T-{Wcl~{>LR3g$=0*U>^>SI4;B`USLAW@0cN2RVrr6LuHN?nOcRN_kC^Lzf@ zcN~YZU1H`v=Q;m>&v~BbJm)zR0MrxwgOfE#4{WbtMWo=Uh`CHaQFBS4oL$Y5-t26B zO77jNZ%k79-574+5rb4yK6(Mo!MQrx3K%C$?x&Cw8!fF7cYNvEE(k(8jPKzFWhcQ*vV}03I%v8gPM-jd%q1XCd6@{Ybzcn+uVI8yrmT6j3R89| z5pZ#)E+G+%f~jW|heTl`BaIdzM6pa%$DZ(*p99sW>Y8w@br?}!33`R`@kzYXn-bVq zEpTMyNb8{S^pY&=F1B6NH$s}gLC2}olgPpPj3}Zu6z&~PQ_dnqq|A;vx3gGoPp|}* z_WX;b_URt@p$5O{5k~QDkGGECk*VpCTpgmM!mk0_SqiWxA-qEWutfLgc z7zU#OrcCj0^fA0@*%%5ITD7WNM445~Me_`YMZ}IO9(yL1!HBjH;*5 z96>N)&Uw!x6t0D-=r)KH$_j1NMk-ijD(OkaTL!2rZ97uZU63kJmOH(d42}P+A@j6j5D=WF8;xRDN~BaS3^WIhSoKR-P-Hy>bs7Vt=mLnD62 zQ__y%rnqYEdXPv9(F+liIP*S?9`W-0G)bv!YipvB8f?v?*f5WAHONxpbvz5$N5x8B`-m>KPTM^Rwl^)fz{U_FcsEeJT+z%M#H)GiBbqybTFCxkE)FymrOc^(Y> zPW7Yn--yx7oALx#^7G`s`kzw%c5gSW|NV!a;6;*}9mQ6&s=zUev*X zqqFvqBe-SU5{1yx_Zr~asS$fXahkwbkPCz%O#*k!9-|J1X}#|#T_JX1EUI^YK6GYn zatGxl;N|E@wJ-{j3al_;1CAs?)Pz_+!3FbFj-soIX0dzNz zq(@mE6=f5$W8Mg{ezw#550lwmXcZyYtX-J@u3w8}G96t&_@Hgv4XHt?&lht7=S3@J z;X2v_h0i)rE%eGDx%4U1Dyl9!?ZMB&&x-a7FHgt;`3GRDchEb1i%;V? z#^ksU8mUKqWDVjpR>eFHaC0okV=NWSC%B~8pHium5Ug7YSTu;!bHbfBC8z0h@K|~# z2_v9d$z%Z5F$qn5*V?pt(ON5>lKXTTG@)~Dl~__Tjk62<-jS>sZ6MP|^L}!2|0HbM zcA_g83cSsYNDq=l<#}&%GxaT+;PAoAQF^Y`U`mC){!^$m1Uxc2Ya{A$m#E1)|A>DW z#+uX~QljVqfVU;oehk3ADnt-aO@&%5rvS<{Nh0DJuI`Z>>*BG5h;#3;MtK}<9pv$-evuEF8mx*Ba^X*V_%Y{U8FbQuJGc_;UVu`w@NQsi;2rYy7pw>B&{{q5Y>;<5Uz@o%#{S6;7GE(z= zmb)4rn=w`o18*FehpNZw!294K9{3#B#9ovekjr}xlMR)Vi!kXEwHcP^qhq9jzj~e_ z_ordIY|M>L&4{t_2&j>1rblrj*qn8tnjEvVin$)FO+P6Zadegy1Q8p;FDr@zVK{5{ zMDI%*&n}_T-K}H9L5^pSLq@7GpyAv+T28;5XS=nh$jjHFOmH$z6%ScO6gLyu-*y21 z86yD=lT~nX(h*6Jl=)UKaR8W=5}DKj^zu{<{dD;)@gld>Qhl-)t9Sdi=0--2h=+xD z)+|h&fF4O95LCj#;zMg7h(+!XjGK7@fju)19vCt6;7O}oUSMEd%Y&ypKaF7D_>~9t zD(YP*HbG7OfS{^=K(elWs9(Ad$1O3nGQlBt2uXc^-z&hV~HCij7SIre)A7^r$Zu zOx8aE#0DgQqvPYgj598uOrf_5=6gY_CSE0+1{mLXUo`?9q2rOrKA+- z5r_g(e$R)+1fzge;ZD3Xl;S=#LlLZ<(oypJv>d+?Fstfu_l=It)n`vC^tgO|-W$C3 zMGbkG>Auma+N4$V16nvz{gWGT>3V^9$E8(}_vVgBz-LWxo!CM>f*~3BP<`Kw^L&?t z`_P@DPbOZL;NvSKbVZ6U>Un-t1hAeI%Z)rU)j29(Cdqfq9wDFG_!VL$5<-8A+tJ?w zIO3d0cZ-wg?jQ*hLjrPix8~w|SXwZtZ55}zktF_+qx>b+Q*&=^POh@~7{&IuVik>{ zD&%-o#!^yG@Fz}xTZ*?S+ZpaosizOiezyFif!rwe@Oh+oj^J}m`lV;&^Ho3A zQxSkU1irEFpx$dC9+X*z7|Q%q3_TLZ@=ra$FZO`L+VTwcfQ>X@@N`N_=&|6zlw^e2 z7$S-QKS030f|Dl?j2`#Vv!7@@36t2wc=#=)Q#Cfh?B~$%x|eXJcl~kJowad&gD~%4 z-br!-*4hX2f$$INvnYVWk7$k(fIe~nKo{xu@t!G~dm#)92mmQ3UIgFM5T*L6Zyjn! zVrNc>fEn7t6qPG3kq5AH$pCjjG#M6%SY19&;OyTDP`gG6IH|3Qabg}ryvr2$NkOKe zzDD3fQ<&oPueW;Jr+vdw4f5gb12hi@t~9;Ux>sv@inO;K_U!Xh=+AS}{ov|(yH9NoxC?U*2I5EjPA zMINB_tHL*WcF4D{5>1U7?H{epYCNXxw+6m%ed|UN?_Fxq!(T96nx3KUu*Qw68dbc} z;|uP~5v_i=VWbC+ z%%*}lG9RZnDDCE?8{)KXXeUp?#(d9>WBfa2Ga-VU>NZxNwb#(=i4zM8uSWhozAk9p z=T9ssw7?Suh8AyvZ1&H_P_!%>fz%#k1V+9dHSA)zJUa1UZK~#EZ?2|122r6pG$B}p z3~3dwH)8O}ObV=#@Q0l$??&4PuOd;u%FF5`HDQan!}a}hxEEkJy0GtomqI5kAaUCV z3DC3SNF&A8N~%USZIq258tu|eT z!VUMla6?!pc@?-}+zY`C5i?XL!711RSFJp3*^tK!8a`dliViTu$0NU9Lq1p~tHiBLSL6DRAaj6HFDbQXK*h;<4@*tp1rsW@0I zq}p&c8;U}4Xl=s)CKi>AhOsZ;M#>!N^E>q!s6e=C7$I73@ZMBIw6hO}B6_2ywk$yG zU?lyd)UdA;X%EwT_9CLt_dygIK6;O%qfQZl;p49Q3UbYYeMrM| z)2lRSg|sH62e*Xf-Gmw!)G8>vO6 IA=8Sd~^Ymo;JjTb0;UY_{m9L?Q{`9L830? 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 literal 0 HcmV?d00001 diff --git a/packages/MongoDB.Driver.Core.2.4.3/lib/net45/MongoDB.Driver.Core.XML b/packages/MongoDB.Driver.Core.2.4.3/lib/net45/MongoDB.Driver.Core.XML new file mode 100644 index 0000000..870a648 --- /dev/null +++ b/packages/MongoDB.Driver.Core.2.4.3/lib/net45/MongoDB.Driver.Core.XML @@ -0,0 +1,13336 @@ + + + + MongoDB.Driver.Core + + + +

+ Represents a cursor that wraps another cursor with a transformation function on the documents. + + The type of from document. + The type of to document. + + + + Initializes a new instance of the class. + + The wrapped. + The transformer. + + + + Gets the current batch of documents. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Moves to the next batch of documents. + + The cancellation token. + Whether any more documents are available. + + + + Moves to the next batch of documents. + + The cancellation token. + A Task whose result indicates whether any more documents are available. + + + + Represents a MongoDB collation. + + + + + Initializes a new instance of the class. + + The locale. + The case level. + The case that is ordered first. + The strength. + Whether numbers are ordered numerically. + The alternate. + The maximum variable. + The normalization. + Whether secondary differences are to be considered in reverse order. + + + + Gets whether spaces and punctuation are considered base characters. + + + + + Gets whether secondary differencs are to be considered in reverse order. + + + + + Gets whether upper case or lower case is ordered first. + + + + + Gets whether the collation is case sensitive at strength 1 and 2. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + + Creates a Collation instance from a BsonDocument. + + The document. + A Collation instance. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the locale. + + + + + Gets which characters are affected by the alternate: "Shifted". + + + + + Gets the normalization. + + + + + Gets whether numbers are ordered numerically. + + + + + Gets the simple binary compare collation. + + + + + Gets the strength. + + + + + Converts this object to a BsonDocument. + + A BsonDocument. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Creates a new Collation instance with some properties changed. + + The new locale. + The new case level. + The new case first. + The new strength. + The new numeric ordering. + The new alternate. + The new maximum variable. + The new normalization. + The new backwards. + A new Collation instance. + + + + Controls whether spaces and punctuation are considered base characters. + + + + + Spaces and punctuation are considered base characters (the default). + + + + + Spaces and characters are not considered base characters, and are only distinguised at strength > 3. + + + + + Uppercase or lowercase first. + + + + + Off (the default). + + + + + Uppercase first. + + + + + Lowercase first. + + + + + Controls which characters are affected by alternate: "Shifted". + + + + + Punctuation and spaces are affected (the default). + + + + + Only spaces. + + + + + Prioritizes the comparison properties. + + + + + Primary. + + + + + Secondary. + + + + + Tertiary (the default). + + + + + Quaternary. + + + + + Identical. + + + + + Represents a collection namespace. + + + + + Initializes a new instance of the class. + + The database namespace. + The name of the collection. + + + + Initializes a new instance of the class. + + The name of the database. + The name of the collection. + + + + Gets the name of the collection. + + + + + Gets the database namespace. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + + Creates a new instance of the class from a collection full name. + + The collection full name. + A CollectionNamespace. + + + + Gets the collection full name. + + + + Serves as the default hash function. + A hash code for the current object. + + + + Determines whether the specified collection name is valid. + + The name of the collection. + Whether the specified collection name is valid. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a database namespace. + + + + + Initializes a new instance of the class. + + The name of the database. + + + + Gets the admin database namespace. + + + + + Gets the name of the database. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Determines whether the specified database name is valid. + + The database name. + True if the database name is valid. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a cursor for an operation that is not actually executed until MoveNextAsync is called for the first time. + + The type of the document. + + + + Initializes a new instance of the class. + + The delegate to execute the first time MoveNext is called. + The delegate to execute the first time MoveNextAsync is called. + + + + Gets the current batch of documents. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Moves to the next batch of documents. + + The cancellation token. + Whether any more documents are available. + + + + Moves to the next batch of documents. + + The cancellation token. + A Task whose result indicates whether any more documents are available. + + + + Represents the document validation action. + + + + + Validation failures result in an error. + + + + + Validation failures result in a warning. + + + + + Represents the document validation level. + + + + + Strict document validation. + + + + + Moderate document validation. + + + + + No document validation. + + + + + Represents an asynchronous cursor. + + The type of the document. + + + + Gets the current batch of documents. + + + + + Moves to the next batch of documents. + + The cancellation token. + Whether any more documents are available. + + + + Moves to the next batch of documents. + + The cancellation token. + A Task whose result indicates whether any more documents are available. + + + + Represents extension methods for IAsyncCursor. + + + + + Determines whether the cursor contains any documents. + + The cursor. + The cancellation token. + The type of the document. + True if the cursor contains any documents. + + + + Determines whether the cursor contains any documents. + + The cursor. + The cancellation token. + The type of the document. + A Task whose result is true if the cursor contains any documents. + + + + Returns the first document of a cursor. + + The cursor. + The cancellation token. + The type of the document. + The first document. + + + + Returns the first document of a cursor. + + The cursor. + The cancellation token. + The type of the document. + A Task whose result is the first document. + + + + Returns the first document of a cursor, or a default value if the cursor contains no documents. + + The cursor. + The cancellation token. + The type of the document. + The first document of the cursor, or a default value if the cursor contains no documents. + + + + Returns the first document of the cursor, or a default value if the cursor contains no documents. + + The cursor. + The cancellation token. + The type of the document. + A task whose result is the first document of the cursor, or a default value if the cursor contains no documents. + + + + Calls a delegate for each document returned by the cursor. + + The source. + The processor. + The cancellation token. + The type of the document. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The source. + The processor. + The cancellation token. + The type of the document. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The source. + The processor. + The cancellation token. + The type of the document. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The source. + The processor. + The cancellation token. + The type of the document. + A Task that completes when all the documents have been processed. + + + + Returns the only document of a cursor. This method throws an exception if the cursor does not contain exactly one document. + + The cursor. + The cancellation token. + The type of the document. + The only document of a cursor. + + + + Returns the only document of a cursor. This method throws an exception if the cursor does not contain exactly one document. + + The cursor. + The cancellation token. + The type of the document. + A Task whose result is the only document of a cursor. + + + + Returns the only document of a cursor, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The cursor. + The cancellation token. + The type of the document. + The only document of a cursor, or a default value if the cursor contains no documents. + + + + Returns the only document of a cursor, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The cursor. + The cancellation token. + The type of the document. + A Task whose result is the only document of a cursor, or a default value if the cursor contains no documents. + + + + Wraps a cursor in an IEnumerable that can be enumerated one time. + + The cursor. + The cancellation token. + The type of the document. + An IEnumerable + + + + Returns a list containing all the documents returned by a cursor. + + The source. + The cancellation token. + The type of the document. + The list of documents. + + + + Returns a list containing all the documents returned by a cursor. + + The source. + The cancellation token. + The type of the document. + A Task whose value is the list of documents. + + + + Represents an operation that will return a cursor when executed. + + The type of the document. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A cursor. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A Task whose result is a cursor. + + + + Represents extension methods for IAsyncCursorSource. + + + + + Determines whether the cursor returned by a cursor source contains any documents. + + The source. + The cancellation token. + The type of the document. + True if the cursor contains any documents. + + + + Determines whether the cursor returned by a cursor source contains any documents. + + The source. + The cancellation token. + The type of the document. + A Task whose result is true if the cursor contains any documents. + + + + Returns the first document of a cursor returned by a cursor source. + + The source. + The cancellation token. + The type of the document. + The first document. + + + + Returns the first document of a cursor returned by a cursor source. + + The source. + The cancellation token. + The type of the document. + A Task whose result is the first document. + + + + Returns the first document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + + The source. + The cancellation token. + The type of the document. + The first document of the cursor, or a default value if the cursor contains no documents. + + + + Returns the first document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + + The source. + The cancellation token. + The type of the document. + A Task whose result is the first document of the cursor, or a default value if the cursor contains no documents. + + + + Calls a delegate for each document returned by the cursor. + + The source. + The processor. + The cancellation token. + The type of the document. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The source. + The processor. + The cancellation token. + The type of the document. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The source. + The processor. + The cancellation token. + The type of the document. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The source. + The processor. + The cancellation token. + The type of the document. + A Task that completes when all the documents have been processed. + + + + Returns the only document of a cursor returned by a cursor source. This method throws an exception if the cursor does not contain exactly one document. + + The source. + The cancellation token. + The type of the document. + The only document of a cursor. + + + + Returns the only document of a cursor returned by a cursor source. This method throws an exception if the cursor does not contain exactly one document. + + The source. + The cancellation token. + The type of the document. + A Task whose result is the only document of a cursor. + + + + Returns the only document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The source. + The cancellation token. + The type of the document. + The only document of a cursor, or a default value if the cursor contains no documents. + + + + Returns the only document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The source. + The cancellation token. + The type of the document. + A Task whose result is the only document of a cursor, or a default value if the cursor contains no documents. + + + + Wraps a cursor source in an IEnumerable. Each time GetEnumerator is called a new cursor is fetched from the cursor source. + + The source. + The cancellation token. + The type of the document. + An IEnumerable. + + + + Returns a list containing all the documents returned by the cursor returned by a cursor source. + + The source. + The cancellation token. + The type of the document. + The list of documents. + + + + Returns a list containing all the documents returned by the cursor returned by a cursor source. + + The source. + The cancellation token. + The type of the document. + A Task whose value is the list of documents. + + + + Represents a MongoDB authentication exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB client exception. + + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Represents a MongoDB command exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The command. + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The command. + The command result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the error code. + + + + + Gets the command. + + + + + Gets the error message. + + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Gets the command result. + + + + + Represents a MongoDB configuration exception. + + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Represents a MongoDB connection failed exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB connection exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the connection identifier. + + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Represents a MongoDB cursor not found exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The cursor identifier. + The query. + + + + Initializes a new instance of the class. + + The information. + The context. + + + + Gets the cursor identifier. + + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Represents a MongoDB duplicate key exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The command result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB exception. + + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Represents a MongoDB execution timeout exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB incompatible driver exception. + + + + + Initializes a new instance of the class. + + The cluster description. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB internal exception (almost surely the result of a bug). + + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Represents a MongoDB node is recovering exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Gets the result from the server. + + + + + Represents a MongoDB not primary exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Gets the result from the server. + + + + + Represents a MongoDB query exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The query. + The query result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Gets the query. + + + + + Gets the query result. + + + + + Represents a MongoDB server exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the connection identifier. + + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Represents a MongoDB connection pool wait queue full exception. + + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Initializes a new instance of the class. + + The error message. + + + + Represents a MongoDB write concern exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The command result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Gets the write concern result. + + + + + Represents helper methods for use with the struct. + + + + + Creates an instance of an optional parameter with a value. + + The value. + The type of the optional parameter. + An instance of an optional parameter with a value. + + + + Creates an instance of an optional parameter with an enumerable value. + + The value. + The type of the items of the optional paramater. + An instance of an optional parameter with an enumerable value. + + + + Represents an optional parameter that might or might not have a value. + + The type of the parameter. + + + + Initializes a new instance of the struct with a value. + + The value of the parameter. + + + + Gets a value indicating whether the optional parameter has a value. + + + + + Performs an implicit conversion from to an with a value. + + The value. + + The result of the conversion. + + + + + Returns a value indicating whether this optional parameter contains a value that is not equal to an existing value. + + The value. + True if this optional parameter contains a value that is not equal to an existing value. + + + + Gets the value of the optional parameter. + + + + + Returns either the value of this optional parameter if it has a value, otherwise a default value. + + The default value. + Either the value of this optional parameter if it has a value, otherwise a default value. + + + + Represents a read concern. + + + + + Initializes a new instance of the class. + + The level. + + + + Gets a default read concern. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + + Creates a read concern from a document. + + The document. + A read concern. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets a value indicating whether this is the server's default read concern. + + + + + Gets the level. + + + + + Gets a linearizable read concern. + + + + + Gets a local read concern. + + + + + Gets a majority read concern. + + + + + Converts this read concern to a BsonDocument suitable to be sent to the server. + + + A BsonDocument. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a new instance of ReadConcern with some values changed. + + The level. + + A ReadConcern. + + + + + The leve of the read concern. + + + + + Reads data committed locally. + + + + + Reads data committed to a majority of nodes. + + + + + Avoids returning data from a "stale" primary + (one that has already been superseded by a new primary but doesn't know it yet). + It is important to note that readConcern level linearizable does not by itself + produce linearizable reads; they must be issued in conjunction with w:majority + writes to the same document(s) in order to be linearizable. + + + + + Represents a read preference. + + + + + Initializes a new instance of the class. + + The read preference mode. + The tag sets. + The maximum staleness. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the maximum staleness. + + + + + Gets an instance of ReadPreference that represents a Nearest read preference. + + + + + Gets an instance of ReadPreference that represents a Primary read preference. + + + + + Gets an instance of ReadPreference that represents a PrimaryPreferred read preference. + + + + + Gets the read preference mode. + + + + + Gets an instance of ReadPreference that represents a Secondary read preference. + + + + + Gets an instance of ReadPreference that represents a SecondaryPreferred read preference. + + + + + Gets the tag sets. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Returns a new instance of ReadPreference with some values changed. + + The read preference mode. + A new instance of ReadPreference. + + + + Returns a new instance of ReadPreference with some values changed. + + The tag sets. + A new instance of ReadPreference. + + + + Returns a new instance of ReadPreference with some values changed. + + The maximum staleness. + A new instance of ReadPreference. + + + + Represents the read preference mode. + + + + + Reads should be from the primary. + + + + + Reads should be from the primary if possible, otherwise from a secondary. + + + + + Reads should be from a secondary. + + + + + Reads should be from a secondary if possible, otherwise from the primary. + + + + + Reads should be from any server that is within the latency threshold window. + + + + + Represents the category for an error from the server. + + + + + An error without a category. + + + + + A duplicate key error. + + + + + An execution timeout error. + + + + + Represents a replica set member tag. + + + + + Initializes a new instance of the class. + + The name. + The value. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the name. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the value. + + + + + Represents a replica set member tag set. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The tags. + + + + Determines whether the tag set contains all of the required tags. + + The required tags. + True if the tag set contains all of the required tags. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets a value indicating whether the tag set is empty. + + + + + Gets the tags. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a write concern. + + + + + Initializes a new instance of the class. + + The w value. + The wtimeout value. + The fsync value . + The journal value. + + + + Initializes a new instance of the class. + + The w value. + The wtimeout value. + The fsync value . + The journal value. + + + + Initializes a new instance of the class. + + The mode. + The wtimeout value. + The fsync value . + The journal value. + + + + Gets an instance of WriteConcern that represents an acknowledged write concern. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + + Creates a write concern from a document. + + The document. + A write concern. + + + + Gets the fsync value. + + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets a value indicating whether this instance is an acknowledged write concern. + + + + + Gets a value indicating whether this write concern will use the default on the server. + + + + + Gets the journal value. + + + + + Converts this write concern to a BsonDocument suitable to be sent to the server. + + + A BsonDocument. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets an instance of WriteConcern that represents an unacknowledged write concern. + + + + + Gets the w value. + + + + + Gets an instance of WriteConcern that represents a W1 write concern. + + + + + Gets an instance of WriteConcern that represents a W2 write concern. + + + + + Gets an instance of WriteConcern that represents a W3 write concern. + + + + + Returns a new instance of WriteConcern with some values changed. + + The w value. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Returns a new instance of WriteConcern with some values changed. + + The w value. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Returns a new instance of WriteConcern with some values changed. + + The mode. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Gets an instance of WriteConcern that represents a majority write concern. + + + + + Gets the wtimeout value. + + + + + Represents a numeric WValue. + + + + + Initializes a new instance of the class. + + The w value. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Converts this WValue to a BsonValue suitable to be included in a BsonDocument representing a write concern. + + A BsonValue. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the value. + + + + + Represents a mode string WValue. + + + + + Initializes a new instance of the class. + + The mode. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets an instance of WValue that represents the majority mode. + + + + + Converts this WValue to a BsonValue suitable to be included in a BsonDocument representing a write concern. + + A BsonValue. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the value. + + + + + Represents the base class for w values. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from Nullable{Int32} to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Parses the specified value. + + The value. + A WValue. + + + + Converts this WValue to a BsonValue suitable to be included in a BsonDocument representing a write concern. + + A BsonValue. + + + + Represents the results of an operation performed with an acknowledged WriteConcern. + + + + + Initializes a new instance of the class. + + The response. + + + + Gets the number of documents affected. + + + + + Gets whether the result has a LastErrorMessage. + + + + + Gets the last error message (null if none). + + + + + Gets the wrapped result. + + + + + Gets whether the last command updated an existing document. + + + + + Gets the _id of an upsert that resulted in an insert. + + + + + The default authenticator (uses SCRAM-SHA1 if possible, falls back to MONGODB-CR otherwise). + + + + + Initializes a new instance of the class. + + The credential. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + A Task. + + + + Gets the name of the authenticator. + + + + + A GSSAPI SASL authenticator. + + + + + Initializes a new instance of the class. + + The credential. + The properties. + + + + Initializes a new instance of the class. + + The username. + The properties. + + + + Gets the name of the canonicalize host name property. + + + + + Gets the name of the database. + + + + + Gets the default service name. + + + + + Gets the name of the mechanism. + + + + + Gets the name of the realm property. + + + + + Gets the name of the service name property. + + + + + Gets the name of the service realm property. + + + + + Represents a connection authenticator. + + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + A Task. + + + + Gets the name of the authenticator. + + + + + A MONGODB-CR authenticator. + + + + + Initializes a new instance of the class. + + The credential. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + A Task. + + + + Gets the name of the mechanism. + + + + + Gets the name of the authenticator. + + + + + A MongoDB-X509 authenticator. + + + + + Initializes a new instance of the class. + + The username. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + A Task. + + + + Gets the name of the mechanism. + + + + + Gets the name of the authenticator. + + + + + A PLAIN SASL authenticator. + + + + + Initializes a new instance of the class. + + The credential. + + + + Gets the name of the database. + + + + + Gets the name of the mechanism. + + + + + Base class for a SASL authenticator. + + + + + Initializes a new instance of the class. + + The mechanism. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + A Task. + + + + Gets the name of the database. + + + + + Gets the name of the authenticator. + + + + + Represents a completed SASL step. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The bytes to send to server. + + + + Gets the bytes to send to server. + + + + + Gets a value indicating whether this instance is complete. + + + + + Transitions the SASL conversation to the next step. + + The SASL conversation. + The bytes received from server. + The next SASL step. + + + + Represents a SASL mechanism. + + + + + Initializes the mechanism. + + The connection. + The connection description. + The initial SASL step. + + + + Gets the name of the mechanism. + + + + + Represents a SASL step. + + + + + Gets the bytes to send to server. + + + + + Gets a value indicating whether this instance is complete. + + + + + Transitions the SASL conversation to the next step. + + The SASL conversation. + The bytes received from server. + The next SASL step. + + + + Represents a SASL conversation. + + + + + Initializes a new instance of the class. + + The connection identifier. + + + + Gets the connection identifier. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Registers the item for disposal. + + The disposable item. + + + + A SCRAM-SHA1 SASL authenticator. + + + + + Initializes a new instance of the class. + + The credential. + + + + Gets the name of the database. + + + + + Gets the name of the mechanism. + + + + + Represents a username/password credential. + + + + + Initializes a new instance of the class. + + The source. + The username. + The password. + + + + Initializes a new instance of the class. + + The source. + The username. + The password. + + + + Gets the password (converts the password from a SecureString to a regular string). + + The password. + + + + Gets the password. + + + + + Gets the source. + + + + + Gets the username. + + + + + Represents a read binding that is bound to a channel. + + + + + Initializes a new instance of the class. + + The server. + The channel. + The read preference. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a read-write binding that is bound to a channel. + + + + + Initializes a new instance of the class. + + The server. + The channel. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a handle to a channel source. + + + + + Initializes a new instance of the class. + + The channel source. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Returns a new handle to the underlying channel source. + + A handle to a channel source. + + + + Gets a channel. + + The cancellation token. + A channel. + + + + Gets a channel. + + The cancellation token. + A Task whose result is a channel. + + + + Gets the server. + + + + + Gets the server description. + + + + + Represents a read-write binding to a channel source. + + + + + Initializes a new instance of the class. + + The channel source. + The read preference. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a channel (similar to a connection but operates at the level of protocols rather than messages). + + + + + Executes a Command protocol. + + The database namespace. + The command. + The command validator. + The response handling. + if set to true sets the SlaveOk bit to true in the command message sent to the server. + The result serializer. + The message encoder settings. + The cancellation token. + The type of the result. + The result of the Command protocol. + + + + Executes a Command protocol. + + The database namespace. + The command. + The command validator. + The response handling. + if set to true sets the SlaveOk bit to true in the command message sent to the server. + The result serializer. + The message encoder settings. + The cancellation token. + The type of the result. + A Task whose result is the result of the Command protocol. + + + + Gets the connection description. + + + + + Executes a Delete protocol. + + The collection namespace. + The query. + if set to true all matching documents are deleted. + The message encoder settings. + The write concern. + The cancellation token. + The result of the Delete protocol. + + + + Executes a Delete protocol. + + The collection namespace. + The query. + if set to true all matching documents are deleted. + The message encoder settings. + The write concern. + The cancellation token. + A Task whose result is the result of the Delete protocol. + + + + Executes a GetMore protocol. + + The collection namespace. + The query. + The cursor identifier. + Size of the batch. + The serializer. + The message encoder settings. + The cancellation token. + The type of the document. + The result of the GetMore protocol. + + + + Executes a GetMore protocol. + + The collection namespace. + The query. + The cursor identifier. + Size of the batch. + The serializer. + The message encoder settings. + The cancellation token. + The type of the document. + A Task whose result is the result of the GetMore protocol. + + + + Executes an Insert protocol. + + The collection namespace. + The write concern. + The serializer. + The message encoder settings. + The document source. + The maximum batch count. + Maximum size of the message. + if set to true the server will continue with subsequent Inserts even if errors occur. + A delegate that determines whether to piggy-back a GetLastError messsage with the Insert message. + The cancellation token. + The type of the document. + The result of the Insert protocol. + + + + Executes an Insert protocol. + + The collection namespace. + The write concern. + The serializer. + The message encoder settings. + The document source. + The maximum batch count. + Maximum size of the message. + if set to true the server will continue with subsequent Inserts even if errors occur. + A delegate that determines whether to piggy-back a GetLastError messsage with the Insert message. + The cancellation token. + The type of the document. + A Task whose result is the result of the Insert protocol. + + + + Executes a KillCursors protocol. + + The cursor ids. + The message encoder settings. + The cancellation token. + + + + Executes a KillCursors protocol. + + The cursor ids. + The message encoder settings. + The cancellation token. + A Task that represents the KillCursors protocol. + + + + Executes a Query protocol. + + The collection namespace. + The query. + The fields. + The query validator. + The number of documents to skip. + The size of a batch. + if set to true sets the SlaveOk bit to true in the query message sent to the server. + if set to true the server is allowed to return partial results if any shards are unavailable. + if set to true the server will not timeout the cursor. + if set to true the OplogReplay bit will be set. + if set to true the query should return a tailable cursor. + if set to true the server should await awhile before returning an empty batch for a tailable cursor. + The serializer. + The message encoder settings. + The cancellation token. + The type of the document. + The result of the Insert protocol. + + + + Executes a Query protocol. + + The collection namespace. + The query. + The fields. + The query validator. + The number of documents to skip. + The size of a batch. + if set to true sets the SlaveOk bit to true in the query message sent to the server. + if set to true the server is allowed to return partial results if any shards are unavailable. + if set to true the server will not timeout the cursor. + if set to true the OplogReplay bit will be set. + if set to true the query should return a tailable cursor. + if set to true the server should await awhile before returning an empty batch for a tailable cursor. + The serializer. + The message encoder settings. + The cancellation token. + The type of the document. + A Task whose result is the result of the Insert protocol. + + + + Executes an Update protocol. + + The collection namespace. + The message encoder settings. + The write concern. + The query. + The update. + The update validator. + if set to true the Update can affect multiple documents. + if set to true the document will be inserted if it is not found. + The cancellation token. + The result of the Update protocol. + + + + Executes an Update protocol. + + The collection namespace. + The message encoder settings. + The write concern. + The query. + The update. + The update validator. + if set to true the Update can affect multiple documents. + if set to true the document will be inserted if it is not found. + The cancellation token. + A Task whose result is the result of the Update protocol. + + + + Represents a handle to a channel. + + + + + Returns a new handle to the underlying channel. + + A channel handle. + + + + Represents a channel source. + + + + + Gets a channel. + + The cancellation token. + A channel. + + + + Gets a channel. + + The cancellation token. + A Task whose result is a channel. + + + + Gets the server. + + + + + Gets the server description. + + + + + Represents a handle to a channel source. + + + + + Returns a new handle to the underlying channel source. + + A handle to a channel source. + + + + Represents a binding that determines which channel source gets used for read operations. + + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a handle to a read binding. + + + + + Returns a new handle to the underlying read binding. + + A read binding handle. + + + + Represents a binding that can be used for both read and write operations. + + + + + Represents a handle to a read-write binding. + + + + + Returns a new handle to the underlying read-write binding. + + A read-write binding handle. + + + + Represents a binding that determines which channel source gets used for write operations. + + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Represents a handle to a write binding. + + + + + Returns a new handle to the underlying write binding. + + A write binding handle. + + + + Represents a handle to a read binding. + + + + + Initializes a new instance of the class. + + The read binding. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Returns a new handle to the underlying read binding. + + A read binding handle. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a read binding to a cluster using a ReadPreference to select the server. + + + + + Initializes a new instance of the class. + + The cluster. + The read preference. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a handle to a read-write binding. + + + + + Initializes a new instance of the class. + + The write binding. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Returns a new handle to the underlying read-write binding. + + A read-write binding handle. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a channel source that is bound to a server. + + + + + Initializes a new instance of the class. + + The server. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel. + + The cancellation token. + A channel. + + + + Gets a channel. + + The cancellation token. + A Task whose result is a channel. + + + + Gets the server. + + + + + Gets the server description. + + + + + Represents a read binding to a single server; + + + + + Initializes a new instance of the class. + + The server. + The read preference. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a read/write binding to a single server. + + + + + Initializes a new instance of the class. + + The server. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a split read-write binding, where the reads use one binding and the writes use another. + + + + + Initializes a new instance of the class. + + The read binding. + The write binding. + + + + Initializes a new instance of the class. + + The cluster. + The read preference. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents a write binding to a writable server. + + + + + Initializes a new instance of the class. + + The cluster. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets the read preference. + + + + + Represents the cluster connection mode. + + + + + Determine the cluster type automatically. + + + + + Connect directly to a single server of any type. + + + + + Connect directly to a Standalone server. + + + + + Connect to a replica set. + + + + + Connect to one or more shard routers. + + + + + Represents information about a cluster. + + + + + Initializes a new instance of the class. + + The cluster identifier. + The connection mode. + The type. + The servers. + + + + Gets the cluster identifier. + + + + + Gets the connection mode. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the servers. + + + + + Gets the cluster state. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the cluster type. + + + + + Returns a new ClusterDescription with a ServerDescription removed. + + The end point of the server description to remove. + A ClusterDescription. + + + + Returns a new ClusterDescription with a changed ServerDescription. + + The server description. + A ClusterDescription. + + + + Returns a new ClusterDescription with a changed ClusterType. + + The value. + A ClusterDescription. + + + + Represents the data for the event that fires when a cluster description changes. + + + + + Initializes a new instance of the class. + + The old cluster description. + The new cluster description. + + + + Gets the new cluster description. + + + + + Gets the old cluster description. + + + + + Represents a cluster identifier. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The value. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the value. + + + + + Represents the state of a cluster. + + + + + The cluster is disconnected. + + + + + The cluster is connected. + + + + + Represents the type of a cluster. + + + + + The type of the cluster is unknown. + + + + + The cluster is a standalone cluster. + + + + + The cluster is a replica set. + + + + + The cluster is a sharded cluster. + + + + + An election id from the server. + + + + + Initializes a new instance of the class. + + The identifier. + + + + Compares the current object with another object of the same type. + + An object to compare with this object. + + A value that indicates the relative order of the objects being compared. The return value has the following meanings: Value Meaning Less than zero This object is less than the parameter.Zero This object is equal to . Greater than zero This object is greater than . + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Represents a MongoDB cluster. + + + + + Gets the cluster identifier. + + + + + Gets the cluster description. + + + + + Occurs when the cluster description has changed. + + + + + Initializes the cluster. + + + + + Selects a server from the cluster. + + The server selector. + The cancellation token. + The selected server. + + + + Selects a server from the cluster. + + The server selector. + The cancellation token. + A Task representing the operation. The result of the Task is the selected server. + + + + Gets the cluster settings. + + + + + Represents a cluster factory. + + + + + Creates a cluster. + + A cluster. + + + + Represents the config of a replica set (as reported by one of the members of the replica set). + + + + + Initializes a new instance of the class. + + The members. + The name. + The primary. + The version. + + + + Gets an empty replica set config. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the members. + + + + + Gets the name of the replica set. + + + + + Gets the primary. + + + + + Gets the replica set config version. + + + + + Represents a selector that selects servers based on multiple partial selectors + + + + + Initializes a new instance of the class. + + The selectors. + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a server selector that wraps a delegate. + + + + + Initializes a new instance of the class. + + The selector. + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a selector that selects servers based on an end point. + + + + + Initializes a new instance of the class. + + The end point. + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a selector that selects servers. + + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + + Represents a selector that selects servers within an acceptable latency range. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The allowed latency range. + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a selector that selects a random server. + + + + + Initializes a new instance of the class. + + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a selector that selects servers based on a read preference. + + + + + Initializes a new instance of the class. + + The read preference. + + + + Gets a ReadPreferenceServerSelector that selects the Primary. + + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a server selector that selects writable servers. + + + + + Gets a WritableServerSelector. + + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents a cluster builder. + + + + + Initializes a new instance of the class. + + + + + Builds the cluster. + + A cluster. + + + + Configures the cluster settings. + + The cluster settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the connection settings. + + The connection settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the connection pool settings. + + The connection pool settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the server settings. + + The server settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the SSL stream settings. + + The SSL stream settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the TCP stream settings. + + The TCP stream settings configurator delegate. + A reconfigured cluster builder. + + + + Registers a stream factory wrapper. + + The stream factory wrapper. + A reconfigured cluster builder. + + + + Subscribes the specified subscriber. + + The subscriber. + A reconfigured cluster builder. + + + + Subscribes to events of type . + + The handler. + The type of the event. + A reconfigured cluster builder. + + + + Extension methods for a ClusterBuilder. + + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + A reconfigured cluster builder. + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + A reconfigured cluster builder. + + + + Configures the cluster to trace command events to the specified . + + The builder. + The trace source. + A reconfigured cluster builder. + + + + Configures the cluster to trace events to the specified . + + The builder. + The trace source. + A reconfigured cluster builder. + + + + Configures the cluster to write performance counters. + + The cluster builder. + The name of the application. + if set to true install the performance counters first. + A reconfigured cluster builder. + + + + Represents settings for a cluster. + + + + + Initializes a new instance of the class. + + The connection mode. + The end points. + Maximum size of the server selection wait queue. + Name of the replica set. + The server selection timeout. + The pre server selector. + The post server selector. + + + + Gets the connection mode. + + + + + Gets the end points. + + + + + Gets the maximum size of the server selection wait queue. + + + + + Gets the post server selector. + + + + + Gets the pre server selector. + + + + + Gets the name of the replica set. + + + + + Gets the server selection timeout. + + + + + Returns a new ClusterSettings instance with some settings changed. + + The connection mode. + The end points. + Maximum size of the server selection wait queue. + Name of the replica set. + The server selection timeout. + The pre server selector. + The post server selector. + A new ClusterSettings instance. + + + + Represents settings for a connection pool. + + + + + Initializes a new instance of the class. + + The maintenance interval. + The maximum number of connections. + The minimum number of connections. + Size of the wait queue. + The wait queue timeout. + + + + Gets the maintenance interval. + + + + + Gets the maximum number of connections. + + + + + Gets the minimum number of connections. + + + + + Gets the size of the wait queue. + + + + + Gets the wait queue timeout. + + + + + Returns a new ConnectionPoolSettings instance with some settings changed. + + The maintenance interval. + The maximum connections. + The minimum connections. + Size of the wait queue. + The wait queue timeout. + A new ConnectionPoolSettings instance. + + + + Represents settings for a connection. + + + + + Initializes a new instance of the class. + + The authenticators. + The maximum idle time. + The maximum life time. + The application name. + + + + Gets the name of the application. + + + + + Gets the authenticators. + + + + + Gets the maximum idle time. + + + + + Gets the maximum life time. + + + + + Returns a new ConnectionSettings instance with some settings changed. + + The authenticators. + The maximum idle time. + The maximum life time. + The application name. + A new ConnectionSettings instance. + + + + Represents a connection string. + + + + + Initializes a new instance of the class. + + The connection string. + + + + Gets all the option names. + + + + + Gets all the unknown option names. + + + + + Gets the application name. + + + + + Gets the auth mechanism. + + + + + Gets the auth mechanism properties. + + + + + Gets the auth source. + + + + + Gets the connection mode. + + + + + Gets the connect timeout. + + + + + Gets the name of the database. + + + + + Gets the fsync value of the write concern. + + + + + Gets the option. + + The name. + The option with the specified name. + + + + Gets the heartbeat interval. + + + + + Gets the heartbeat timeout. + + + + + Gets the hosts. + + + + + Gets whether to use IPv6. + + + + + Gets the journal value of the write concern. + + + + + Gets the local threshold. + + + + + Gets the max idle time. + + + + + Gets the max life time. + + + + + Gets the max size of the connection pool. + + + + + Gets the max staleness. + + + + + Gets the min size of the connection pool. + + + + + Gets the password. + + + + + Gets the read concern level. + + + + + Gets the read preference. + + + + + Gets the read preference tags. + + + + + Gets the replica set name. + + + + + Gets the server selection timeout. + + + + + Gets the socket timeout. + + + + + Gets whether to use SSL. + + + + + Gets whether to verify SSL certificates. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the username. + + + + + Gets the UUID representation. + + + + + Gets the w value of the write concern. + + + + + Gets the wait queue multiple. + + + + + Gets the wait queue size. + + + + + Gets the wait queue timeout. + + + + + Gets the wtimeout value of the write concern. + + + + + Represents settings for a server. + + + + + Initializes a new instance of the class. + + The heartbeat interval. + The heartbeat timeout. + + + + Gets the default heartbeat interval. + + + + + Gets the default heartbeat timeout. + + + + + Gets the heartbeat interval. + + + + + Gets the heartbeat timeout. + + + + + Returns a new ServerSettings instance with some settings changed. + + The heartbeat interval. + The heartbeat timeout. + A new ServerSettings instance. + + + + Represents settings for an SSL stream. + + + + + Initializes a new instance of the class. + + Whether to check for certificate revocation. + The client certificates. + The client certificate selection callback. + The enabled protocols. + The server certificate validation callback. + + + + Gets a value indicating whether to check for certificate revocation. + + + + + Gets the client certificates. + + + + + Gets the client certificate selection callback. + + + + + Gets the enabled SSL protocols. + + + + + Gets the server certificate validation callback. + + + + + Returns a new SsslStreamSettings instance with some settings changed. + + Whether to check certificate revocation. + The client certificates. + The client certificate selection callback. + The enabled protocols. + The server certificate validation callback. + A new SsslStreamSettings instance. + + + + Represents settings for a TCP stream. + + + + + Initializes a new instance of the class. + + The address family. + The connect timeout. + The read timeout. + Size of the receive buffer. + Size of the send buffer. + The socket configurator. + The write timeout. + + + + Gets the address family. + + + + + Gets the connect timeout. + + + + + Gets the read timeout. + + + + + Gets the size of the receive buffer. + + + + + Gets the size of the send buffer. + + + + + Gets the socket configurator. + + + + + Returns a new TcpStreamSettings instance with some settings changed. + + The address family. + The connect timeout. + The read timeout. + Size of the receive buffer. + Size of the send buffer. + The socket configurator. + The write timeout. + A new TcpStreamSettings instance. + + + + Gets the write timeout. + + + + + Represents a connection pool. + + + + + Acquires a connection. + + The cancellation token. + A connection. + + + + Acquires a connection. + + The cancellation token. + A Task whose result is a connection. + + + + Clears the connection pool. + + + + + Initializes the connection pool. + + + + + Gets the server identifier. + + + + + Represents a connection pool factory. + + + + + Creates a connection pool. + + The server identifier. + The end point. + A connection pool. + + + + Represents the result of a buildInfo command. + + + + + Initializes a new instance of the class. + + The wrapped result document. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the server version. + + + + + Gets the wrapped result document. + + + + + Represents information describing a connection. + + + + + Initializes a new instance of the class. + + The connection identifier. + The issMaster result. + The buildInfo result. + + + + Gets the buildInfo result. + + + + + Gets the connection identifier. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the isMaster result. + + + + + Gets the maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + + + Gets the maximum size of a message. + + + + + Gets the maximum size of a wire document. + + + + + Gets the server version. + + + + + Returns a new instance of ConnectionDescription with a different connection identifier. + + The value. + A connection description. + + + + Represents a connection identifier. + + + + + Initializes a new instance of the class. + + The server identifier. + + + + Initializes a new instance of the class. + + The server identifier. + The local value. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the local value. + + + + + Gets the server identifier. + + + + + Gets the server value. + + + + + Compares all fields of two ConnectionId instances (Equals ignores the ServerValue). + + The other ConnectionId. + True if both instances are equal. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Returns a new instance of ConnectionId with a new server value. + + The server value. + A ConnectionId. + + + + Represents a connection. + + + + + Gets the connection identifier. + + + + + Gets the connection description. + + + + + Gets the end point. + + + + + Gets a value indicating whether this instance is expired. + + + + + Opens the connection. + + The cancellation token. + + + + Opens the connection. + + The cancellation token. + A Task. + + + + Receives a message. + + The id of the sent message for which a response is to be received. + The encoder selector. + The message encoder settings. + The cancellation token. + + The response message. + + + + + Receives a message. + + The id of the sent message for which a response is to be received. + The encoder selector. + The message encoder settings. + The cancellation token. + + A Task whose result is the response message. + + + + + Sends the messages. + + The messages. + The message encoder settings. + The cancellation token. + + + + Sends the messages. + + The messages. + The message encoder settings. + The cancellation token. + A Task. + + + + Gets the connection settings. + + + + + Represents a connection factory. + + + + + Creates the connection. + + The server identifier. + The end point. + A connection. + + + + Represents a handle to a connection. + + + + + A new handle to the underlying connection. + + A connection handle. + + + + Represents the result of an isMaster command. + + + + + Initializes a new instance of the class. + + The wrapped result document. + + + + Gets the election identifier. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the replica set configuration. + + The replica set configuration. + + + + Gets a value indicating whether this instance is an arbiter. + + + + + Gets a value indicating whether this instance is a replica set member. + + + + + Gets the last write timestamp. + + + + + Gets the maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + + + Gets the maximum size of a message. + + + + + Gets the maximum wire version. + + + + + Gets the endpoint the server is claiming it is known as. + + + + + Gets the minimum wire version. + + + + + Gets the type of the server. + + + + + Gets the replica set tags. + + + + + Gets the wrapped result document. + + + + + Represents a stream factory. + + + + + Creates a stream. + + The end point. + The cancellation token. + A Stream. + + + + Creates a stream. + + The end point. + The cancellation token. + A Task whose result is the Stream. + + + + Occurs after a server is added to the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The duration of time it took to add the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to add a server, + + + + + Gets the server identifier. + + + + + Occurs before a server is added to the cluster. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The end point. + + + + Gets the cluster identifier. + + + + + Gets the end point. + + + + + Occurs after a cluster is closed. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The duration of time it took to close the cluster. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to close the cluster. + + + + + Occurs before a cluster is closed. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + + + + Gets the cluster identifier. + + + + + Occurs when a cluster has changed. + + + + + Initializes a new instance of the struct. + + The old description. + The new description. + + + + Gets the cluster identifier. + + + + + Gets the new description. + + + + + Gets the old description. + + + + + Occurs after a cluster is opened. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The cluster settings. + The duration of time it took to open the cluster. + + + + Gets the cluster identifier. + + + + + Gets the cluster settings. + + + + + Gets the duration of time it took to open the cluster. + + + + + Occurs before a cluster is opened. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The cluster settings. + + + + Gets the cluster identifier. + + + + + Gets the cluster settings. + + + + + Occurs after a server has been removed from the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The reason. + The duration of time it took to remove the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to remove the server. + + + + + Gets the reason the server was removed. + + + + + Gets the server identifier. + + + + + Occurs before a server is removed from the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The reason the server is being removed. + + + + Gets the cluster identifier. + + + + + Gets the reason the server is being removed. + + + + + Gets the server identifier. + + + + + Occurs after a server is selected. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The selected server. + The duration of time it took to select the server. + The operation identifier. + + + + Gets the cluster description. + + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to select the server. + + + + + Gets the operation identifier. + + + + + Gets the selected server. + + + + + Gets the server selector. + + + + + Occurs before a server is selected. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The operation identifier. + + + + Gets the cluster description. + + + + + Gets the cluster identifier. + + + + + Gets the operation identifier. + + + + + Gets the server selector. + + + + + Occurs when selecting a server fails. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The exception. + The operation identifier. + + + + Gets the cluster description. + + + + + Gets the cluster identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the server selector. + + + + + Occurs when a command has failed. + + + + + Initializes a new instance of the struct. + + Name of the command. + The exception. + The operation identifier. + The request identifier. + The connection identifier. + The duration. + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the duration. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the request identifier. + + + + + Occurs when a command has started. + + + + + Initializes a new instance of the class. + + Name of the command. + The command. + The database namespace. + The operation identifier. + The request identifier. + The connection identifier. + + + + Gets the command. + + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the database namespace. + + + + + Gets the operation identifier. + + + + + Gets the request identifier. + + + + + Occurs when a command has succeeded. + + + + + Initializes a new instance of the struct. + + Name of the command. + The reply. + The operation identifier. + The request identifier. + The connection identifier. + The duration. + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the duration. + + + + + Gets the operation identifier. + + + + + Gets the reply. + + + + + Gets the request identifier. + + + + + Occurs after a connection is closed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to close the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to close the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs before a connection is closed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs when a connection fails. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The exception. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + + + Gets the server identifier. + + + + + Occurs after a connection is opened. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The duration of time it took to open the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the duration of time it took to open the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs before a connection is opened. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs when a connection fails to open. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs after a connection is added to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to add the connection to the pool. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to add the server to the pool. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs before a connection is added to the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs after a connection is checked in to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to check in the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to check in the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs after a connection is checked out of the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to check out the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to check out the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs before a connection is checked in to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs before a connection is checking out of the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs when a connection could not be checked out of the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs after the pool is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Occurs before the pool is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Occurs after the pool is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + Occurs before the pool is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + Occurs after a connection is removed from the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to remove the connection from the pool. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to remove the connection from the pool. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs before a connection is removed from the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs after a message is received. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we received a response to. + The length of the received message. + The duration of network time it took to receive the message. + The duration of deserialization time it took to receive the message. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of deserialization time it took to receive the message. + + + + + Gets the duration of time it took to receive the message. + + + + + Gets the length of the received message. + + + + + Gets the duration of network time it took to receive the message. + + + + + Gets the operation identifier. + + + + + Gets the id of the message we received a response to. + + + + + Gets the server identifier. + + + + + Occurs before a message is received. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we are receiving a response to. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the id of the message we are receiving a response to. + + + + + Gets the server identifier. + + + + + Occurs when a message was unable to be received. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we were receiving a response to. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets id of the message we were receiving a response to. + + + + + Gets the server identifier. + + + + + Occurs before a message is sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the request ids. + + + + + Gets the server identifier. + + + + + Occurs when a message could not be sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the request ids. + + + + + Gets the server identifier. + + + + + Occurs after a message has been sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The length. + The duration of time spent on the network. + The duration of time spent serializing the messages. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to send the message. + + + + + Gets the combined length of the messages. + + + + + Gets the duration of time spent on the network. + + + + + Gets the operation identifier. + + + + + Gets the request ids. + + + + + Gets the duration of time spent serializing the messages. + + + + + Gets the server identifier. + + + + + A subscriber to events. + + + + + Tries to get an event handler for an event of type . + + The handler. + The type of the event. + + true if this subscriber has provided an event handler; otherwise false. + + + + Subscribes methods with a single argument to events + of that single argument's type. + + + + + Initializes a new instance of the class. + + The instance. + Name of the method to match against. + The binding flags. + + + + Tries to get an event handler for an event of type . + + The handler. + The type of the event. + + true if this subscriber has provided an event handler; otherwise false. + + + + Occurs after a server is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + The duration of time it took to close the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to close the server. + + + + + Gets the server identifier. + + + + + Occurs before a server is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Occurs after a server's description has changed. + + + + + Initializes a new instance of the struct. + + The old description. + The new description. + + + + Gets the cluster identifier. + + + + + Gets the new description. + + + + + Gets the old description. + + + + + Gets the server identifier. + + + + + Occurs when a heartbeat failed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The exception. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + + + Gets the server identifier. + + + + + Occurs when a heartbeat succeeded. + + + + + Initializes a new instance of the struct. + + The connection identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the server identifier. + + + + + Occurs before heartbeat is issued. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to complete the heartbeat. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to complete the heartbeat. + + + + + Gets the server identifier. + + + + + Occurs after a server is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The server settings. + The duration of time it took to open the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to open the server. + + + + + Gets the server identifier. + + + + + Gets the server settings. + + + + + Occurs before a server is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The server settings. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Gets the server settings. + + + + + Subscriber for a single type of event. + + The type of the single event. + + + + Initializes a new instance of the class. + + The handler. + + + + Tries to get an event handler for an event of type . + + The handler. + The type of the event. + + true if this subscriber has provided an event handler; otherwise false. + + + + Represents an event subscriber that records certain events to Windows performance counters. + + + + + Initializes a new instance of the class. + + The name of the application. + + + + Installs the performance counters. + + + + + Tries to get an event handler for an event of type . + + The handler. + The type of the event. + + true if this subscriber has provided an event handler; otherwise false. + + + + An event subscriber that writes command events to a trace source. + + + + + Initializes a new instance of the class. + + The trace source. + + + + Tries to get an event handler for an event of type . + + The handler. + The type of the event. + + true if this subscriber has provided an event handler; otherwise false. + + + + An event subscriber that writes to a trace source. + + + + + Initializes a new instance of the class. + + The trace source. + + + + Tries to get an event handler for an event of type . + + The handler. + The type of the event. + + true if this subscriber has provided an event handler; otherwise false. + + + + Represents a source of items that can be broken into batches. + + The type of the items. + + + + Initializes a new instance of the class. + + The single batch. + + + + Initializes a new instance of the class. + + The enumerator that will provide the items for the batch. + + + + Gets the most recent batch. + + + + + Clears the most recent batch. + + + + + Gets the current item. + + + + + Called when the last batch is complete. + + The batch. + + + + Called when an intermediate batch is complete. + + The batch. + The overflow item. + + + + Gets all the remaining items that haven't been previously consumed. + + The remaining items. + + + + Gets a value indicating whether there are more items. + + + + + Moves to the next item in the source. + + True if there are more items. + + + + Starts a new batch. + + The overflow item of the previous batch if there is one; otherwise, null. + + + + Represents an overflow item that did not fit in the most recent batch and will be become the first item in the next batch. + + + + + + + MongoDB.Driver.Core.Misc.BatchableSource`1.Overflow + + + + + + + The item. + + + + + The state information, if any, that the consumer wishes to associate with the overflow item. + + + + + Represents the collation feature. + + + + + Initializes a new instance of the class. + + The name of the feature. + The first server version that supports the feature. + + + + Throws if collation value is not null and collations are not supported. + + The server version. + The value. + + + + Represents the commands that write accept write concern concern feature. + + + + + Initializes a new instance of the class. + + The name of the feature. + The first server version that supports the feature. + + + + Returns true if the write concern value supplied is one that should be sent to the server and the server version supports the commands that write accept write concern feature. + + The server version. + The write concern value. + Whether the write concern should be sent to the server. + + + + Represents helper methods for EndPoints. + + + + + Determines whether a list of end points contains a specific end point. + + The list of end points. + The specific end point to search for. + True if the list of end points contains the specific end point. + + + + Gets an end point equality comparer. + + + + + Compares two end points. + + The first end point. + The second end point. + True if both end points are equal, or if both are null. + + + + Creates an end point from object data saved during serialization. + + The object data. + An end point. + + + + Gets the object data required to serialize an end point. + + The end point. + The object data. + + + + Parses the string representation of an end point. + + The value to parse. + An end point. + + + + Compares two sequences of end points. + + The first sequence of end points. + The second sequence of end points. + True if both sequences contain the same end points in the same order, or if both sequences are null. + + + + Returns a that represents the end point. + + The end point. + + A that represents the end point. + + + + + Tries to parse the string representation of an end point. + + The value to parse. + The result. + True if the string representation was parsed successfully. + + + + Represents methods that can be used to ensure that parameter values meet expected conditions. + + + + + Ensures that the value of a parameter is between a minimum and a maximum value. + + The value of the parameter. + The minimum value. + The maximum value. + The name of the parameter. + Type type of the value. + The value of the parameter. + + + + Ensures that the value of a parameter is equal to a comparand. + + The value of the parameter. + The comparand. + The name of the parameter. + Type type of the value. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to a comparand. + + The value of the parameter. + The comparand. + The name of the parameter. + Type type of the value. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is infinite or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is infinite or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is not null. + + The value of the parameter. + The name of the parameter. + Type type of the value. + The value of the parameter. + + + + Ensures that the value of a parameter is not null or empty. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null. + + The value of the parameter. + The name of the parameter. + Type type of the value. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null, or infinite, or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or not empty. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or a valid timeout. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is a valid timeout. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that an assertion is true. + + The assertion. + The message to use with the exception that is thrown if the assertion is false. + + + + Ensures that an assertion is true. + + The assertion. + The message to use with the exception that is thrown if the assertion is false. + The parameter name. + + + + Ensures that the value of a parameter meets an assertion. + + The value of the parameter. + The assertion. + The name of the parameter. + The message to use with the exception that is thrown if the assertion is false. + Type type of the value. + The value of the parameter. + + + + Represents a feature that is not supported by all versions of the server. + + + + + Initializes a new instance of the class. + + The name of the feature. + The first server version that supports the feature. + + + + Gets the aggregate feature. + + + + + Gets the aggregate allow disk use feature. + + + + + Gets the aggregate bucket stage feature. + + + + + Gets the aggregate count stage feature. + + + + + Gets the aggregate cursor result feature. + + + + + Gets the aggregate explain feature. + + + + + Gets the aggregate $facet stage feature. + + + + + Gets the aggregate $graphLookup stage feature. + + + + + Gets the aggregate out feature. + + + + + Gets the bypass document validation feature. + + + + + Gets the collation feature. + + + + + Gets the commands that write accept write concern feature. + + + + + Gets the create indexes command feature. + + + + + Gets the current op command feature. + + + + + Gets the document validation feature. + + + + + Gets the explain command feature. + + + + + Gets the fail points feature. + + + + + Gets the find and modify write concern feature. + + + + + Gets the find command feature. + + + + + Gets the first server version that supports the feature. + + + + + Gets the index options defaults feature. + + + + + Determines whether a feature is supported by a version of the server. + + The server version. + Whether a feature is supported by a version of the server. + + + + Gets the last server version that does not support the feature. + + + + + Gets the list collections command feature. + + + + + Gets the list indexes command feature. + + + + + Gets the maximum staleness feature. + + + + + Gets the maximum time feature. + + + + + Gets the name of the feature. + + + + + Gets the partial indexes feature. + + + + + Gets the read concern feature. + + + + + Gets the scram sha1 authentication feature. + + + + + Gets the server extracts username from X509 certificate feature. + + + + + Returns a version of the server where the feature is or is not supported. + + Whether the feature is supported or not. + A version of the server where the feature is or is not supported. + + + + Throws if the feature is not supported by a version of the server. + + The server version. + + + + Gets the user management commands feature. + + + + + Gets the views feature. + + + + + Gets the write commands feature. + + + + + Represents a range between a minimum and a maximum value. + + The type of the value. + + + + Initializes a new instance of the class. + + The minimum value. + The maximum value. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the maximum value. + + + + + Gets the minimum value. + + + + + Determines whether this range overlaps with another range. + + The other range. + True if this range overlaps with the other + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents the read concern feature. + + + + + Initializes a new instance of the class. + + The name of the feature. + The first server version that supports the feature. + + + + Throws if the read concern value is not the server default and read concern is not supported. + + The server version. + The value. + + + + Represents a semantic version number. + + + + + Initializes a new instance of the class. + + The major version. + The minor version. + The patch version. + + + + Initializes a new instance of the class. + + The major version. + The minor version. + The patch version. + The pre release version. + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + An object to compare with this instance. + A value that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance precedes in the sort order. Zero This instance occurs in the same position in the sort order as . Greater than zero This instance follows in the sort order. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the major version. + + + + + Gets the minor version. + + + + + Determines whether two specified semantic versions have the same value. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is the same as the value of b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is greater than the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is greater than b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is greater than or equal to the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is greater than or equal to b; otherwise false. + + + + + Determines whether two specified semantic versions have different values. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is different from the value of b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is less than the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is less than b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is less than or equal to the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is less than or equal to b; otherwise false. + + + + + Parses a string representation of a semantic version. + + The string value to parse. + A semantic version. + + + + Gets the patch version. + + + + + Gets the pre release version. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Tries to parse a string representation of a semantic version. + + The string value to parse. + The result. + True if the string representation was parsed successfully; otherwise false. + + + + Represents a tentative request to acquire a SemaphoreSlim. + + + + + Initializes a new instance of the class. + + The semaphore. + The cancellation token. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Gets the semaphore wait task. + + + + + Represents an aggregate explain operations. + + + + + Initializes a new instance of the class. + + The collection namespace. + The pipeline. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to use the disk. + + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets the pipeline. + + + + + Represents an aggregate operation. + + The type of the result values. + + + + Initializes a new instance of the class. + + The collection namespace. + The pipeline. + The result value serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to use the disk. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets the pipeline. + + + + + Gets or sets the read concern. + + + + + Gets the result value serializer. + + + + + Returns an AggregateExplainOperation for this AggregateOperation. + + The verbosity. + An AggregateExplainOperation. + + + + Gets or sets a value indicating whether the server should use a cursor to return the results. + + + + + Represents an aggregate operation that writes the results to an output collection. + + + + + Initializes a new instance of the class. + + The collection namespace. + The pipeline. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to use the disk. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets the pipeline. + + + + + Gets or sets the write concern. + + + + + Represents an async cursor. + + The type of the documents. + + + + Initializes a new instance of the class. + + The channel source. + The collection namespace. + The query. + The first batch. + The cursor identifier. + The size of a batch. + The limit. + The serializer. + The message encoder settings. + The maxTime for each batch. + + + + Gets the current batch of documents. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + Releases unmanaged and - optionally - managed resources. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Moves to the next batch of documents. + + The cancellation token. + Whether any more documents are available. + + + + Moves to the next batch of documents. + + The cancellation token. + A Task whose result indicates whether any more documents are available. + + + + Represents a mixed write bulk operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The requests. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets a value indicating whether the writes must be performed in order. + + + + + Gets or sets the maximum number of documents in a batch. + + + + + Gets or sets the maximum length of a batch. + + + + + Gets or sets the maximum size of a document. + + + + + Gets or sets the maximum size of a wire document. + + + + + Gets the message encoder settings. + + + + + Gets the requests. + + + + + Gets or sets the write concern. + + + + + Represents the details of a write concern error. + + + + + Initializes a new instance of the class. + + The code. + The message. + The details. + + + + Gets the error code. + + + + + Gets the error details. + + + + + Gets the error message. + + + + + Represents the details of a write error for a particular request. + + + + + Initializes a new instance of the class. + + The index. + The code. + The message. + The details. + + + + Gets the error category. + + + + + Gets the error code. + + + + + Gets the error details. + + + + + Gets the index of the request that had an error. + + + + + Gets the error message. + + + + + Represents the result of a bulk write operation. + + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + Gets the number of documents that were deleted. + + + + + Gets the number of documents that were inserted. + + + + + Gets a value indicating whether the bulk write operation was acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the number of documents that were matched. + + + + + Gets the number of documents that were actually modified during an update. + + + + + Gets the processed requests. + + + + + Gets the request count. + + + + + Gets a list with information about each request that resulted in an upsert. + + + + + Represents the result of an acknowledged bulk write operation. + + + + + Initializes a new instance of the class. + + The request count. + The matched count. + The deleted count. + The inserted count. + The modified count. + The processed requests. + The upserts. + + + + Gets the number of documents that were deleted. + + + + + Gets the number of documents that were inserted. + + + + + Gets a value indicating whether the bulk write operation was acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the number of documents that were matched. + + + + + Gets the number of documents that were actually modified during an update. + + + + + Gets a list with information about each request that resulted in an upsert. + + + + + Represents the result of an unacknowledged BulkWrite operation. + + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + Gets the number of documents that were deleted. + + + + + Gets the number of documents that were inserted. + + + + + Gets a value indicating whether the bulk write operation was acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + + + Gets the number of documents that were matched. + + + + + Gets the number of documents that were actually modified during an update. + + + + + Gets a list with information about each request that resulted in an upsert. + + + + + Represents the information about one Upsert. + + + + + Gets the identifier. + + + + + Gets the index. + + + + + Represents the base class for a command operation. + + The type of the command result. + + + + Initializes a new instance of the class. + + The database namespace. + The command. + The result serializer. + The message encoder settings. + + + + Gets or sets the additional options. + + + + + Gets the command. + + + + + Gets or sets the command validator. + + + + + Gets or sets the comment. + + + + + Gets the database namespace. + + + + + Executes the protocol. + + The channel source. + The read preference. + The cancellation token. + A Task whose result is the command result. + + + + Executes the protocol. + + The channel source. + The read preference. + The cancellation token. + A Task whose result is the command result. + + + + Gets the message encoder settings. + + + + + Gets the result serializer. + + + + + Represents a count operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the filter. + + + + + Gets or sets the index hint. + + + + + Gets or sets a limit on the number of matching documents to count. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets or sets the read concern. + + + + + Gets or sets the number of documents to skip before counting the remaining matching documents. + + + + + Represents a create collection operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets or sets a value indicating whether an index on _id should be created automatically. + + + + + Gets or sets a value indicating whether the collection is a capped collection. + + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the index option defaults. + + + + + Gets or sets the maximum number of documents in a capped collection. + + + + + Gets or sets the maximum size of a capped collection. + + + + + Gets the message encoder settings. + + + + + Gets or sets whether padding should not be used. + + + + + Gets or sets the storage engine options. + + + + + Gets or sets a value indicating whether the collection should use power of 2 sizes. + + + + + Gets or sets the validation action. + + + + + Gets or sets the validation level. + + + + + Gets or sets the validator. + + + + + Gets or sets the write concern. + + + + + Represents a create indexes operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The requests. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets the create index requests. + + + + + Gets or sets the write concern. + + + + + Represents a create indexes operation that uses the createIndexes command. + + + + + Initializes a new instance of the class. + + The collection namespace. + The requests. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets the create index requests. + + + + + Gets or sets the write concern. + + + + + Represents a create indexes operation that inserts into the system.indexes collection (used with older server versions). + + + + + Initializes a new instance of the class. + + The collection namespace. + The requests. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets the create index requests. + + + + + Represents a create index request. + + + + + Initializes a new instance of the class. + + The keys. + + + + Gets or sets the additional options. + + + + + Gets or sets a value indicating whether the index should be created in the background. + + + + + Gets or sets the bits of precision of the geohash values for 2d geo indexes. + + + + + Gets or sets the size of the bucket for geo haystack indexes. + + + + + Gets or sets the collation. + + + + + Gets or sets the default language for text indexes. + + + + + Gets or sets when documents in a TTL collection expire. + + + + + Gets the name of the index. + + The name of the index. + + + + Gets the keys. + + + + + Gets or sets the language override for text indexes. + + + + + Gets or sets the maximum coordinate value for 2d indexes. + + + + + Gets or sets the minimum coordinate value for 2d indexes. + + + + + Gets or sets the index name. + + + + + Gets or sets the partial filter expression. + + + + + Gets or sets a value indicating whether the index is a sparse index. + + + + + Gets or sets the 2dsphere index version. + + + + + Gets or sets the storage engine options. + + + + + Gets or sets the text index version. + + + + + Gets or sets a value indicating whether the index enforces the uniqueness of the key values. + + + + + Gets or sets the index version. + + + + + Gets or sets the weights for text indexes. + + + + + Represents a create view operation. + + + + + Initializes a new instance of the class. + + The name of the database. + The name of the view. + The name of the collection that the view is on. + The pipeline. + The message encoder settings. + + + + Gets or sets the collation. + + + + + Gets the namespace of the database. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets the pipeline. + + + + + Gets the name of the view. + + + + + Gets the name of the collection that the view is on. + + + + + Gets or sets the write concern. + + + + + The cursor type. + + + + + A non-tailable cursor. This is sufficient for most uses. + + + + + A tailable cursor. + + + + + A tailable cursor with a built-in server sleep. + + + + + Represents a database exists operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The message encoder settings. + + + + Gets the database namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Represents a delete operation using the delete opcode. + + + + + Initializes a new instance of the class. + + The collection namespace. + The request. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets the request. + + + + + Gets or sets the write concern. + + + + + Represents a request to delete one or more documents. + + + + + Initializes a new instance of the class. + + The filter. + + + + Gets or sets the collation. + + + + + Gets or sets the filter. + + + + + Gets or sets a limit on the number of documents that should be deleted. + + + + + Represents a distinct operation. + + The type of the value. + + + + Initializes a new instance of the class. + + The collection namespace. + The value serializer. + The name of the field. + The message encoder settings. + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the name of the field. + + + + + Gets or sets the filter. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets or sets the read concern. + + + + + Gets the value serializer. + + + + + Represents a drop collection operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets or sets the write concern. + + + + + Represents a drop database operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The message encoder settings. + + + + Gets the database namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets or sets the write concern. + + + + + Represents a drop index operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The keys. + The message encoder settings. + + + + Initializes a new instance of the class. + + The collection namespace. + The name of the index. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the name of the index. + + + + + Gets the message encoder settings. + + + + + Gets or sets the write concern. + + + + + Represents an eval operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The JavaScript function. + The message encoder settings. + + + + Gets or sets the arguments to the JavaScript function. + + + + + Gets the database namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the JavaScript function. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets or sets a value indicating whether the server should not take a global write lock before evaluating the JavaScript function. + + + + + Represents an explain operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The command. + The message encoder settings. + + + + Gets the command to be explained. + + + + + Gets the database namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets or sets the verbosity. + + + + + The verbosity of an explanation. + + + + + Runs the query planner and chooses the winning plan, but does not actually execute it. + + + + + Runs the query optimizer, and then runs the winning plan to completion. In addition to the + planner information, this makes execution stats available. + + + + + Runs the query optimizer and chooses the winning plan, but then runs all generated plans + to completion. This makes execution stats available for all of the query plans. + + + + + Represents a base class for find and modify operations. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The result serializer. + The message encoder settings. + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the command validator. + + An element name validator for the command. + + + + Gets the message encoder settings. + + + + + Gets the result serializer. + + + + + Gets or sets the write concern. + + + + + Represents a deserializer for find and modify result values. + + The type of the result. + + + + Initializes a new instance of the class. + + The value serializer. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Represents a Find command operation. + + The type of the document. + + + + Initializes a new instance of the class. + + The collection namespace. + The result serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to return partial results if any shards are unavailable. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Gets or sets the comment. + + + + + Gets or sets the type of the cursor. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the filter. + + + + + Gets or sets the size of the first batch. + + + + + Gets or sets the hint. + + + + + Gets or sets the limit. + + + + + Gets or sets the max key value. + + + + + Gets or sets the maximum await time for TailableAwait cursors. + + + + + Gets or sets the max scan. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets or sets the min key value. + + + + + Gets or sets a value indicating whether the server will not timeout the cursor. + + + + + Gets or sets a value indicating whether the OplogReplay bit will be set. + + + + + Gets or sets the projection. + + + + + Gets or sets the read concern. + + + + + Gets the result serializer. + + + + + Gets or sets whether to only return the key values. + + + + + Gets or sets whether the record Id should be added to the result document. + + + + + Gets or sets whether to return only a single batch. + + + + + Gets or sets the number of documents skip. + + + + + Gets or sets whether to use snapshot behavior. + + + + + Gets or sets the sort specification. + + + + + Represents a find one and delete operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The filter. + The result serializer. + The message encoder settings. + + + + Gets the filter. + + + + + Gets the command validator. + + An element name validator for the command. + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets or sets the projection. + + + + + Gets or sets the sort specification. + + + + + Represents a find one and replace operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The filter. + The replacement. + The result serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets the filter. + + + + + Gets the command validator. + + An element name validator for the command. + + + + Gets a value indicating whether a document should be inserted if no matching document is found. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets or sets the projection. + + + + + Gets the replacement document. + + + + + Gets or sets which version of the modified document to return. + + + + + Gets or sets the sort specification. + + + + + Represents a find one and update operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The filter. + The update. + The result serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets the filter. + + + + + Gets the command validator. + + An element name validator for the command. + + + + Gets a value indicating whether a document should be inserted if no matching document is found. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets or sets the projection. + + + + + Gets or sets which version of the modified document to return. + + + + + Gets or sets the sort specification. + + + + + Gets or sets the update specification. + + + + + Represents a Find opcode operation. + + The type of the returned documents. + + + + Initializes a new instance of the class. + + The collection namespace. + The result serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to return partial results if any shards are unavailable. + + + + + Gets or sets the size of a batch. + + + + + Gets the collection namespace. + + + + + Gets or sets the comment. + + + + + Gets or sets the type of the cursor. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the filter. + + + + + Gets or sets the size of the first batch. + + + + + Gets or sets the hint. + + + + + Gets or sets the limit. + + + + + Gets or sets the max key value. + + + + + Gets or sets the max scan. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets or sets the min key value. + + + + + Gets or sets any additional query modifiers. + + + + + Gets or sets a value indicating whether the server will not timeout the cursor. + + + + + Gets or sets a value indicating whether the OplogReplay bit will be set. + + + + + Gets or sets the projection. + + + + + Gets the result serializer. + + + + + Gets or sets whether the record Id should be added to the result document. + + + + + Gets or sets the number of documents skip. + + + + + Gets or sets whether to use snapshot behavior. + + + + + Gets or sets the sort specification. + + + + + Returns an explain operation for this find operation. + + The verbosity. + An explain operation. + + + + Represents a Find operation. + + The type of the returned documents. + + + + Initializes a new instance of the class. + + The collection namespace. + The result serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to return partial results if any shards are unavailable. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Gets or sets the comment. + + + + + Gets or sets the type of the cursor. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the filter. + + + + + Gets or sets the size of the first batch. + + + + + Gets or sets the hint. + + + + + Gets or sets the limit. + + + + + Gets or sets the max key value. + + + + + Gets or sets the maximum await time for TailableAwait cursors. + + + + + Gets or sets the max scan. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets or sets the min key value. + + + + + Gets or sets any additional query modifiers. + + + + + Gets or sets a value indicating whether the server will not timeout the cursor. + + + + + Gets or sets a value indicating whether the OplogReplay bit will be set. + + + + + Gets or sets the projection. + + + + + Gets or sets the read concern. + + + + + Gets the result serializer. + + + + + Gets or sets whether to only return the key values. + + + + + Gets or sets whether the record Id should be added to the result document. + + + + + Gets or sets whether to return only a single batch. + + + + + Gets or sets the number of documents skip. + + + + + Gets or sets whether to use snapshot behavior. + + + + + Gets or sets the sort specification. + + + + + Represents the geoNear command. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The point for which to find the closest documents. + The result serializer. + The message encoder settings. + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Gets or sets the distance multiplier. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the filter. + + + + + Gets or sets whether to include the locations of the matching documents. + + + + + Gets or sets the limit. + + + + + Gets or sets the maximum distance. + + + + + Gets or sets the maximum time. + + + + + Gets the message encoder settings. + + + + + Gets the point for which to find the closest documents. + + + + + Gets or sets the read concern. + + + + + Gets the result serializer. + + + + + Gets or sets whether to use spherical geometry. + + + + + Gets or sets whether to return a document only once. + + + + + Represents the geoSearch command. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The point for which to find the closest documents. + The result serializer. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the limit. + + + + + Gets or sets the maximum distance. + + + + + Gets or sets the maximum time. + + + + + Gets the message encoder settings. + + + + + Gets the point for which to find the closest documents. + + + + + Gets or sets the read concern. + + + + + Gets the result serializer. + + + + + Gets or sets the search. + + + + + Represents a group operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The key. + The initial aggregation result for each group. + The reduce function. + The filter. + The message encoder settings. + + + + Initializes a new instance of the class. + + The collection namespace. + The key function. + The initial aggregation result for each group. + The reduce function. + The filter. + The message encoder settings. + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the filter. + + + + + Gets or sets the finalize function. + + + + + Gets the initial aggregation result for each group. + + + + + Gets the key. + + + + + Gets the key function. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets the reduce function. + + + + + Gets or sets the result serializer. + + + + + Represents helper methods for index names. + + + + + Gets the name of the index derived from the keys specification. + + The keys specification. + The name of the index. + + + + Gets the name of the index derived from the key names. + + The key names. + The name of the index. + + + + Represents an insert operation using the insert opcode. + + The type of the document. + + + + Initializes a new instance of the class. + + The collection namespace. + The document source. + The serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets the collection namespace. + + + + + Gets a value indicating whether the server should continue on error. + + + + + Gets the document source. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the maximum number of documents in a batch. + + + + + Gets or sets the maximum size of a document. + + + + + Gets or sets the maximum size of a message. + + + + + Gets the message encoder settings. + + + + + Gets the serializer. + + + + + Gets or sets the write concern. + + + + + Represents a request to insert a document. + + + + + Initializes a new instance of the class. + + The document. + + + + Gets or sets the document. + + + + + Represents a database read operation. + + The type of the result. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Represents a database write operation. + + The type of the result. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Represents a list collections operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The message encoder settings. + + + + Gets the database namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the filter. + + + + + Gets the message encoder settings. + + + + + Represents a list collections operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The message encoder settings. + + + + Gets the database namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the filter. + + + + + Gets the message encoder settings. + + + + + Represents a list collections operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The message encoder settings. + + + + Gets the database namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the filter. + + + + + Gets the message encoder settings. + + + + + Represents the listDatabases command. + + + + + Initializes a new instance of the class. + + The message encoder settings. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Represents a list indexes operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Represents a list indexes operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Represents a list indexes operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Represents a map-reduce operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The map function. + The reduce function. + The message encoder settings. + + + + Creates the command. + + The server version. + The command. + + + + Creates the output options. + + The output options. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the read concern. + + + + + Represents a map-reduce operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The map function. + The reduce function. + The result serializer. + The message encoder settings. + + + + Creates the command. + + The server version. + The command. + + + + Creates the output options. + + The output options. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the read concern. + + + + + Gets the result serializer. + + + + + Represents a base class for map-reduce operations. + + + + + Initializes a new instance of the class. + + The collection namespace. + The map function. + The reduce function. + The message encoder settings. + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Creates the command. + + The server version. + The command. + + + + Creates the output options. + + The output options. + + + + Gets or sets the filter. + + + + + Gets or sets the finalize function. + + + + + Gets or sets a value indicating whether objects emitted by the map function remain as JavaScript objects. + + + + + Gets or sets the maximum number of documents to pass to the map function. + + + + + Gets the map function. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + + + Gets the reduce function. + + + + + Gets or sets the scope document. + + + + + Gets or sets the sort specification. + + + + + Gets or sets a value indicating whether to include extra information, such as timing, in the result. + + + + + Represents the map-reduce output mode. + + + + + The output of the map-reduce operation replaces the output collection. + + + + + The output of the map-reduce operation is merged with the output collection. + If an existing document has the same key as the new result, overwrite the existing document. + + + + + The output of the map-reduce operation is merged with the output collection. + If an existing document has the same key as the new result, apply the reduce function to both + the new and the existing documents and overwrite the existing document with the result. + + + + + Represents a map-reduce operation that outputs its results to a collection. + + + + + Initializes a new instance of the class. + + The collection namespace. + The output collection namespace. + The map function. + The reduce function. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Creates the command. + + The server version. + The command. + + + + Creates the output options. + + The output options. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets a value indicating whether the server should not lock the database for merge and reduce output modes. + + + + + Gets the output collection namespace. + + + + + Gets or sets the output mode. + + + + + Gets or sets a value indicating whether the output collection should be sharded. + + + + + Gets or sets the write concern. + + + + + Represents a bulk write operation exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + The write errors. + The write concern error. + The unprocessed requests. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + When overridden in a derived class, sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + The caller does not have the required permission. + + + + Gets the result of the bulk write operation. + + + + + Gets the unprocessed requests. + + + + + + Gets the write concern error. + + + + + Gets the write errors. + + + + + Represents extension methods for operations. + + + + + Executes a read operation using a channel source. + + The read operation. + The channel source. + The read preference. + The cancellation token. + The type of the result. + The result of the operation. + + + + Executes a write operation using a channel source. + + The write operation. + The channel source. + The cancellation token. + The type of the result. + The result of the operation. + + + + Executes a read operation using a channel source. + + The read operation. + The channel source. + The read preference. + The cancellation token. + The type of the result. + A Task whose result is the result of the operation. + + + + Executes a write operation using a channel source. + + The write operation. + The channel source. + The cancellation token. + The type of the result. + A Task whose result is the result of the operation. + + + + Represents a parallel scan operation. + + The type of the document. + + + + Initializes a new instance of the class. + + The collection namespace. + The number of cursors. + The serializer. + The message encoder settings. + + + + Gets or sets the size of a batch. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets the number of cursors. + + + + + Gets or sets the read concern. + + + + + Gets the serializer. + + + + + Represents a ping operation. + + + + + Initializes a new instance of the class. + + The message encoder settings. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Represents a read command operation. + + The type of the command result. + + + + Initializes a new instance of the class. + + The database namespace. + The command. + The result serializer. + The message encoder settings. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Represents a reindex operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets or sets the write concern (ignored and will eventually be deprecated and later removed). + + + + + Represents a rename collection operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The new collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Gets or sets a value indicating whether to drop the target collection first if it already exists. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets the message encoder settings. + + + + + Gets the new collection namespace. + + + + + Gets or sets the write concern. + + + + + The document to return when executing a FindAndModify command. + + + + + Returns the document before the modification. + + + + + Returns the document after the modification. + + + + + Represents an update operation using the update opcode. + + + + + Initializes a new instance of the class. + + The collection namespace. + The request. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets the collection namespace. + + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Gets or sets the maximum size of a document. + + + + + Gets the message encoder settings. + + + + + Gets the request. + + + + + Gets or sets the write concern. + + + + + Represents a request to update one or more documents. + + + + + Initializes a new instance of the class. + + The update type. + The filter. + The update. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets a value indicating whether this update should affect all matching documents. + + + + + Gets or sets a value indicating whether a document should be inserted if no matching document is found. + + + + + Gets the update specification. + + + + + Gets the update type. + + + + + Represents the update type. + + + + + The update type is unknown. + + + + + This update uses an update specification to update an existing document. + + + + + This update completely replaces an existing document with a new one. + + + + + Represents a write command operation. + + The type of the command result. + + + + Initializes a new instance of the class. + + The database namespace. + The command. + The result serializer. + The message encoder settings. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Represents a request to write something to the database. + + + + + Initializes a new instance of the class. + + The request type. + + + + Gets or sets the correlation identifier. + + + + + Gets the request type. + + + + + Represents the type of a write request. + + + + + A delete request. + + + + + An insert request. + + + + + An udpate request. + + + + + Represents an element name validator that checks that element names are valid for MongoDB collections. + + + + + + + MongoDB.Driver.Core.Operations.ElementNameValidators.CollectionElementNameValidator + + + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Gets a pre-created instance of a CollectionElementNameValidator. + + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents a factory for element name validators based on the update type. + + + + + Returns an element name validator for the update type. + + Type of the update. + An element name validator. + + + + Represents an element name validator for update operations. + + + + + + + MongoDB.Driver.Core.Operations.ElementNameValidators.UpdateElementNameValidator + + + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Gets a pre-created instance of an UpdateElementNameValidator. + + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents an element name validator that will validate element names for either an update or a replacement based on whether the first element name starts with a "$". + + + + + Initializes a new instance of the class. + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents a server that can be part of a cluster. + + + + + Initializes this instance. + + + + + Invalidates this instance (sets the server type to Unknown and clears the connection pool). + + + + + Gets a value indicating whether this instance is initialized. + + + + + Requests a heartbeat as soon as possible. + + + + + Represents a server factory. + + + + + Creates the server. + + The cluster identifier. + The end point. + A server. + + + + Represents a MongoDB server. + + + + + Gets the server description. + + + + + Occurs when the server description changes. + + + + + Gets the end point. + + + + + Gets a channel to the server. + + The cancellation token. + A channel. + + + + Gets a channel to the server. + + The cancellation token. + A Task whose result is a channel. + + + + Gets the server identifier. + + + + + Represents information about a server. + + + + + Initializes a new instance of the class. + + The server identifier. + The end point. + The average round trip time. + The canonical end point. + The election identifier. + The heartbeat exception. + The heartbeat interval. + The last update timestamp. + The last write timestamp. + The maximum batch count. + The maximum size of a document. + The maximum size of a message. + The maximum size of a wire document. + The replica set configuration. + The server state. + The replica set tags. + The server type. + The server version. + The wire version range. + + + + Gets the average round trip time. + + + + + Gets the canonical end point. This is the endpoint that the cluster knows this + server by. Currently, it only applies to a replica set config and will match + what is in the replica set configuration. + + + + + Gets the election identifier. + + + + + Gets the end point. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + + Gets the most recent heartbeat exception. + + + + + Gets the heartbeat interval. + + + + + Gets the last update timestamp (when the ServerDescription itself was last updated). + + + + + Gets the last write timestamp (from the lastWrite field of the isMaster result). + + + + + Gets the maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + + + Gets the maximum size of a message. + + + + + Gets the maximum size of a wire document. + + + + + Gets the replica set configuration. + + + + + Gets the server identifier. + + + + + Gets the server state. + + + + + Gets the replica set tags. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Gets the server type. + + + + + Gets the server version. + + + + + Gets the wire version range. + + + + + Returns a new instance of ServerDescription with some values changed. + + The average round trip time. + The canonical end point. + The election identifier. + The heartbeat exception. + The heartbeat interval. + The last update timestamp. + The last write timestamp. + The maximum batch count. + The maximum size of a document. + The maximum size of a message. + The maximum size of a wire document. + The replica set configuration. + The server state. + The replica set tags. + The server type. + The server version. + The wire version range. + + A new instance of ServerDescription. + + + + + Represents the arguments to the event that occurs when the server description changes. + + + + + Initializes a new instance of the class. + + The old server description. + The new server description. + + + + Gets the new server description. + + + + + Gets the old server description. + + + + + Represents a server identifier. + + + + + Initializes a new instance of the class. + + The cluster identifier. + The end point. + + + + Gets the cluster identifier. + + + + + Gets the end point. + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + true if the current object is equal to the parameter; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Serves as the default hash function. + A hash code for the current object. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Represents the server state. + + + + + The server is disconnected. + + + + + The server is connected. + + + + + Represents the server type. + + + + + The server type is unknown. + + + + + The server is a standalone server. + + + + + The server is a shard router. + + + + + The server is a replica set primary. + + + + + The server is a replica set secondary. + + + + + Use ReplicaSetSecondary instead. + + + + + The server is a replica set arbiter. + + + + + The server is a replica set member of some other type. + + + + + The server is a replica set ghost member. + + + + + Represents extension methods on ServerType. + + + + + Determines whether this server type is a replica set member. + + The type of the server. + Whether this server type is a replica set member. + + + + Determines whether this server type is a writable server. + + The type of the server. + Whether this server type is a writable server. + + + + Infers the cluster type from the server type. + + The type of the server. + The cluster type. + + + + Instructions for handling the response from a command. + + + + + Return the response from the server. + + + + + Ignore the response from the server. + + + + + Represents one result batch (returned from either a Query or a GetMore message) + + The type of the document. + + + + Initializes a new instance of the struct. + + The cursor identifier. + The documents. + + + + Gets the cursor identifier. + + + + + Gets the documents. + + + + + Represents a Delete message. + + + + + Initializes a new instance of the class. + + The request identifier. + The collection namespace. + The query. + if set to true [is multi]. + + + + Gets the collection namespace. + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Gets a value indicating whether to delete all matching documents. + + + + + Gets the type of the message. + + + + + Gets the query. + + + + + Represents a GetMore message. + + + + + Initializes a new instance of the class. + + The request identifier. + The collection namespace. + The cursor identifier. + The size of a batch. + + + + Gets the size of a batch. + + + + + Gets the collection namespace. + + + + + Gets the cursor identifier. + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Gets the type of the message. + + + + + Represents an Insert message. + + The type of the document. + + + + Initializes a new instance of the class. + + The request identifier. + The collection namespace. + The serializer. + The document source. + The maximum batch count. + Maximum size of the message. + if set to true the server should continue on error. + + + + Gets the collection namespace. + + + + + Gets a value indicating whether the server should continue on error. + + + + + Gets the document source. + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Gets the maximum number of documents in a batch. + + + + + Gets the maximum size of a message. + + + + + Gets the type of the message. + + + + + Gets the serializer. + + + + + Represents a KillCursors message. + + + + + Initializes a new instance of the class. + + The request identifier. + The cursor ids. + + + + Gets the cursor ids. + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Gets the type of the message. + + + + + Represents a base class for messages. + + + + + + + MongoDB.Driver.Core.WireProtocol.Messages.MongoDBMessage + + + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Gets the type of the message. + + + + + Represents the type of message. + + + + + OP_DELETE + + + + + OP_GETMORE + + + + + OP_INSERT + + + + + OP_KILLCURSORS + + + + + OP_QUERY + + + + + OP_REPLY + + + + + OP_UPDATE + + + + + Represents a Query message. + + + + + Initializes a new instance of the class. + + The request identifier. + The collection namespace. + The query. + The fields. + The query validator. + The number of documents to skip. + The size of a batch. + if set to true it is OK if the server is not the primary. + if set to true the server is allowed to return partial results if any shards are unavailable. + if set to true the server should not timeout the cursor. + if set to true the OplogReplay bit will be set. + if set to true the query should return a tailable cursor. + if set to true the server should await data (used with tailable cursors). + A delegate that determines whether this message should be sent. + + + + Gets a value indicating whether the server should await data (used with tailable cursors). + + + + + Gets the size of a batch. + + + + + Gets the collection namespace. + + + + + Gets the fields. + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Gets the type of the message. + + + + + Gets a value indicating whether the server should not timeout the cursor. + + + + + Gets a value indicating whether the OplogReplay bit will be set. + + + + + Gets a value indicating whether the server is allowed to return partial results if any shards are unavailable. + + + + + Gets the query. + + + + + Gets the query validator. + + + + + Gets the number of documents to skip. + + + + + Gets a value indicating whether it is OK if the server is not the primary. + + + + + Gets a value indicating whether the query should return a tailable cursor. + + + + + Represents a Reply message. + + The type of the document. + + + + Initializes a new instance of the class. + + if set to true the server is await capable. + The cursor identifier. + if set to true the cursor was not found. + The documents. + The number of documents returned. + if set to true the query failed. + The query failure document. + The request identifier. + The identifier of the message this is a response to. + The serializer. + The position of the first document in this batch in the overall result. + + + + Gets a value indicating whether the server is await capable. + + + + + Gets the cursor identifier. + + + + + Gets a value indicating whether the cursor was not found. + + + + + Gets the documents. + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Gets the type of the message. + + + + + Gets the number of documents returned. + + + + + Gets a value indicating whether the query failed. + + + + + Gets the query failure document. + + + + + Gets the serializer. + + + + + Gets the position of the first document in this batch in the overall result. + + + + + Represents a base class for request messages. + + + + + Initializes a new instance of the class. + + The request identifier. + A delegate that determines whether this message should be sent. + + + + Gets the current global request identifier. + + + + + Gets the next request identifier. + + The next request identifier. + + + + Gets the request identifier. + + + + + Gets a delegate that determines whether this message should be sent. + + + + + Gets or sets a value indicating whether this message was sent. + + + + + Represents a base class for response messages. + + + + + Initializes a new instance of the class. + + The request identifier. + The identifier of the message this is a response to. + + + + Gets the type of the message. + + + + + Gets the request identifier. + + + + + Gets the identifier of the message this is a response to. + + + + + Represents an Update message. + + + + + Initializes a new instance of the class. + + The request identifier. + The collection namespace. + The query. + The update. + The update validator. + if set to true all matching documents should be updated. + if set to true a document should be inserted if no matching document is found. + + + + Gets the collection namespace. + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Gets a value indicating whether all matching documents should be updated. + + + + + Gets a value indicating whether a document should be inserted if no matching document is found. + + + + + Gets the type of the message. + + + + + Gets the query. + + + + + Gets the update. + + + + + Gets the update validator. + + + + + Represents an encodable message. + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Represents a message encoder. + + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a message encoder factory. + + + + + Gets an encoder for a Delete message. + + An encoder. + + + + Gets an encoder for a GetMore message. + + An encoder. + + + + Gets an encoder for an Insert message. + + The serializer. + The type of the document. + An encoder. + + + + Gets an encoder for a KillCursors message. + + An encoder. + + + + Gets an encoder for a Query message. + + An encoder. + + + + Gets an encoder for a Reply message. + + The serializer. + The type of the document. + An encoder. + + + + Gets an encoder for an Update message. + + An encoder. + + + + Represents a message encoder selector that gets the appropriate encoder from an encoder factory. + + + + + Get the appropriate encoder from an encoder factory. + + The encoder factory. + A message encoder. + + + + Represents settings for message encoders. + + + + + + + MongoDB.Driver.Core.WireProtocol.Messages.Encoders.MessageEncoderSettings + + + + + + + Adds a setting. + + The name. + The value. + The type of the value. + The settings. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + + Gets a setting, or a default value if the setting does not exist. + + The name. + The default value. + The type of the value. + The value of the setting, or a default value if the setting does not exist. + + + + Represents the names of different encoder settings. + + + + + The name of the FixOldBinarySubTypeOnInput setting. + + + + + The name of the FixOldBinarySubTypeOnOutput setting. + + + + + The name of the FixOldDateTimeMaxValueOnInput setting. + + + + + The name of the GuidRepresentation setting. + + + + + The name of the Indent setting. + + + + + The name of the IndentChars setting. + + + + + The name of the MaxDocumentSize setting. + + + + + The name of the MaxSerializationDepth setting. + + + + + The name of the NewLineChars setting. + + + + + The name of the OutputMode setting. + + + + + The name of the ReadEncoding setting. + + + + + The name of the ShellVersion setting. + + + + + The name of the WriteEncoding setting. + + + + + Represents a message encoder selector for ReplyMessages. + + The type of the document. + + + + Initializes a new instance of the class. + + The document serializer. + + + + Get the appropriate encoder from an encoder factory. + + The encoder factory. + A message encoder. + + + + Represents a factory for binary message encoders. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Gets an encoder for a Delete message. + + An encoder. + + + + Gets an encoder for a GetMore message. + + An encoder. + + + + Gets an encoder for an Insert message. + + The serializer. + The type of the document. + An encoder. + + + + Gets an encoder for a KillCursors message. + + An encoder. + + + + Gets an encoder for a Query message. + + An encoder. + + + + Gets an encoder for a Reply message. + + The serializer. + The type of the document. + An encoder. + + + + Gets an encoder for an Update message. + + An encoder. + + + + Represents a binary encoder for a Delete message. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a binary encoder for a GetMore message. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a binary encoder for an Insert message. + + The type of the documents. + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + The serializer. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a binary encoder for a KillCursors message. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a base class for binary message encoders. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Creates a binary reader for this encoder. + + A binary reader. + + + + Creates a binary writer for this encoder. + + A binary writer. + + + + Gets the encoding. + + + + + Represents a binary encoder for a Query message. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a binary encoder for a Reply message. + + The type of the documents. + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + The serializer. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a binary encoder for an Update message. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a JSON encoder for a Delete message. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a JSON encoder for a GetMore message. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a JSON encoder for an Insert message. + + The type of the documents. + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + The serializer. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a factory for JSON message encoders. + + + + + Initializes a new instance of the class. + + The text reader. + The encoder settings. + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Initializes a new instance of the class. + + The text writer. + The encoder settings. + + + + Gets an encoder for a Delete message. + + An encoder. + + + + Gets an encoder for a GetMore message. + + An encoder. + + + + Gets an encoder for an Insert message. + + The serializer. + The type of the document. + An encoder. + + + + Gets an encoder for a KillCursors message. + + An encoder. + + + + Gets an encoder for a Query message. + + An encoder. + + + + Gets an encoder for a Reply message. + + The serializer. + The type of the document. + An encoder. + + + + Gets an encoder for an Update message. + + An encoder. + + + + Represents a JSON encoder for a KillCursors message. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a base class for JSON message encoders. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Creates a JsonReader for this encoder. + + A JsonReader. + + + + Creates a JsonWriter for this encoder. + + A JsonWriter. + + + + Represents a JSON encoder for a Query message. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a JSON encoder for a Reply message. + + The type of the documents. + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + The serializer. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a JSON encoder for an Update message. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + \ No newline at end of file diff --git a/packages/MongoDB.Driver.Core.2.4.3/lib/netstandard1.5/MongoDB.Driver.Core.xml b/packages/MongoDB.Driver.Core.2.4.3/lib/netstandard1.5/MongoDB.Driver.Core.xml new file mode 100644 index 0000000..0905bbb --- /dev/null +++ b/packages/MongoDB.Driver.Core.2.4.3/lib/netstandard1.5/MongoDB.Driver.Core.xml @@ -0,0 +1,14211 @@ + + + + MongoDB.Driver.Core + + + + + Represents a cursor that wraps another cursor with a transformation function on the documents. + + The type of from document. + The type of to document. + + + + + Initializes a new instance of the class. + + The wrapped. + The transformer. + + + + + + + + + + + + + + + + Controls whether spaces and punctuation are considered base characters. + + + + + Spaces and punctuation are considered base characters (the default). + + + + + Spaces and characters are not considered base characters, and are only distinguised at strength > 3. + + + + + Uppercase or lowercase first. + + + + + Off (the default). + + + + + Uppercase first. + + + + + Lowercase first. + + + + + Controls which characters are affected by alternate: "Shifted". + + + + + Punctuation and spaces are affected (the default). + + + + + Only spaces. + + + + + Prioritizes the comparison properties. + + + + + Primary. + + + + + Secondary. + + + + + Tertiary (the default). + + + + + Quaternary. + + + + + Identical. + + + + + Represents a MongoDB collation. + + + + + Gets the simple binary compare collation. + + + + + Creates a Collation instance from a BsonDocument. + + The document. + A Collation instance. + + + + Initializes a new instance of the class. + + The locale. + The case level. + The case that is ordered first. + The strength. + Whether numbers are ordered numerically. + The alternate. + The maximum variable. + The normalization. + Whether secondary differences are to be considered in reverse order. + + + + Gets whether spaces and punctuation are considered base characters. + + + + + Gets whether secondary differencs are to be considered in reverse order. + + + + + Gets whether upper case or lower case is ordered first. + + + + + Gets whether the collation is case sensitive at strength 1 and 2. + + + + + Gets the locale. + + + + + Gets which characters are affected by the alternate: "Shifted". + + + + + Gets the normalization. + + + + + Gets whether numbers are ordered numerically. + + + + + Gets the strength. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + + + + + + + + + + + + + Creates a new Collation instance with some properties changed. + + The new locale. + The new case level. + The new case first. + The new strength. + The new numeric ordering. + The new alternate. + The new maximum variable. + The new normalization. + The new backwards. + A new Collation instance. + + + + Represents a collection namespace. + + + + + Creates a new instance of the class from a collection full name. + + The collection full name. + A CollectionNamespace. + + + + Determines whether the specified collection name is valid. + + The name of the collection. + Whether the specified collection name is valid. + + + + Initializes a new instance of the class. + + The name of the database. + The name of the collection. + + + + Initializes a new instance of the class. + + The database namespace. + The name of the collection. + + + + Gets the name of the collection. + + + The name of the collection. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets the collection full name. + + + The collection full name. + + + + + + + + + + + + + + + + + Represents a database namespace. + + + + + Gets the admin database namespace. + + + The admin database namespace. + + + + + Determines whether the specified database name is valid. + + The database name. + True if the database name is valid. + + + + Initializes a new instance of the class. + + The name of the database. + + + + Gets the name of the database. + + + The name of the database. + + + + + + + + + + + + + + + + + Represents a cursor for an operation that is not actually executed until MoveNextAsync is called for the first time. + + The type of the document. + + + + Initializes a new instance of the class. + + The delegate to execute the first time MoveNext is called. + The delegate to execute the first time MoveNextAsync is called. + + + + + + + + + + + + + + + + Represents the document validation action. + + + + + Validation failures result in an error. + + + + + Validation failures result in a warning. + + + + + Represents the document validation level. + + + + + Strict document validation. + + + + + Moderate document validation. + + + + + No document validation. + + + + + Represents an asynchronous cursor. + + The type of the document. + + + + Gets the current batch of documents. + + + The current batch of documents. + + + + + Moves to the next batch of documents. + + The cancellation token. + Whether any more documents are available. + + + + Moves to the next batch of documents. + + The cancellation token. + A Task whose result indicates whether any more documents are available. + + + + Represents extension methods for IAsyncCursor. + + + + + Determines whether the cursor contains any documents. + + The type of the document. + The cursor. + The cancellation token. + True if the cursor contains any documents. + + + + Determines whether the cursor contains any documents. + + The type of the document. + The cursor. + The cancellation token. + A Task whose result is true if the cursor contains any documents. + + + + Returns the first document of a cursor. + + The type of the document. + The cursor. + The cancellation token. + The first document. + + + + Returns the first document of a cursor. + + The type of the document. + The cursor. + The cancellation token. + A Task whose result is the first document. + + + + Returns the first document of a cursor, or a default value if the cursor contains no documents. + + The type of the document. + The cursor. + The cancellation token. + The first document of the cursor, or a default value if the cursor contains no documents. + + + + Returns the first document of the cursor, or a default value if the cursor contains no documents. + + The type of the document. + The cursor. + The cancellation token. + A task whose result is the first document of the cursor, or a default value if the cursor contains no documents. + + + + Calls a delegate for each document returned by the cursor. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + + If your delegate is going to take a long time to execute or is going to block + consider using a different overload of ForEachAsync that uses a delegate that + returns a Task instead. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + + If your delegate is going to take a long time to execute or is going to block + consider using a different overload of ForEachAsync that uses a delegate that + returns a Task instead. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Returns the only document of a cursor. This method throws an exception if the cursor does not contain exactly one document. + + The type of the document. + The cursor. + The cancellation token. + The only document of a cursor. + + + + Returns the only document of a cursor. This method throws an exception if the cursor does not contain exactly one document. + + The type of the document. + The cursor. + The cancellation token. + A Task whose result is the only document of a cursor. + + + + Returns the only document of a cursor, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The type of the document. + The cursor. + The cancellation token. + The only document of a cursor, or a default value if the cursor contains no documents. + + + + Returns the only document of a cursor, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The type of the document. + The cursor. + The cancellation token. + A Task whose result is the only document of a cursor, or a default value if the cursor contains no documents. + + + + Wraps a cursor in an IEnumerable that can be enumerated one time. + + The type of the document. + The cursor. + The cancellation token. + An IEnumerable + + + + Returns a list containing all the documents returned by a cursor. + + The type of the document. + The source. + The cancellation token. + The list of documents. + + + + Returns a list containing all the documents returned by a cursor. + + The type of the document. + The source. + The cancellation token. + A Task whose value is the list of documents. + + + + Represents an operation that will return a cursor when executed. + + The type of the document. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A cursor. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A Task whose result is a cursor. + + + + Represents extension methods for IAsyncCursorSource. + + + + + Determines whether the cursor returned by a cursor source contains any documents. + + The type of the document. + The source. + The cancellation token. + True if the cursor contains any documents. + + + + Determines whether the cursor returned by a cursor source contains any documents. + + The type of the document. + The source. + The cancellation token. + A Task whose result is true if the cursor contains any documents. + + + + Returns the first document of a cursor returned by a cursor source. + + The type of the document. + The source. + The cancellation token. + The first document. + + + + Returns the first document of a cursor returned by a cursor source. + + The type of the document. + The source. + The cancellation token. + A Task whose result is the first document. + + + + Returns the first document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + + The type of the document. + The source. + The cancellation token. + The first document of the cursor, or a default value if the cursor contains no documents. + + + + Returns the first document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + + The type of the document. + The source. + The cancellation token. + A Task whose result is the first document of the cursor, or a default value if the cursor contains no documents. + + + + Calls a delegate for each document returned by the cursor. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + + If your delegate is going to take a long time to execute or is going to block + consider using a different overload of ForEachAsync that uses a delegate that + returns a Task instead. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + + If your delegate is going to take a long time to execute or is going to block + consider using a different overload of ForEachAsync that uses a delegate that + returns a Task instead. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Returns the only document of a cursor returned by a cursor source. This method throws an exception if the cursor does not contain exactly one document. + + The type of the document. + The source. + The cancellation token. + The only document of a cursor. + + + + Returns the only document of a cursor returned by a cursor source. This method throws an exception if the cursor does not contain exactly one document. + + The type of the document. + The source. + The cancellation token. + A Task whose result is the only document of a cursor. + + + + Returns the only document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The type of the document. + The source. + The cancellation token. + The only document of a cursor, or a default value if the cursor contains no documents. + + + + Returns the only document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The type of the document. + The source. + The cancellation token. + A Task whose result is the only document of a cursor, or a default value if the cursor contains no documents. + + + + Wraps a cursor source in an IEnumerable. Each time GetEnumerator is called a new cursor is fetched from the cursor source. + + The type of the document. + The source. + The cancellation token. + An IEnumerable. + + + + Returns a list containing all the documents returned by the cursor returned by a cursor source. + + The type of the document. + The source. + The cancellation token. + The list of documents. + + + + Returns a list containing all the documents returned by the cursor returned by a cursor source. + + The type of the document. + The source. + The cancellation token. + A Task whose value is the list of documents. + + + + Represents a MongoDB authentication exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Represents a MongoDB client exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Represents a MongoDB command exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The command. + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The command. + The command result. + + + + Gets the error code. + + + The error code. + + + + + Gets the command. + + + The command. + + + + + Gets the error message. + + + The error message. + + + + + Gets the command result. + + + The command result. + + + + + Represents a MongoDB configuration exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Represents a MongoDB connection failed exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + + + + Represents a MongoDB connection exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Gets the connection identifier. + + + + + Represents a MongoDB cursor not found exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The cursor identifier. + The query. + + + + Gets the cursor identifier. + + + The cursor identifier. + + + + + Represents a MongoDB duplicate key exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The command result. + + + + Represents a MongoDB exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Represents a MongoDB execution timeout exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Represents a MongoDB incompatible driver exception. + + + + + Initializes a new instance of the class. + + The cluster description. + + + + Represents a MongoDB internal exception (almost surely the result of a bug). + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Represents a MongoDB node is recovering exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + + + + Gets the result from the server. + + + The result from the server. + + + + + Represents a MongoDB not primary exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + + + + Gets the result from the server. + + + The result from the server. + + + + + Represents a MongoDB query exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The query. + The query result. + + + + Gets the query. + + + The query. + + + + + Gets the query result. + + + The query result. + + + + + Represents a MongoDB server exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Gets the connection identifier. + + + + + Represents a MongoDB connection pool wait queue full exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Represents a MongoDB write concern exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The command result. + + + + Gets the write concern result. + + + The write concern result. + + + + + Represents helper methods for use with the struct. + + + + + Creates an instance of an optional parameter with a value. + + + This helper method can be used when the implicit conversion doesn't work (due to compiler limitations). + + The type of the optional parameter. + The value. + An instance of an optional parameter with a value. + + + + Creates an instance of an optional parameter with an enumerable value. + + The type of the items of the optional paramater. + The value. + An instance of an optional parameter with an enumerable value. + + + + Represents an optional parameter that might or might not have a value. + + The type of the parameter. + + + + Initializes a new instance of the struct with a value. + + The value of the parameter. + + + + Gets a value indicating whether the optional parameter has a value. + + + true if the optional parameter has a value; otherwise, false. + + + + + Gets the value of the optional parameter. + + + The value of the optional parameter. + + + + + Performs an implicit conversion from to an with a value. + + The value. + + The result of the conversion. + + + + + Returns a value indicating whether this optional parameter contains a value that is not equal to an existing value. + + The value. + True if this optional parameter contains a value that is not equal to an existing value. + + + + Returns either the value of this optional parameter if it has a value, otherwise a default value. + + The default value. + Either the value of this optional parameter if it has a value, otherwise a default value. + + + + Represents a read concern. + + + + + Gets a default read concern. + + + + + Gets a linearizable read concern. + + + + + Gets a local read concern. + + + + + Gets a majority read concern. + + + + + Creates a read concern from a document. + + The document. + A read concern. + + + + Initializes a new instance of the class. + + The level. + + + + Gets a value indicating whether this is the server's default read concern. + + + true if this instance is default; otherwise, false. + + + + + Gets the level. + + + + + + + + + + + + + + Converts this read concern to a BsonDocument suitable to be sent to the server. + + + A BsonDocument. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a new instance of ReadConcern with some values changed. + + The level. + + A ReadConcern. + + + + + The leve of the read concern. + + + + + Reads data committed locally. + + + + + Reads data committed to a majority of nodes. + + + + + Avoids returning data from a "stale" primary + (one that has already been superseded by a new primary but doesn't know it yet). + It is important to note that readConcern level linearizable does not by itself + produce linearizable reads; they must be issued in conjunction with w:majority + writes to the same document(s) in order to be linearizable. + + + + + Represents a read preference. + + + + + Gets an instance of ReadPreference that represents a Nearest read preference. + + + An instance of ReadPreference that represents a Nearest read preference. + + + + + Gets an instance of ReadPreference that represents a Primary read preference. + + + An instance of ReadPreference that represents a Primary read preference. + + + + + Gets an instance of ReadPreference that represents a PrimaryPreferred read preference. + + + An instance of ReadPreference that represents a PrimaryPreferred read preference. + + + + + Gets an instance of ReadPreference that represents a Secondary read preference. + + + An instance of ReadPreference that represents a Secondary read preference. + + + + + Gets an instance of ReadPreference that represents a SecondaryPreferred read preference. + + + An instance of ReadPreference that represents a SecondaryPreferred read preference. + + + + + Initializes a new instance of the class. + + The read preference mode. + The tag sets. + The maximum staleness. + + + + Gets the maximum staleness. + + + The maximum staleness. + + + + + Gets the read preference mode. + + + The read preference mode. + + + + + Gets the tag sets. + + + The tag sets. + + + + + + + + + + + + + + + + + Returns a new instance of ReadPreference with some values changed. + + The read preference mode. + A new instance of ReadPreference. + + + + Returns a new instance of ReadPreference with some values changed. + + The tag sets. + A new instance of ReadPreference. + + + + Returns a new instance of ReadPreference with some values changed. + + The maximum staleness. + A new instance of ReadPreference. + + + + Represents the read preference mode. + + + + + Reads should be from the primary. + + + + + Reads should be from the primary if possible, otherwise from a secondary. + + + + + Reads should be from a secondary. + + + + + Reads should be from a secondary if possible, otherwise from the primary. + + + + + Reads should be from any server that is within the latency threshold window. + + + + + Represents the category for an error from the server. + + + + + An error without a category. + + + + + A duplicate key error. + + + + + An execution timeout error. + + + + + Represents a replica set member tag. + + + + + Initializes a new instance of the class. + + The name. + The value. + + + + Gets the name. + + + The name. + + + + + Gets the value. + + + The value. + + + + + + + + + + + + + + + + + Represents a replica set member tag set. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The tags. + + + + Gets a value indicating whether the tag set is empty. + + + true if the tag set is empty; otherwise, false. + + + + + Gets the tags. + + + The tags. + + + + + Determines whether the tag set contains all of the required tags. + + The required tags. + True if the tag set contains all of the required tags. + + + + + + + + + + + + + + + + Represents a write concern. + + + + + Gets an instance of WriteConcern that represents an acknowledged write concern. + + + An instance of WriteConcern that represents an acknowledged write concern. + + + + + Gets an instance of WriteConcern that represents an unacknowledged write concern. + + + An instance of WriteConcern that represents an unacknowledged write concern. + + + + + Gets an instance of WriteConcern that represents a W1 write concern. + + + An instance of WriteConcern that represents a W1 write concern. + + + + + Gets an instance of WriteConcern that represents a W2 write concern. + + + An instance of WriteConcern that represents a W2 write concern. + + + + + Gets an instance of WriteConcern that represents a W3 write concern. + + + An instance of WriteConcern that represents a W3 write concern. + + + + + Gets an instance of WriteConcern that represents a majority write concern. + + + An instance of WriteConcern that represents a majority write concern. + + + + + Creates a write concern from a document. + + The document. + A write concern. + + + + Initializes a new instance of the class. + + The w value. + The wtimeout value. + The fsync value . + The journal value. + + + + Initializes a new instance of the class. + + The mode. + The wtimeout value. + The fsync value . + The journal value. + + + + Initializes a new instance of the class. + + The w value. + The wtimeout value. + The fsync value . + The journal value. + + + + Gets the fsync value. + + + The fsync value. + + + + + Gets a value indicating whether this instance is an acknowledged write concern. + + + true if this instance is an acknowledged write concern; otherwise, false. + + + + + Gets a value indicating whether this write concern will use the default on the server. + + + true if this instance is the default; otherwise, false. + + + + + Gets the journal value. + + + The journal value. + + + + + Gets the w value. + + + The w value. + + + + + Gets the wtimeout value. + + + The wtimeout value. + + + + + + + + + + + + + + Converts this write concern to a BsonDocument suitable to be sent to the server. + + + A BsonDocument. + + + + + + + + Returns a new instance of WriteConcern with some values changed. + + The w value. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Returns a new instance of WriteConcern with some values changed. + + The mode. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Returns a new instance of WriteConcern with some values changed. + + The w value. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Represents the base class for w values. + + + + + Parses the specified value. + + The value. + A WValue. + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from Nullable{Int32} to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + + + + Converts this WValue to a BsonValue suitable to be included in a BsonDocument representing a write concern. + + A BsonValue. + + + + Represents a numeric WValue. + + + + + Initializes a new instance of the class. + + The w value. + + + + Gets the value. + + + The value. + + + + + + + + + + + + + + + + + + + + Represents a mode string WValue. + + + + + Gets an instance of WValue that represents the majority mode. + + + An instance of WValue that represents the majority mode. + + + + + Initializes a new instance of the class. + + The mode. + + + + Gets the value. + + + The value. + + + + + + + + + + + + + + + + + + + + Represents the results of an operation performed with an acknowledged WriteConcern. + + + + + Initializes a new instance of the class. + + The response. + + + + Gets the number of documents affected. + + + + + Gets whether the result has a LastErrorMessage. + + + + + Gets the last error message (null if none). + + + + + Gets the _id of an upsert that resulted in an insert. + + + + + Gets whether the last command updated an existing document. + + + + + Gets the wrapped result. + + + + + The default authenticator (uses SCRAM-SHA1 if possible, falls back to MONGODB-CR otherwise). + + + + + Initializes a new instance of the class. + + The credential. + + + + + + + + + + + + + A GSSAPI SASL authenticator. + + + + + Gets the name of the canonicalize host name property. + + + The name of the canonicalize host name property. + + + + + Gets the default service name. + + + The default service name. + + + + + Gets the name of the mechanism. + + + The name of the mechanism. + + + + + Gets the name of the realm property. + + + The name of the realm property. + + + + + Gets the name of the service name property. + + + The name of the service name property. + + + + + Gets the name of the service realm property. + + + The name of the service realm property. + + + + + Initializes a new instance of the class. + + The credential. + The properties. + + + + Initializes a new instance of the class. + + The username. + The properties. + + + + + + + Represents a connection authenticator. + + + + + Gets the name of the authenticator. + + + The name. + + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + + + + Authenticates the connection. + + The connection. + The connection description. + The cancellation token. + A Task. + + + + A MONGODB-CR authenticator. + + + + + Gets the name of the mechanism. + + + The name of the mechanism. + + + + + Initializes a new instance of the class. + + The credential. + + + + + + + + + + + + + A MongoDB-X509 authenticator. + + + + + Gets the name of the mechanism. + + + The name of the mechanism. + + + + + Initializes a new instance of the class. + + The username. + + + + + + + + + + + + + A PLAIN SASL authenticator. + + + + + Gets the name of the mechanism. + + + The name of the mechanism. + + + + + Initializes a new instance of the class. + + The credential. + + + + + + + Base class for a SASL authenticator. + + + + + Initializes a new instance of the class. + + The mechanism. + + + + + + + Gets the name of the database. + + + The name of the database. + + + + + + + + + + + Represents a SASL conversation. + + + + + Initializes a new instance of the class. + + The connection identifier. + + + + Gets the connection identifier. + + + The connection identifier. + + + + + + + + Registers the item for disposal. + + The disposable item. + + + + Represents a SASL mechanism. + + + + + Gets the name of the mechanism. + + + The name. + + + + + Initializes the mechanism. + + The connection. + The connection description. + The initial SASL step. + + + + Represents a SASL step. + + + + + Gets the bytes to send to server. + + + The bytes to send to server. + + + + + Gets a value indicating whether this instance is complete. + + + true if this instance is complete; otherwise, false. + + + + + Transitions the SASL conversation to the next step. + + The SASL conversation. + The bytes received from server. + The next SASL step. + + + + Represents a completed SASL step. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The bytes to send to server. + + + + + + + + + + + + + A SCRAM-SHA1 SASL authenticator. + + + + + Gets the name of the mechanism. + + + The name of the mechanism. + + + + + Initializes a new instance of the class. + + The credential. + + + + + + + Represents a username/password credential. + + + + + Initializes a new instance of the class. + + The source. + The username. + The password. + + + + Initializes a new instance of the class. + + The source. + The username. + The password. + + + + Gets the password. + + + The password. + + + + + Gets the source. + + + The source. + + + + + Gets the username. + + + The username. + + + + + Gets the password (converts the password from a SecureString to a regular string). + + The password. + + + + SEC_WINNT_AUTH_IDENTITY + + + + + Flag for the AuthIdentity structure. + + + + + SEC_WINNT_AUTH_IDENTITY_ANSI + + + + + SEC_WINNT_AUTH_IDENTITY_UNICODE + + + + + Flags for InitiateSecurityContext. + + + See the TargetDataRep parameter at + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375507(v=vs.85).aspx + + + + + SECURITY_NETWORK_DREP + + + + + SECURITY_NATIVE_DREP + + + + + Flags for EncryptMessage. + + + See the fQOP parameter at + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375378(v=vs.85).aspx. + + + + + SECQOP_WRAP_NO_ENCRYPT + + + + + Creates an exception for the specified error code. + + The error code. + The default message. + + + + + Acquires the credentials handle. + + The principal. + The package. + The credential usage. + The logon id. + The identity. + The key callback. + The key argument. + The credential handle. + The timestamp. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa374712(v=vs.85).aspx + + + + + Acquires the credentials handle. + + The principal. + The package. + The credential usage. + The logon id. + The identity. + The key callback. + The key argument. + The credential handle. + The timestamp. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa374712(v=vs.85).aspx + + + + + Deletes the security context. + + The context. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375354(v=vs.85).aspx + + + + + Decrypts the message. + + The context. + The p message. + The sequence number. + The quality. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375211(v=vs.85).aspx + + + + + Encrypts the message. + + The context. + The quality. + The p message. + The sequence number. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375378(v=vs.85).aspx + + + + + Enumerates the security packages. + + The pc packages. + The pp package information. + A result code. + + http://msdn.microsoft.com/en-us/library/aa375397%28v=VS.85%29.aspx + + + + + Frees the context buffer. + + The context buffer. + A result code. + + http://msdn.microsoft.com/en-us/library/aa375416(v=vs.85).aspx + + + + + Frees the credentials handle. + + The sspi handle. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375417(v=vs.85).aspx + + + + + Initializes the security context. + + The credential handle. + The in context PTR. + Name of the target. + The flags. + The reserved1. + The data representation. + The input buffer. + The reserved2. + The out context handle. + The output buffer. + The out attributes. + The timestamp. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375506(v=vs.85).aspx + + + + + Initializes the security context. + + The credential handle. + The in context handle. + Name of the target. + The flags. + The reserved1. + The data representation. + The input buffer. + The reserved2. + The out context. + The output buffer. + The out attributes. + The timestamp. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375506(v=vs.85).aspx + + + + + Queries the context attributes. + + The in context handle. + The attribute. + The sizes. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa379326(v=vs.85).aspx + + + + + Flags for QueryContextAttributes. + + + See the ulAttribute parameter at + http://msdn.microsoft.com/en-us/library/windows/desktop/aa379326(v=vs.85).aspx. + + + + + SECPKG_ATTR_SIZES + + + + + A SecBuffer structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa379814(v=vs.85).aspx + + + + + A SecBufferDesc structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa379815(v=vs.85).aspx + + + + + To the byte array. + + + Object has already been disposed!!! + + + + Types for the SecurityBuffer structure. + + + + + SECBUFFER_VERSION + + + + + SECBUFFER_EMPTY + + + + + SECBUFFER_DATA + + + + + SECBUFFER_TOKEN + + + + + SECBUFFER_PADDING + + + + + SECBUFFER_STREAM + + + + + A wrapper around the SspiHandle structure specifically used as a security context handle. + + + + + A wrapper around the SspiHandle structure specifically used as a credential handle. + + + + + When overridden in a derived class, executes the code required to free the handle. + + + true if the handle is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a releaseHandleFailed MDA Managed Debugging Assistant. + + + + + Flags for AcquireCredentialsHandle. + + + See the fCredentialUse at http://msdn.microsoft.com/en-us/library/windows/desktop/aa374712(v=vs.85).aspx. + + + + + SECPKG_CRED_OUTBOUND + + + + + A SecPkgContext_Sizes structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa380097(v=vs.85).aspx + + + + + A SecPkgInfo structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa380104(v=vs.85).aspx + + + + + Flags for InitiateSecurityContext. + + + See the fContextReq parameter at + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375507(v=vs.85).aspx + + + + + ISC_REQ_MUTUAL_AUTH + + + + + ISC_REQ_CONFIDENTIALITY + + + + + ISC_REQ_INTEGRITY + + + + + A SecHandle structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa380495(v=vs.85).aspx + + + + + Gets a value indicating whether this instance is zero. + + + true if this instance is zero; otherwise, false. + + + + + Sets to invalid. + + + + + This is represented as a string in AcquireCredentialsHandle. This value will have .ToString() called on it. + + + + + Kerberos + + + + + Thrown from a win32 wrapped operation. + + + + + Initializes a new instance of the class. + + The error code. + + + + Initializes a new instance of the class. + + The error code. + The message. + + + + Represents a read binding that is bound to a channel. + + + + + Initializes a new instance of the class. + + The server. + The channel. + The read preference. + + + + + + + + + + + + + + + + Represents a read-write binding that is bound to a channel. + + + + + Initializes a new instance of the class. + + The server. + The channel. + + + + + + + + + + + + + + + + + + + + + + Represents a handle to a channel source. + + + + + Initializes a new instance of the class. + + The channel source. + + + + + + + + + + + + + + + + + + + + + + Represents a read-write binding to a channel source. + + + + + Initializes a new instance of the class. + + The channel source. + The read preference. + + + + + + + + + + + + + + + + + + + + + + Represents a binding that determines which channel source gets used for read operations. + + + + + Gets the read preference. + + + The read preference. + + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for read operations. + + The cancellation token. + A channel source. + + + + Represents a binding that determines which channel source gets used for write operations. + + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Gets a channel source for write operations. + + The cancellation token. + A channel source. + + + + Represents a binding that can be used for both read and write operations. + + + + + Represents a handle to a read binding. + + + + + Returns a new handle to the underlying read binding. + + A read binding handle. + + + + Represents a handle to a write binding. + + + + + Returns a new handle to the underlying write binding. + + A write binding handle. + + + + Represents a handle to a read-write binding. + + + + + Returns a new handle to the underlying read-write binding. + + A read-write binding handle. + + + + Represents a channel (similar to a connection but operates at the level of protocols rather than messages). + + + + + Gets the connection description. + + + The connection description. + + + + + Executes a Command protocol. + + The type of the result. + The database namespace. + The command. + The command validator. + The response handling. + if set to true sets the SlaveOk bit to true in the command message sent to the server. + The result serializer. + The message encoder settings. + The cancellation token. + The result of the Command protocol. + + + + Executes a Command protocol. + + The type of the result. + The database namespace. + The command. + The command validator. + The response handling. + if set to true sets the SlaveOk bit to true in the command message sent to the server. + The result serializer. + The message encoder settings. + The cancellation token. + A Task whose result is the result of the Command protocol. + + + + Executes a Delete protocol. + + The collection namespace. + The query. + if set to true all matching documents are deleted. + The message encoder settings. + The write concern. + The cancellation token. + The result of the Delete protocol. + + + + Executes a Delete protocol. + + The collection namespace. + The query. + if set to true all matching documents are deleted. + The message encoder settings. + The write concern. + The cancellation token. + A Task whose result is the result of the Delete protocol. + + + + Executes a GetMore protocol. + + The type of the document. + The collection namespace. + The query. + The cursor identifier. + Size of the batch. + The serializer. + The message encoder settings. + The cancellation token. + The result of the GetMore protocol. + + + + Executes a GetMore protocol. + + The type of the document. + The collection namespace. + The query. + The cursor identifier. + Size of the batch. + The serializer. + The message encoder settings. + The cancellation token. + A Task whose result is the result of the GetMore protocol. + + + + Executes an Insert protocol. + + The type of the document. + The collection namespace. + The write concern. + The serializer. + The message encoder settings. + The document source. + The maximum batch count. + Maximum size of the message. + if set to true the server will continue with subsequent Inserts even if errors occur. + A delegate that determines whether to piggy-back a GetLastError messsage with the Insert message. + The cancellation token. + The result of the Insert protocol. + + + + Executes an Insert protocol. + + The type of the document. + The collection namespace. + The write concern. + The serializer. + The message encoder settings. + The document source. + The maximum batch count. + Maximum size of the message. + if set to true the server will continue with subsequent Inserts even if errors occur. + A delegate that determines whether to piggy-back a GetLastError messsage with the Insert message. + The cancellation token. + A Task whose result is the result of the Insert protocol. + + + + Executes a KillCursors protocol. + + The cursor ids. + The message encoder settings. + The cancellation token. + + + + Executes a KillCursors protocol. + + The cursor ids. + The message encoder settings. + The cancellation token. + A Task that represents the KillCursors protocol. + + + + Executes a Query protocol. + + The type of the document. + The collection namespace. + The query. + The fields. + The query validator. + The number of documents to skip. + The size of a batch. + if set to true sets the SlaveOk bit to true in the query message sent to the server. + if set to true the server is allowed to return partial results if any shards are unavailable. + if set to true the server will not timeout the cursor. + if set to true the OplogReplay bit will be set. + if set to true the query should return a tailable cursor. + if set to true the server should await awhile before returning an empty batch for a tailable cursor. + The serializer. + The message encoder settings. + The cancellation token. + The result of the Insert protocol. + + + + Executes a Query protocol. + + The type of the document. + The collection namespace. + The query. + The fields. + The query validator. + The number of documents to skip. + The size of a batch. + if set to true sets the SlaveOk bit to true in the query message sent to the server. + if set to true the server is allowed to return partial results if any shards are unavailable. + if set to true the server will not timeout the cursor. + if set to true the OplogReplay bit will be set. + if set to true the query should return a tailable cursor. + if set to true the server should await awhile before returning an empty batch for a tailable cursor. + The serializer. + The message encoder settings. + The cancellation token. + A Task whose result is the result of the Insert protocol. + + + + Executes an Update protocol. + + The collection namespace. + The message encoder settings. + The write concern. + The query. + The update. + The update validator. + if set to true the Update can affect multiple documents. + if set to true the document will be inserted if it is not found. + The cancellation token. + The result of the Update protocol. + + + + Executes an Update protocol. + + The collection namespace. + The message encoder settings. + The write concern. + The query. + The update. + The update validator. + if set to true the Update can affect multiple documents. + if set to true the document will be inserted if it is not found. + The cancellation token. + A Task whose result is the result of the Update protocol. + + + + Represents a handle to a channel. + + + + + Returns a new handle to the underlying channel. + + A channel handle. + + + + Represents a channel source. + + + + + Gets the server. + + + The server. + + + + + Gets the server description. + + + The server description. + + + + + Gets a channel. + + The cancellation token. + A channel. + + + + Gets a channel. + + The cancellation token. + A Task whose result is a channel. + + + + Represents a handle to a channel source. + + + + + Returns a new handle to the underlying channel source. + + A handle to a channel source. + + + + Represents a handle to a read binding. + + + + + Initializes a new instance of the class. + + The read binding. + + + + + + + + + + + + + + + + + + + Represents a read binding to a cluster using a ReadPreference to select the server. + + + + + Initializes a new instance of the class. + + The cluster. + The read preference. + + + + + + + + + + + + + + + + Represents a handle to a read-write binding. + + + + + Initializes a new instance of the class. + + The write binding. + + + + + + + + + + + + + + + + + + + + + + + + + Represents a channel source that is bound to a server. + + + + + Initializes a new instance of the class. + + The server. + + + + + + + + + + + + + + + + + + + Represents a read binding to a single server; + + + + + Initializes a new instance of the class. + + The server. + The read preference. + + + + + + + + + + + + + + + + Represents a read/write binding to a single server. + + + + + Initializes a new instance of the class. + + The server. + + + + + + + + + + + + + + + + + + + + + + Represents a split read-write binding, where the reads use one binding and the writes use another. + + + + + Initializes a new instance of the class. + + The read binding. + The write binding. + + + + Initializes a new instance of the class. + + The cluster. + The read preference. + + + + + + + + + + + + + + + + + + + + + + Represents a write binding to a writable server. + + + + + Initializes a new instance of the class. + + The cluster. + + + + + + + + + + + + + + + + + + + + + + Represents a cluster. + + + + + Represents the cluster connection mode. + + + + + Determine the cluster type automatically. + + + + + Connect directly to a single server of any type. + + + + + Connect directly to a Standalone server. + + + + + Connect to a replica set. + + + + + Connect to one or more shard routers. + + + + + Represents information about a cluster. + + + + + Initializes a new instance of the class. + + The cluster identifier. + The connection mode. + The type. + The servers. + + + + Gets the cluster identifier. + + + + + Gets the connection mode. + + + + + Gets the servers. + + + + + Gets the cluster state. + + + + + Gets the cluster type. + + + + + + + + + + + + + + + + + Returns a new ClusterDescription with a changed ServerDescription. + + The server description. + A ClusterDescription. + + + + Returns a new ClusterDescription with a ServerDescription removed. + + The end point of the server description to remove. + A ClusterDescription. + + + + Returns a new ClusterDescription with a changed ClusterType. + + The value. + A ClusterDescription. + + + + Represents the data for the event that fires when a cluster description changes. + + + + + Initializes a new instance of the class. + + The old cluster description. + The new cluster description. + + + + Gets the old cluster description. + + + The old cluster description. + + + + + Gets the new cluster description. + + + The new cluster description. + + + + + Represents a cluster identifier. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The value. + + + + Gets the value. + + + The value. + + + + + + + + + + + + + + + + + Represents the state of a cluster. + + + + + The cluster is disconnected. + + + + + The cluster is connected. + + + + + Represents the type of a cluster. + + + + + The type of the cluster is unknown. + + + + + The cluster is a standalone cluster. + + + + + The cluster is a replica set. + + + + + The cluster is a sharded cluster. + + + + + An election id from the server. + + + + + Initializes a new instance of the class. + + The identifier. + + + + Compares the current object with another object of the same type. + + An object to compare with this object. + + A value that indicates the relative order of the objects being compared. The return value has the following meanings: Value Meaning Less than zero This object is less than the parameter.Zero This object is equal to . Greater than zero This object is greater than . + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Represents a MongoDB cluster. + + + + + Occurs when the cluster description has changed. + + + + + Gets the cluster identifier. + + + The cluster identifier. + + + + + Gets the cluster description. + + + The cluster description. + + + + + Gets the cluster settings. + + + The cluster settings. + + + + + Initializes the cluster. + + + + + Selects a server from the cluster. + + The server selector. + The cancellation token. + The selected server. + + + + Selects a server from the cluster. + + The server selector. + The cancellation token. + A Task representing the operation. The result of the Task is the selected server. + + + + Represents a cluster factory. + + + + + Creates a cluster. + + A cluster. + + + + Represents a multi server cluster. + + + + + Represents the config of a replica set (as reported by one of the members of the replica set). + + + + + Gets an empty replica set config. + + + An empty replica set config. + + + + + Initializes a new instance of the class. + + The members. + The name. + The primary. + The version. + + + + Gets the members. + + + The members. + + + + + Gets the name of the replica set. + + + The name of the replica set. + + + + + Gets the primary. + + + The primary. + + + + + Gets the replica set config version. + + + The replica set config version. + + + + + + + + + + + + + + Represents a standalone cluster. + + + + + Represents a selector that selects servers based on multiple partial selectors + + + + + Initializes a new instance of the class. + + The selectors. + + + + + + + + + + Represents a server selector that wraps a delegate. + + + + + Initializes a new instance of the class. + + The selector. + + + + + + + + + + Represents a selector that selects servers based on an end point. + + + + + Initializes a new instance of the class. + + The end point. + + + + + + + + + + Represents a selector that selects servers. + + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + + Represents a selector that selects servers within an acceptable latency range. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The allowed latency range. + + + + + + + + + + Represents a selector that selects a random server. + + + + + Initializes a new instance of the class. + + + + + + + + + + + Represents a selector that selects servers based on a read preference. + + + + + Gets a ReadPreferenceServerSelector that selects the Primary. + + + A server selector. + + + + + Initializes a new instance of the class. + + The read preference. + + + + + + + + + + Represents a server selector that selects writable servers. + + + + + Gets a WritableServerSelector. + + + A server selector. + + + + + + + + + + + Represents a cluster builder. + + + + + Initializes a new instance of the class. + + + + + Builds the cluster. + + A cluster. + + + + Configures the cluster settings. + + The cluster settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the connection settings. + + The connection settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the connection pool settings. + + The connection pool settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the server settings. + + The server settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the SSL stream settings. + + The SSL stream settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the TCP stream settings. + + The TCP stream settings configurator delegate. + A reconfigured cluster builder. + + + + Registers a stream factory wrapper. + + The stream factory wrapper. + A reconfigured cluster builder. + + + + Subscribes to events of type . + + The type of the event. + The handler. + A reconfigured cluster builder. + + + + Subscribes the specified subscriber. + + The subscriber. + A reconfigured cluster builder. + + + + Extension methods for a ClusterBuilder. + + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + A reconfigured cluster builder. + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + A reconfigured cluster builder. + + + + Configures the cluster to trace events to the specified . + + The builder. + The trace source. + A reconfigured cluster builder. + + + + Configures the cluster to trace command events to the specified . + + The builder. + The trace source. + A reconfigured cluster builder. + + + + Represents settings for a cluster. + + + + + Initializes a new instance of the class. + + The connection mode. + The end points. + Maximum size of the server selection wait queue. + Name of the replica set. + The server selection timeout. + The pre server selector. + The post server selector. + + + + Gets the connection mode. + + + The connection mode. + + + + + Gets the end points. + + + The end points. + + + + + Gets the maximum size of the server selection wait queue. + + + The maximum size of the server selection wait queue. + + + + + Gets the name of the replica set. + + + The name of the replica set. + + + + + Gets the server selection timeout. + + + The server selection timeout. + + + + + Gets the pre server selector. + + + The pre server selector. + + + + + Gets the post server selector. + + + The post server selector. + + + + + Returns a new ClusterSettings instance with some settings changed. + + The connection mode. + The end points. + Maximum size of the server selection wait queue. + Name of the replica set. + The server selection timeout. + The pre server selector. + The post server selector. + A new ClusterSettings instance. + + + + Represents settings for a connection pool. + + + + + Initializes a new instance of the class. + + The maintenance interval. + The maximum number of connections. + The minimum number of connections. + Size of the wait queue. + The wait queue timeout. + + + + Gets the maintenance interval. + + + The maintenance interval. + + + + + Gets the maximum number of connections. + + + The maximum number of connections. + + + + + Gets the minimum number of connections. + + + The minimum number of connections. + + + + + Gets the size of the wait queue. + + + The size of the wait queue. + + + + + Gets the wait queue timeout. + + + The wait queue timeout. + + + + + Returns a new ConnectionPoolSettings instance with some settings changed. + + The maintenance interval. + The maximum connections. + The minimum connections. + Size of the wait queue. + The wait queue timeout. + A new ConnectionPoolSettings instance. + + + + Represents settings for a connection. + + + + + Initializes a new instance of the class. + + The authenticators. + The maximum idle time. + The maximum life time. + The application name. + + + + Gets the name of the application. + + + The name of the application. + + + + + Gets the authenticators. + + + The authenticators. + + + + + Gets the maximum idle time. + + + The maximum idle time. + + + + + Gets the maximum life time. + + + The maximum life time. + + + + + Returns a new ConnectionSettings instance with some settings changed. + + The authenticators. + The maximum idle time. + The maximum life time. + The application name. + A new ConnectionSettings instance. + + + + Represents a connection string. + + + + + Initializes a new instance of the class. + + The connection string. + + + + Gets all the option names. + + + + + Gets all the unknown option names. + + + + + Gets the application name. + + + + + Gets the auth mechanism. + + + + + Gets the auth mechanism properties. + + + + + Gets the auth source. + + + + + Gets the connection mode. + + + + + Gets the connect timeout. + + + + + Gets the name of the database. + + + + + Gets the fsync value of the write concern. + + + + + Gets the heartbeat interval. + + + + + Gets the heartbeat timeout. + + + + + Gets the hosts. + + + + + Gets whether to use IPv6. + + + + + Gets the journal value of the write concern. + + + + + Gets the local threshold. + + + + + Gets the max idle time. + + + + + Gets the max life time. + + + + + Gets the max size of the connection pool. + + + + + Gets the max staleness. + + + + + Gets the min size of the connection pool. + + + + + Gets the password. + + + + + Gets the read concern level. + + + The read concern level. + + + + + Gets the read preference. + + + + + Gets the replica set name. + + + + + Gets the read preference tags. + + + + + Gets the server selection timeout. + + + + + Gets the socket timeout. + + + + + Gets whether to use SSL. + + + + + Gets whether to verify SSL certificates. + + + + + Gets the username. + + + + + Gets the UUID representation. + + + + + Gets the wait queue multiple. + + + + + Gets the wait queue size. + + + + + Gets the wait queue timeout. + + + + + Gets the w value of the write concern. + + + + + Gets the wtimeout value of the write concern. + + + + + Gets the option. + + The name. + The option with the specified name. + + + + + + + Represents settings for a server. + + + + + Gets the default heartbeat interval. + + + + + Gets the default heartbeat timeout. + + + + + Initializes a new instance of the class. + + The heartbeat interval. + The heartbeat timeout. + + + + Gets the heartbeat interval. + + + The heartbeat interval. + + + + + Gets the heartbeat timeout. + + + The heartbeat timeout. + + + + + Returns a new ServerSettings instance with some settings changed. + + The heartbeat interval. + The heartbeat timeout. + A new ServerSettings instance. + + + + Represents settings for an SSL stream. + + + + + Initializes a new instance of the class. + + Whether to check for certificate revocation. + The client certificates. + The client certificate selection callback. + The enabled protocols. + The server certificate validation callback. + + + + Gets a value indicating whether to check for certificate revocation. + + + true if certificate should be checked for revocation; otherwise, false. + + + + + Gets the client certificates. + + + The client certificates. + + + + + Gets the client certificate selection callback. + + + The client certificate selection callback. + + + + + Gets the enabled SSL protocols. + + + The enabled SSL protocols. + + + + + Gets the server certificate validation callback. + + + The server certificate validation callback. + + + + + Returns a new SsslStreamSettings instance with some settings changed. + + Whether to check certificate revocation. + The client certificates. + The client certificate selection callback. + The enabled protocols. + The server certificate validation callback. + A new SsslStreamSettings instance. + + + + Represents settings for a TCP stream. + + + + + Initializes a new instance of the class. + + The address family. + The connect timeout. + The read timeout. + Size of the receive buffer. + Size of the send buffer. + The socket configurator. + The write timeout. + + + + Gets the address family. + + + The address family. + + + + + Gets the connect timeout. + + + The connect timeout. + + + + + Gets the read timeout. + + + The read timeout. + + + + + Gets the size of the receive buffer. + + + The size of the receive buffer. + + + + + Gets the size of the send buffer. + + + The size of the send buffer. + + + + + Gets the socket configurator. + + + The socket configurator. + + + + + Gets the write timeout. + + + The write timeout. + + + + + Returns a new TcpStreamSettings instance with some settings changed. + + The address family. + The connect timeout. + The read timeout. + Size of the receive buffer. + Size of the send buffer. + The socket configurator. + The write timeout. + A new TcpStreamSettings instance. + + + + Represents a connection pool. + + + + + Gets the server identifier. + + + The server identifier. + + + + + Acquires a connection. + + The cancellation token. + A connection. + + + + Acquires a connection. + + The cancellation token. + A Task whose result is a connection. + + + + Clears the connection pool. + + + + + Initializes the connection pool. + + + + + Represents a connection pool factory. + + + + + Creates a connection pool. + + The server identifier. + The end point. + A connection pool. + + + + Represents a connection using the binary wire protocol over a binary stream. + + + + + Represents a factory of BinaryConnections. + + + + + Represents the result of a buildInfo command. + + + + + Initializes a new instance of the class. + + The wrapped result document. + + + + Gets the server version. + + + The server version. + + + + + Gets the wrapped result document. + + + The wrapped result document. + + + + + + + + + + + + + + Represents information describing a connection. + + + + + Initializes a new instance of the class. + + The connection identifier. + The issMaster result. + The buildInfo result. + + + + Gets the buildInfo result. + + + The buildInfo result. + + + + + Gets the connection identifier. + + + The connection identifier. + + + + + Gets the isMaster result. + + + The isMaster result. + + + + + Gets the maximum number of documents in a batch. + + + The maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + The maximum size of a document. + + + + + Gets the maximum size of a message. + + + The maximum size of a message. + + + + + Gets the maximum size of a wire document. + + + The maximum size of a wire document. + + + + + Gets the server version. + + + The server version. + + + + + + + + + + + + + + Returns a new instance of ConnectionDescription with a different connection identifier. + + The value. + A connection description. + + + + Represents internal IConnection extension methods (used to easily access the IConnectionInternal methods). + + + + + Represents a connection identifier. + + + + + Initializes a new instance of the class. + + The server identifier. + + + + Initializes a new instance of the class. + + The server identifier. + The local value. + + + + Gets the server identifier. + + + The server identifier. + + + + + Gets the local value. + + + The local value. + + + + + Gets the server value. + + + The server value. + + + + + + + + + + + + + + Compares all fields of two ConnectionId instances (Equals ignores the ServerValue). + + The other ConnectionId. + True if both instances are equal. + + + + + + + Returns a new instance of ConnectionId with a new server value. + + The server value. + A ConnectionId. + + + + Represents a connection initializer (opens and authenticates connections). + + + + + Represents a connection. + + + + + Gets the connection identifier. + + + The connection identifier. + + + + + Gets the connection description. + + + The connection description. + + + + + Gets the end point. + + + The end point. + + + + + Gets a value indicating whether this instance is expired. + + + true if this instance is expired; otherwise, false. + + + + + Gets the connection settings. + + + The connection settings. + + + + + Opens the connection. + + The cancellation token. + + + + Opens the connection. + + The cancellation token. + A Task. + + + + Receives a message. + + The id of the sent message for which a response is to be received. + The encoder selector. + The message encoder settings. + The cancellation token. + + The response message. + + + + + Receives a message. + + The id of the sent message for which a response is to be received. + The encoder selector. + The message encoder settings. + The cancellation token. + + A Task whose result is the response message. + + + + + Sends the messages. + + The messages. + The message encoder settings. + The cancellation token. + + + + Sends the messages. + + The messages. + The message encoder settings. + The cancellation token. + A Task. + + + + Represents a handle to a connection. + + + + + A new handle to the underlying connection. + + A connection handle. + + + + Represents a connection factory. + + + + + Creates the connection. + + The server identifier. + The end point. + A connection. + + + + Represents the result of an isMaster command. + + + + + Initializes a new instance of the class. + + The wrapped result document. + + + + Gets the election identifier. + + + + + Gets a value indicating whether this instance is an arbiter. + + + true if this instance is an arbiter; otherwise, false. + + + + + Gets a value indicating whether this instance is a replica set member. + + + true if this instance is a replica set member; otherwise, false. + + + + + Gets the last write timestamp. + + + The last write timestamp. + + + + + Gets the maximum number of documents in a batch. + + + The maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + The maximum size of a document. + + + + + Gets the maximum size of a message. + + + The maximum size of a message. + + + + + Gets the endpoint the server is claiming it is known as. + + + + + Gets the type of the server. + + + The type of the server. + + + + + Gets the replica set tags. + + + The replica set tags. + + + + + Gets the maximum wire version. + + + The maximum wire version. + + + + + Gets the minimum wire version. + + + The minimum wire version. + + + + + Gets the wrapped result document. + + + The wrapped result document. + + + + + + + + + + + + + + Gets the replica set configuration. + + The replica set configuration. + + + + Represents a stream factory. + + + + + Creates a stream. + + The end point. + The cancellation token. + A Stream. + + + + Creates a stream. + + The end point. + The cancellation token. + A Task whose result is the Stream. + + + + Represents a factory for a binary stream over a TCP/IP connection. + + + + + + Occurs after a server is added to the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The duration of time it took to add the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to add a server, + + + + + Gets the server identifier. + + + + + + Occurs before a server is added to the cluster. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The end point. + + + + Gets the cluster identifier. + + + + + Gets the end point. + + + + + + Occurs after a cluster is closed. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The duration of time it took to close the cluster. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to close the cluster. + + + + + + Occurs before a cluster is closed. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + + + + Gets the cluster identifier. + + + + + + Occurs when a cluster has changed. + + + + + Initializes a new instance of the struct. + + The old description. + The new description. + + + + Gets the cluster identifier. + + + + + Gets the old description. + + + + + Gets the new description. + + + + + + Occurs after a cluster is opened. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The cluster settings. + The duration of time it took to open the cluster. + + + + Gets the cluster identifier. + + + + + Gets the cluster settings. + + + + + Gets the duration of time it took to open the cluster. + + + + + + Occurs before a cluster is opened. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The cluster settings. + + + + Gets the cluster identifier. + + + + + Gets the cluster settings. + + + + + + Occurs after a server has been removed from the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The reason. + The duration of time it took to remove the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to remove the server. + + + + + Gets the reason the server was removed. + + + + + Gets the server identifier. + + + + + + Occurs before a server is removed from the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The reason the server is being removed. + + + + Gets the cluster identifier. + + + + + Gets the reason the server is being removed. + + + + + Gets the server identifier. + + + + + + Occurs after a server is selected. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The selected server. + The duration of time it took to select the server. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the cluster description. + + + + + Gets the duration of time it took to select the server. + + + + + Gets the operation identifier. + + + + + Gets the server selector. + + + + + Gets the selected server. + + + + + + Occurs before a server is selected. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the cluster description. + + + + + Gets the operation identifier. + + + + + Gets the server selector. + + + + + + Occurs when selecting a server fails. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the cluster description. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the server selector. + + + + + Occurs when a command has failed. + + + + + Initializes a new instance of the struct. + + Name of the command. + The exception. + The operation identifier. + The request identifier. + The connection identifier. + The duration. + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the duration. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the request identifier. + + + + + Occurs when a command has started. + + + + + Initializes a new instance of the class. + + Name of the command. + The command. + The database namespace. + The operation identifier. + The request identifier. + The connection identifier. + + + + Gets the command. + + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the database namespace. + + + + + Gets the operation identifier. + + + + + Gets the request identifier. + + + + + Occurs when a command has succeeded. + + + + + Initializes a new instance of the struct. + + Name of the command. + The reply. + The operation identifier. + The request identifier. + The connection identifier. + The duration. + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the duration. + + + + + Gets the operation identifier. + + + + + Gets the reply. + + + + + Gets the request identifier. + + + + + + Occurs after a connection is closed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to close the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to close the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + + Occurs before a connection is closed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs when a connection fails. + + + + + + Initializes a new instance of the struct. + + The connection identifier. + The exception. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + The exception. + + + + + Gets the server identifier. + + + + + + Occurs after a connection is opened. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The duration of time it took to open the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the duration of time it took to open the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + + Occurs before a connection is opened. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + + Occurs when a connection fails to open. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + + Occurs after a connection is added to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to add the connection to the pool. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to add the server to the pool. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + + Occurs before a connection is added to the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + + Occurs after a connection is checked in to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to check in the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to check in the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + + Occurs after a connection is checked out of the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to check out the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to check out the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + + Occurs before a connection is checked in to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + + Occurs before a connection is checking out of the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + + Occurs when a connection could not be checked out of the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + + Occurs after the pool is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + + Occurs before the pool is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + + Occurs after the pool is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + + Occurs before the pool is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + + Occurs after a connection is removed from the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to remove the connection from the pool. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to remove the connection from the pool. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + + Occurs before a connection is removed from the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Occurs after a message is received. + + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we received a response to. + The length of the received message. + The duration of network time it took to receive the message. + The duration of deserialization time it took to receive the message. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to receive the message. + + + + + Gets the duration of deserialization time it took to receive the message. + + + + + Gets the duration of network time it took to receive the message. + + + + + Gets the length of the received message. + + + + + Gets the operation identifier. + + + + + Gets the id of the message we received a response to. + + + + + Gets the server identifier. + + + + + + Occurs before a message is received. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we are receiving a response to. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the id of the message we are receiving a response to. + + + + + Gets the server identifier. + + + + + + Occurs when a message was unable to be received. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we were receiving a response to. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets id of the message we were receiving a response to. + + + + + Gets the server identifier. + + + + + + Occurs before a message is sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the request ids. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + + Occurs when a message could not be sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the request ids. + + + + + Gets the server identifier. + + + + + + Occurs after a message has been sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The length. + The duration of time spent on the network. + The duration of time spent serializing the messages. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to send the message. + + + + + Gets the duration of time spent on the network. + + + + + Gets the operation identifier. + + + + + Gets the duration of time spent serializing the messages. + + + + + Gets the combined length of the messages. + + + + + Gets the request ids. + + + + + Gets the server identifier. + + + + + A subscriber to events. + + + + + Tries to get an event handler for an event of type . + + The type of the event. + The handler. + true if this subscriber has provided an event handler; otherwise false. + + + + Subscribes methods with a single argument to events + of that single argument's type. + + + + + Initializes a new instance of the class. + + The instance. + Name of the method to match against. + The binding flags. + + + + + + + + Occurs after a server is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + The duration of time it took to close the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to close the server. + + + + + Gets the server identifier. + + + + + + Occurs before a server is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + + Occurs after a server's description has changed. + + + + + Initializes a new instance of the struct. + + The old description. + The new description. + + + + Gets the cluster identifier. + + + + + Gets the new description. + + + + + Gets the old description. + + + + + Gets the server identifier. + + + + + + Occurs when a heartbeat failed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The exception. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + + + Gets the server identifier. + + + + + + Occurs when a heartbeat succeeded. + + + + + Initializes a new instance of the struct. + + The connection identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the server identifier. + + + + + + Occurs before heartbeat is issued. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to complete the heartbeat. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to complete the heartbeat. + + + + + Gets the server identifier. + + + + + + Occurs after a server is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The server settings. + The duration of time it took to open the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to open the server. + + + + + Gets the server identifier. + + + + + Gets the server settings. + + + + + + Occurs before a server is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The server settings. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Gets the server settings. + + + + + Subscriber for a single type of event. + + The type of the single event. + + + + Initializes a new instance of the class. + + The handler. + + + + + + + An event subscriber that writes command events to a trace source. + + + + + Initializes a new instance of the class. + + The trace source. + + + + + + + An event subscriber that writes to a trace source. + + + + + Initializes a new instance of the class. + + The trace source. + + + + + + + Represents a source of items that can be broken into batches. + + The type of the items. + + + + Initializes a new instance of the class. + + + Use this overload when you know the batch is small and won't have to be broken up into sub-batches. + In that case using this overload is simpler than using an enumerator and using the other constructor. + + The single batch. + + + + Initializes a new instance of the class. + + The enumerator that will provide the items for the batch. + + + + Gets the most recent batch. + + + The most recent batch. + + + + + Gets the current item. + + + The current item. + + + + + Gets a value indicating whether there are more items. + + + true if there are more items; otherwise, false. + + + + + Clears the most recent batch. + + + + + Called when the last batch is complete. + + The batch. + + + + Called when an intermediate batch is complete. + + The batch. + The overflow item. + + + + Gets all the remaining items that haven't been previously consumed. + + The remaining items. + + + + Moves to the next item in the source. + + True if there are more items. + + + + Starts a new batch. + + The overflow item of the previous batch if there is one; otherwise, null. + + + + Represents an overflow item that did not fit in the most recent batch and will be become the first item in the next batch. + + + + + The item. + + + + + The state information, if any, that the consumer wishes to associate with the overflow item. + + + + + Represents the collation feature. + + + + + + Initializes a new instance of the class. + + The name of the feature. + The first server version that supports the feature. + + + + Throws if collation value is not null and collations are not supported. + + The server version. + The value. + + + + Represents the commands that write accept write concern concern feature. + + + + + + Initializes a new instance of the class. + + The name of the feature. + The first server version that supports the feature. + + + + Returns true if the write concern value supplied is one that should be sent to the server and the server version supports the commands that write accept write concern feature. + + The server version. + The write concern value. + Whether the write concern should be sent to the server. + + + + Represents helper methods for EndPoints. + + + + + Gets an end point equality comparer. + + + An end point equality comparer. + + + + + Determines whether a list of end points contains a specific end point. + + The list of end points. + The specific end point to search for. + True if the list of end points contains the specific end point. + + + + Compares two end points. + + The first end point. + The second end point. + True if both end points are equal, or if both are null. + + + + Creates an end point from object data saved during serialization. + + The object data. + An end point. + + + + Compares two sequences of end points. + + The first sequence of end points. + The second sequence of end points. + True if both sequences contain the same end points in the same order, or if both sequences are null. + + + + Parses the string representation of an end point. + + The value to parse. + An end point. + + + + Returns a that represents the end point. + + The end point. + + A that represents the end point. + + + + + Tries to parse the string representation of an end point. + + The value to parse. + The result. + True if the string representation was parsed successfully. + + + + Represents methods that can be used to ensure that parameter values meet expected conditions. + + + + + Ensures that the value of a parameter is between a minimum and a maximum value. + + Type type of the value. + The value of the parameter. + The minimum value. + The maximum value. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is equal to a comparand. + + Type type of the value. + The value of the parameter. + The comparand. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to a comparand. + + Type type of the value. + The value of the parameter. + The comparand. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is infinite or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is infinite or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is not null. + + Type type of the value. + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is not null or empty. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null. + + Type type of the value. + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null, or infinite, or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or not empty. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or a valid timeout. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is a valid timeout. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that an assertion is true. + + The assertion. + The message to use with the exception that is thrown if the assertion is false. + + + + Ensures that an assertion is true. + + The assertion. + The message to use with the exception that is thrown if the assertion is false. + The parameter name. + + + + Ensures that the value of a parameter meets an assertion. + + Type type of the value. + The value of the parameter. + The assertion. + The name of the parameter. + The message to use with the exception that is thrown if the assertion is false. + The value of the parameter. + + + + A mapper from error responses to custom exceptions. + + + + + Maps the specified response to a custom exception (if possible). + + The connection identifier. + The response. + + The custom exception (or null if the response could not be mapped to a custom exception). + + + + + Maps the specified writeConcernResult to a custom exception (if necessary). + + The connection identifier. + The write concern result. + + The custom exception (or null if the writeConcernResult was not mapped to an exception). + + + + + Maps the server response to a MongoNotPrimaryException or MongoNodeIsRecoveringException (if appropriate). + + The connection identifier. + The server response. + Name of the error message field. + The exception, or null if no exception necessary. + + + + Represents a feature that is not supported by all versions of the server. + + + + + Gets the aggregate feature. + + + + + Gets the aggregate allow disk use feature. + + + + + Gets the aggregate bucket stage feature. + + + + + Gets the aggregate count stage feature. + + + + + Gets the aggregate cursor result feature. + + + + + Gets the aggregate explain feature. + + + + + Gets the aggregate $facet stage feature. + + + + + Gets the aggregate $graphLookup stage feature. + + + + + Gets the aggregate out feature. + + + + + Gets the bypass document validation feature. + + + + + Gets the collation feature. + + + + + Gets the commands that write accept write concern feature. + + + + + Gets the create indexes command feature. + + + + + Gets the current op command feature. + + + + + Gets the document validation feature. + + + + + Gets the explain command feature. + + + + + Gets the fail points feature. + + + + + Gets the find and modify write concern feature. + + + + + Gets the find command feature. + + + + + Gets the index options defaults feature. + + + + + Gets the list collections command feature. + + + + + Gets the list indexes command feature. + + + + + Gets the maximum staleness feature. + + + + + Gets the maximum time feature. + + + + + Gets the partial indexes feature. + + + + + Gets the read concern feature. + + + + + Gets the scram sha1 authentication feature. + + + + + Gets the server extracts username from X509 certificate feature. + + + + + Gets the user management commands feature. + + + + + Gets the views feature. + + + + + Gets the write commands feature. + + + + + Initializes a new instance of the class. + + The name of the feature. + The first server version that supports the feature. + + + + Gets the name of the feature. + + + + + Gets the first server version that supports the feature. + + + + + Gets the last server version that does not support the feature. + + + + + Determines whether a feature is supported by a version of the server. + + The server version. + Whether a feature is supported by a version of the server. + + + + Returns a version of the server where the feature is or is not supported. + + Whether the feature is supported or not. + A version of the server where the feature is or is not supported. + + + + Throws if the feature is not supported by a version of the server. + + The server version. + + + + Thread-safe helper to manage a value. + + + + + Represents a range between a minimum and a maximum value. + + The type of the value. + + + + Initializes a new instance of the class. + + The minimum value. + The maximum value. + + + + Gets the maximum value. + + + The maximum value. + + + + + Gets the minimum value. + + + The minimum value. + + + + + + + + + + + + + + Determines whether this range overlaps with another range. + + The other range. + True if this range overlaps with the other + + + + + + + Represents the read concern feature. + + + + + + Initializes a new instance of the class. + + The name of the feature. + The first server version that supports the feature. + + + + Throws if the read concern value is not the server default and read concern is not supported. + + The server version. + The value. + + + + Represents a semantic version number. + + + + + Initializes a new instance of the class. + + The major version. + The minor version. + The patch version. + + + + Initializes a new instance of the class. + + The major version. + The minor version. + The patch version. + The pre release version. + + + + Gets the major version. + + + The major version. + + + + + Gets the minor version. + + + The minor version. + + + + + Gets the patch version. + + + The patch version. + + + + + Gets the pre release version. + + + The pre release version. + + + + + + + + + + + + + + + + + + + + Parses a string representation of a semantic version. + + The string value to parse. + A semantic version. + + + + Tries to parse a string representation of a semantic version. + + The string value to parse. + The result. + True if the string representation was parsed successfully; otherwise false. + + + + Determines whether two specified semantic versions have the same value. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is the same as the value of b; otherwise false. + + + + + Determines whether two specified semantic versions have different values. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is different from the value of b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is greater than the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is greater than b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is greater than or equal to the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is greater than or equal to b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is less than the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is less than b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is less than or equal to the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is less than or equal to b; otherwise false. + + + + + Represents a tentative request to acquire a SemaphoreSlim. + + + + + Initializes a new instance of the class. + + The semaphore. + The cancellation token. + + + + Gets the semaphore wait task. + + + The semaphore wait task. + + + + + + + + Represents an aggregate explain operations. + + + + + Initializes a new instance of the class. + + The collection namespace. + The pipeline. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to use the disk. + + + A value indicating whether the server is allowed to use the disk. + + + + + Gets or sets the collation. + + + The collation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the pipeline. + + + The pipeline. + + + + + + + + + + + Represents an aggregate operation. + + The type of the result values. + + + + Initializes a new instance of the class. + + The collection namespace. + The pipeline. + The result value serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to use the disk. + + + A value indicating whether the server is allowed to use the disk. + + + + + Gets or sets the size of a batch. + + + The size of a batch. + + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the pipeline. + + + The pipeline. + + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets the result value serializer. + + + The result value serializer. + + + + + Gets or sets a value indicating whether the server should use a cursor to return the results. + + + A value indicating whether the server should use a cursor to return the results. + + + + + + + + + + + Returns an AggregateExplainOperation for this AggregateOperation. + + The verbosity. + An AggregateExplainOperation. + + + + Represents an aggregate operation that writes the results to an output collection. + + + + + Initializes a new instance of the class. + + The collection namespace. + The pipeline. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to use the disk. + + + A value indicating whether the server is allowed to use the disk. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + A value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + The collation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the pipeline. + + + The pipeline. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + + + + + + + Represents an async cursor. + + The type of the documents. + + + + Initializes a new instance of the class. + + The channel source. + The collection namespace. + The query. + The first batch. + The cursor identifier. + The size of a batch. + The limit. + The serializer. + The message encoder settings. + The maxTime for each batch. + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + + + + + + Represents a mixed write bulk operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The requests. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + A value indicating whether to bypass document validation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets a value indicating whether the writes must be performed in order. + + + true if the writes must be performed in order; otherwise, false. + + + + + Gets or sets the maximum number of documents in a batch. + + + The maximum number of documents in a batch. + + + + + Gets or sets the maximum length of a batch. + + + The maximum length of a batch. + + + + + Gets or sets the maximum size of a document. + + + The maximum size of a document. + + + + + Gets or sets the maximum size of a wire document. + + + The maximum size of a wire document. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the requests. + + + The requests. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + + + + + + + + + + + + Represents the result of one batch executed using a write command. + + + + + Represents the details of a write concern error. + + + + + Initializes a new instance of the class. + + The code. + The message. + The details. + + + + Gets the error code. + + + The error code. + + + + + Gets the error details. + + + The error details. + + + + + Gets the error message. + + + The error message. + + + + + Represents the details of a write error for a particular request. + + + + + Initializes a new instance of the class. + + The index. + The code. + The message. + The details. + + + + Gets the error category. + + + The error category. + + + + + Gets the error code. + + + The error code. + + + + + Gets the error details. + + + The error details. + + + + + Gets the index of the request that had an error. + + + The index. + + + + + Gets the error message. + + + The error message. + + + + + Represents the result of a bulk write operation. + + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + Gets the number of documents that were deleted. + + + The number of document that were deleted. + + + + + Gets the number of documents that were inserted. + + + The number of document that were inserted. + + + + + Gets a value indicating whether the bulk write operation was acknowledged. + + + true if the bulk write operation was acknowledged; otherwise, false. + + + + + Gets a value indicating whether the modified count is available. + + + The modified count is only available when all servers have been upgraded to 2.6 or above. + + + true if the modified count is available; otherwise, false. + + + + + Gets the number of documents that were matched. + + + The number of document that were matched. + + + + + Gets the number of documents that were actually modified during an update. + + + The number of document that were actually modified during an update. + + + + + Gets the processed requests. + + + The processed requests. + + + + + Gets the request count. + + + The request count. + + + + + Gets a list with information about each request that resulted in an upsert. + + + The list with information about each request that resulted in an upsert. + + + + + Represents the result of an acknowledged bulk write operation. + + + + + Initializes a new instance of the class. + + The request count. + The matched count. + The deleted count. + The inserted count. + The modified count. + The processed requests. + The upserts. + + + + + + + + + + + + + + + + + + + + + + + + + Represents the result of an unacknowledged BulkWrite operation. + + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + + + + + + + + + + + + + + + + + + + + + + Represents the information about one Upsert. + + + + + Gets the identifier. + + + The identifier. + + + + + Gets the index. + + + The index. + + + + + Represents the base class for a command operation. + + The type of the command result. + + + + Initializes a new instance of the class. + + The database namespace. + The command. + The result serializer. + The message encoder settings. + + + + Gets or sets the additional options. + + + The additional options. + + + + + Gets the command. + + + The command. + + + + + Gets or sets the command validator. + + + The command validator. + + + + + Gets or sets the comment. + + + The comment. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the result serializer. + + + The result serializer. + + + + + Executes the protocol. + + The channel source. + The read preference. + The cancellation token. + A Task whose result is the command result. + + + + Executes the protocol. + + The channel source. + The read preference. + The cancellation token. + A Task whose result is the command result. + + + + Represents a count operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets or sets the collation. + + + The collation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets the filter. + + + The filter. + + + + + Gets or sets the index hint. + + + The index hint. + + + + + Gets or sets a limit on the number of matching documents to count. + + + A limit on the number of matching documents to count. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets or sets the number of documents to skip before counting the remaining matching documents. + + + The number of documents to skip before counting the remaining matching documents. + + + + + + + + + + + Represents a create collection operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets or sets a value indicating whether an index on _id should be created automatically. + + + A value indicating whether an index on _id should be created automatically. + + + + + Gets or sets a value indicating whether the collection is a capped collection. + + + A value indicating whether the collection is a capped collection. + + + + + Gets or sets the collation. + + + The collation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets the index option defaults. + + + The index option defaults. + + + + + Gets or sets the maximum number of documents in a capped collection. + + + The maximum number of documents in a capped collection. + + + + + Gets or sets the maximum size of a capped collection. + + + The maximum size of a capped collection. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets or sets whether padding should not be used. + + + + + Gets or sets the storage engine options. + + + The storage engine options. + + + + + Gets or sets a value indicating whether the collection should use power of 2 sizes. + + + A value indicating whether the collection should use power of 2 sizes.. + + + + + Gets or sets the validation action. + + + The validation action. + + + + + Gets or sets the validation level. + + + The validation level. + + + + + Gets or sets the validator. + + + The validator. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + + + + + + + Represents a create indexes operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The requests. + The message encoder settings. + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the create index requests. + + + The create index requests. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + + + + + + + Represents a create indexes operation that uses the createIndexes command. + + + + + Initializes a new instance of the class. + + The collection namespace. + The requests. + The message encoder settings. + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the create index requests. + + + The create index requests. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + + + + + + + Represents a create indexes operation that inserts into the system.indexes collection (used with older server versions). + + + + + Initializes a new instance of the class. + + The collection namespace. + The requests. + The message encoder settings. + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the create index requests. + + + The create index requests. + + + + + + + + + + + Represents a create index request. + + + + + Initializes a new instance of the class. + + The keys. + + + + Gets or sets the additional options. + + + The additional options. + + + + + Gets or sets a value indicating whether the index should be created in the background. + + + A value indicating whether the index should be created in the background. + + + + + Gets or sets the bits of precision of the geohash values for 2d geo indexes. + + + The bits of precision of the geohash values for 2d geo indexes. + + + + + Gets or sets the size of the bucket for geo haystack indexes. + + + The size of the bucket for geo haystack indexes. + + + + + Gets or sets the collation. + + + + + Gets or sets the default language for text indexes. + + + The default language for text indexes. + + + + + Gets or sets when documents in a TTL collection expire. + + + When documents in a TTL collection expire. + + + + + Gets or sets the language override for text indexes. + + + The language override for text indexes. + + + + + Gets the keys. + + + The keys. + + + + + Gets or sets the maximum coordinate value for 2d indexes. + + + The maximum coordinate value for 2d indexesThe maximum. + + + + + Gets or sets the minimum coordinate value for 2d indexes. + + + The minimum coordinate value for 2d indexes. + + + + + Gets or sets the index name. + + + The index name. + + + + + Gets or sets the partial filter expression. + + + The partial filter expression. + + + + + Gets or sets a value indicating whether the index is a sparse index. + + + A value indicating whether the index is a sparse index. + + + + + Gets or sets the 2dsphere index version. + + + The 2dsphere index version. + + + + + Gets or sets the storage engine options. + + + The storage engine options. + + + + + Gets or sets the text index version. + + + The text index version. + + + + + Gets or sets a value indicating whether the index enforces the uniqueness of the key values. + + + A value indicating whether the index enforces the uniqueness of the key values. + + + + + Gets or sets the index version. + + + The index version. + + + + + Gets or sets the weights for text indexes. + + + The weights for text indexes. + + + + + Gets the name of the index. + + The name of the index. + + + + Represents a create view operation. + + + + + Initializes a new instance of the class. + + The name of the database. + The name of the view. + The name of the collection that the view is on. + The pipeline. + The message encoder settings. + + + + Gets or sets the collation. + + + The collation. + + + + + Gets the namespace of the database. + + + The namespace of the database. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the pipeline. + + + The pipeline. + + + + + Gets the name of the view. + + + The name of the view. + + + + + Gets the name of the collection that the view is on. + + + The name of the collection that the view is on. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + + + + + + + A helper class for deserializing documents in a cursor batch. + + + + + Deserializes the documents. + + The type of the document. + The batch. + The document serializer. + The message encoder settings. + The documents. + + + + The cursor type. + + + + + A non-tailable cursor. This is sufficient for most uses. + + + + + A tailable cursor. + + + + + A tailable cursor with a built-in server sleep. + + + + + Represents a database exists operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The message encoder settings. + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + + + + + + + Represents a delete operation using the delete opcode. + + + + + Initializes a new instance of the class. + + The collection namespace. + The request. + The message encoder settings. + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets the request. + + + The request. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + + + + + + + Represents a request to delete one or more documents. + + + + + Initializes a new instance of the class. + + The filter. + + + + Gets or sets the collation. + + + + + Gets or sets the filter. + + + + + Gets or sets a limit on the number of documents that should be deleted. + + + The server only supports 0 or 1, and 0 means that all matching documents should be deleted. + + + A limit on the number of documents that should be deleted. + + + + + Represents a distinct operation. + + The type of the value. + + + + Initializes a new instance of the class. + + The collection namespace. + The value serializer. + The name of the field. + The message encoder settings. + + + + Gets or sets the collation. + + + The collation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets the filter. + + + The filter. + + + + + Gets the name of the field. + + + The name of the field. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets the value serializer. + + + The value serializer. + + + + + + + + + + + Represents a drop collection operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + + + + + + + Represents a drop database operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The message encoder settings. + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + + + + + + + Represents a drop index operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The keys. + The message encoder settings. + + + + Initializes a new instance of the class. + + The collection namespace. + The name of the index. + The message encoder settings. + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets the name of the index. + + + The name of the index. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + + + + + + + Represents a deserializer that deserializes the selected element and skips any others. + + The type of the value. + + + + Represents an eval operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The JavaScript function. + The message encoder settings. + + + + Gets or sets the arguments to the JavaScript function. + + + The arguments to the JavaScript function. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets the JavaScript function. + + + The JavaScript function. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets or sets a value indicating whether the server should not take a global write lock before evaluating the JavaScript function. + + + A value indicating whether the server should not take a global write lock before evaluating the JavaScript function. + + + + + + + + + + + Represents an explain operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The command. + The message encoder settings. + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets the command to be explained. + + + The command to be explained. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets or sets the verbosity. + + + The verbosity. + + + + + + + + + + + + + + + + + The verbosity of an explanation. + + + + + Runs the query planner and chooses the winning plan, but does not actually execute it. + + + + + Runs the query optimizer, and then runs the winning plan to completion. In addition to the + planner information, this makes execution stats available. + + + + + Runs the query optimizer and chooses the winning plan, but then runs all generated plans + to completion. This makes execution stats available for all of the query plans. + + + + + Represents a base class for find and modify operations. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The result serializer. + The message encoder settings. + + + + Gets or sets the collation. + + + The collation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the result serializer. + + + The result serializer. + + + + + Gets or sets the write concern. + + + + + + + + + + + Gets the command validator. + + An element name validator for the command. + + + + Represents a deserializer for find and modify result values. + + The type of the result. + + + + Initializes a new instance of the class. + + The value serializer. + + + + + + + Represents a Find command operation. + + The type of the document. + + + + Initializes a new instance of the class. + + The collection namespace. + The result serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to return partial results if any shards are unavailable. + + + true if the server is allowed to return partial results if any shards are unavailable; otherwise, false. + + + + + Gets or sets the size of a batch. + + + The size of a batch. + + + + + Gets or sets the collation. + + + The collation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets the comment. + + + The comment. + + + + + Gets or sets the type of the cursor. + + + The type of the cursor. + + + + + Gets or sets the filter. + + + The filter. + + + + + Gets or sets the size of the first batch. + + + The size of the first batch. + + + + + Gets or sets the hint. + + + The hint. + + + + + Gets or sets the limit. + + + The limit. + + + + + Gets or sets the max key value. + + + The max key value. + + + + + Gets or sets the maximum await time for TailableAwait cursors. + + + The maximum await time for TailableAwait cursors. + + + + + Gets or sets the max scan. + + + The max scan. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets or sets the min key value. + + + The max min value. + + + + + Gets or sets a value indicating whether the server will not timeout the cursor. + + + true if the server will not timeout the cursor; otherwise, false. + + + + + Gets or sets a value indicating whether the OplogReplay bit will be set. + + + true if the OplogReplay bit will be set; otherwise, false. + + + + + Gets or sets the projection. + + + The projection. + + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets the result serializer. + + + The result serializer. + + + + + Gets or sets whether to only return the key values. + + + Whether to only return the key values. + + + + + Gets or sets whether the record Id should be added to the result document. + + + Whether the record Id should be added to the result documentr. + + + + + Gets or sets whether to return only a single batch. + + + Whether to return only a single batchThe single batch. + + + + + Gets or sets the number of documents skip. + + + The number of documents skip. + + + + + Gets or sets whether to use snapshot behavior. + + + Whether to use snapshot behavior. + + + + + Gets or sets the sort specification. + + + The sort specification. + + + + + + + + + + + Represents a find one and delete operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The filter. + The result serializer. + The message encoder settings. + + + + Gets the filter. + + + The filter. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets or sets the projection. + + + The projection. + + + + + Gets or sets the sort specification. + + + The sort specification. + + + + + + + + Represents a find one and replace operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The filter. + The replacement. + The result serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + A value indicating whether to bypass document validation. + + + + + Gets the filter. + + + The filter. + + + + + Gets a value indicating whether a document should be inserted if no matching document is found. + + + true if a document should be inserted if no matching document is found; otherwise, false. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets or sets the projection. + + + The projection. + + + + + Gets the replacement document. + + + The replacement document. + + + + + Gets or sets which version of the modified document to return. + + + Which version of the modified document to return. + + + + + Gets or sets the sort specification. + + + The sort specification. + + + + + + + + Represents a find one and update operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The filter. + The update. + The result serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + A value indicating whether to bypass document validation. + + + + + Gets the filter. + + + The filter. + + + + + Gets a value indicating whether a document should be inserted if no matching document is found. + + + true if a document should be inserted if no matching document is found; otherwise, false. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets or sets the projection. + + + The projection. + + + + + Gets or sets which version of the modified document to return. + + + Which version of the modified document to return. + + + + + Gets or sets the sort specification. + + + The sort specification. + + + + + Gets or sets the update specification. + + + The update specification. + + + + + + + + Represents a Find opcode operation. + + The type of the returned documents. + + + + Initializes a new instance of the class. + + The collection namespace. + The result serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to return partial results if any shards are unavailable. + + + true if the server is allowed to return partial results if any shards are unavailable; otherwise, false. + + + + + Gets or sets the size of a batch. + + + The size of a batch. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets the comment. + + + The comment. + + + + + Gets or sets the type of the cursor. + + + The type of the cursor. + + + + + Gets or sets the filter. + + + The filter. + + + + + Gets or sets the size of the first batch. + + + The size of the first batch. + + + + + Gets or sets the hint. + + + The hint. + + + + + Gets or sets the limit. + + + The limit. + + + + + Gets or sets the max key value. + + + The max key value. + + + + + Gets or sets the max scan. + + + The max scan. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets or sets the min key value. + + + The max min value. + + + + + Gets or sets any additional query modifiers. + + + The additional query modifiers. + + + + + Gets or sets a value indicating whether the server will not timeout the cursor. + + + true if the server will not timeout the cursor; otherwise, false. + + + + + Gets or sets a value indicating whether the OplogReplay bit will be set. + + + true if the OplogReplay bit will be set; otherwise, false. + + + + + Gets or sets the projection. + + + The projection. + + + + + Gets the result serializer. + + + The result serializer. + + + + + Gets or sets whether the record Id should be added to the result document. + + + Whether the record Id should be added to the result documentr. + + + + + Gets or sets the number of documents skip. + + + The number of documents skip. + + + + + Gets or sets whether to use snapshot behavior. + + + Whether to use snapshot behavior. + + + + + Gets or sets the sort specification. + + + The sort specification. + + + + + + + + + + + Returns an explain operation for this find operation. + + The verbosity. + An explain operation. + + + + Represents a Find operation. + + The type of the returned documents. + + + + Initializes a new instance of the class. + + The collection namespace. + The result serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to return partial results if any shards are unavailable. + + + true if the server is allowed to return partial results if any shards are unavailable; otherwise, false. + + + + + Gets or sets the size of a batch. + + + The size of a batch. + + + + + Gets or sets the collation. + + + The collation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets the comment. + + + The comment. + + + + + Gets or sets the type of the cursor. + + + The type of the cursor. + + + + + Gets or sets the filter. + + + The filter. + + + + + Gets or sets the size of the first batch. + + + The size of the first batch. + + + + + Gets or sets the hint. + + + The hint. + + + + + Gets or sets the limit. + + + The limit. + + + + + Gets or sets the max key value. + + + The max key value. + + + + + Gets or sets the maximum await time for TailableAwait cursors. + + + The maximum await time for TailableAwait cursors. + + + + + Gets or sets the max scan. + + + The max scan. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets or sets the min key value. + + + The max min value. + + + + + Gets or sets any additional query modifiers. + + + The additional query modifiers. + + + + + Gets or sets a value indicating whether the server will not timeout the cursor. + + + true if the server will not timeout the cursor; otherwise, false. + + + + + Gets or sets a value indicating whether the OplogReplay bit will be set. + + + true if the OplogReplay bit will be set; otherwise, false. + + + + + Gets or sets the projection. + + + The projection. + + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets the result serializer. + + + The result serializer. + + + + + Gets or sets whether to only return the key values. + + + Whether to only return the key values. + + + + + Gets or sets whether the record Id should be added to the result document. + + + Whether the record Id should be added to the result documentr. + + + + + Gets or sets whether to return only a single batch. + + + Whether to return only a single batchThe single batch. + + + + + Gets or sets the number of documents skip. + + + The number of documents skip. + + + + + Gets or sets whether to use snapshot behavior. + + + Whether to use snapshot behavior. + + + + + Gets or sets the sort specification. + + + The sort specification. + + + + + + + + + + + Represents the geoNear command. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The point for which to find the closest documents. + The result serializer. + The message encoder settings. + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + + + Gets or sets the distance multiplier. + + + + + Gets or sets the filter. + + + + + Gets or sets whether to include the locations of the matching documents. + + + + + Gets or sets the limit. + + + + + Gets or sets the maximum distance. + + + + + Gets or sets the maximum time. + + + + + Gets the message encoder settings. + + + + + Gets the point for which to find the closest documents. + + + + + Gets or sets the read concern. + + + + + Gets the result serializer. + + + + + Gets or sets whether to use spherical geometry. + + + + + Gets or sets whether to return a document only once. + + + + + + + + + + + Represents the geoSearch command. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The point for which to find the closest documents. + The result serializer. + The message encoder settings. + + + + Gets the collection namespace. + + + + + Gets or sets the limit. + + + + + Gets or sets the maximum distance. + + + + + Gets or sets the maximum time. + + + + + Gets the message encoder settings. + + + + + Gets the point for which to find the closest documents. + + + + + Gets or sets the read concern. + + + + + Gets the result serializer. + + + + + Gets or sets the search. + + + + + + + + + + + Represents a group operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The key. + The initial aggregation result for each group. + The reduce function. + The filter. + The message encoder settings. + + + + Initializes a new instance of the class. + + The collection namespace. + The key function. + The initial aggregation result for each group. + The reduce function. + The filter. + The message encoder settings. + + + + Gets or sets the collation. + + + The collation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets the filter. + + + The filter. + + + + + Gets or sets the finalize function. + + + The finalize function. + + + + + Gets the initial aggregation result for each group. + + + The initial aggregation result for each group. + + + + + Gets the key. + + + The key. + + + + + Gets the key function. + + + The key function. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the reduce function. + + + The reduce function. + + + + + Gets or sets the result serializer. + + + The result serializer. + + + + + + + + + + + Represents helper methods for index names. + + + + + Gets the name of the index derived from the keys specification. + + The keys specification. + The name of the index. + + + + Gets the name of the index derived from the key names. + + The key names. + The name of the index. + + + + Represents an insert operation using the insert opcode. + + The type of the document. + + + + Initializes a new instance of the class. + + The collection namespace. + The document source. + The serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + A value indicating whether to bypass document validation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets a value indicating whether the server should continue on error. + + + true if the server should continue on error; otherwise, false. + + + + + Gets the document source. + + + The document source. + + + + + Gets or sets the maximum number of documents in a batch. + + + The maximum number of documents in a batch. + + + + + Gets or sets the maximum size of a document. + + + The maximum size of a document. + + + + + Gets or sets the maximum size of a message. + + + The maximum size of a message. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the serializer. + + + The serializer. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + + + + + + + Represents a request to insert a document. + + + + + Initializes a new instance of the class. + + The document. + + + + Gets or sets the document. + + + The document. + + + + + Represents a database read operation. + + The type of the result. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Represents a database write operation. + + The type of the result. + + + + Executes the operation. + + The binding. + The cancellation token. + The result of the operation. + + + + Executes the operation. + + The binding. + The cancellation token. + A Task whose result is the result of the operation. + + + + Represents a list collections operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The message encoder settings. + + + + Gets or sets the filter. + + + The filter. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + + + + + + + Represents a list collections operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The message encoder settings. + + + + Gets or sets the filter. + + + The filter. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + + + + + + + Represents a list collections operation. + + + + + Initializes a new instance of the class. + + The database namespace. + The message encoder settings. + + + + Gets or sets the filter. + + + The filter. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + + + + + + + Represents the listDatabases command. + + + + + Initializes a new instance of the class. + + The message encoder settings. + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + + + + + + + Represents a list indexes operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + + + + + + + Represents a list indexes operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + + + + + + + Represents a list indexes operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + + + + + + + Represents a map-reduce operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The map function. + The reduce function. + The message encoder settings. + + + + Gets or sets the read concern. + + + The read concern. + + + + + + + + + + + + + + + + + Represents a map-reduce operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The map function. + The reduce function. + The result serializer. + The message encoder settings. + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets the result serializer. + + + The result serializer. + + + + + + + + + + + + + + + + + Represents a base class for map-reduce operations. + + + + + Initializes a new instance of the class. + + The collection namespace. + The map function. + The reduce function. + The message encoder settings. + + + + Gets or sets the collation. + + + The collation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets the filter. + + + The filter. + + + + + Gets or sets the finalize function. + + + The finalize function. + + + + + Gets or sets a value indicating whether objects emitted by the map function remain as JavaScript objects. + + + + Setting this value to true can result in faster execution, but requires more memory on the server, and if + there are too many emitted objects the map-reduce operation may fail. + + true if objects emitted by the map function remain as JavaScript objects; otherwise, false. + + + + + Gets or sets the maximum number of documents to pass to the map function. + + + The maximum number of documents to pass to the map function. + + + + + Gets the map function. + + + The map function. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the reduce function. + + + The reduce function. + + + + + Gets or sets the scope document. + + + The scode document defines global variables that are accessible from the map, reduce and finalize functions. + + + The scope document. + + + + + Gets or sets the sort specification. + + + The sort specification. + + + + + Gets or sets a value indicating whether to include extra information, such as timing, in the result. + + + true if extra information, such as timing, should be included in the result; otherwise, false. + + + + + Creates the command. + + The server version. + The command. + + + + Creates the output options. + + The output options. + + + + Represents the map-reduce output mode. + + + + + The output of the map-reduce operation replaces the output collection. + + + + + The output of the map-reduce operation is merged with the output collection. + If an existing document has the same key as the new result, overwrite the existing document. + + + + + The output of the map-reduce operation is merged with the output collection. + If an existing document has the same key as the new result, apply the reduce function to both + the new and the existing documents and overwrite the existing document with the result. + + + + + Represents a map-reduce operation that outputs its results to a collection. + + + + + Initializes a new instance of the class. + + The collection namespace. + The output collection namespace. + The map function. + The reduce function. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + A value indicating whether to bypass document validation. + + + + + Gets or sets a value indicating whether the server should not lock the database for merge and reduce output modes. + + + true if the server should not lock the database for merge and reduce output modes; otherwise, false. + + + + + Gets the output collection namespace. + + + The output collection namespace. + + + + + Gets or sets the output mode. + + + The output mode. + + + + + Gets or sets a value indicating whether the output collection should be sharded. + + + true if the output collection should be sharded; otherwise, false. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + + + + + + + + + + + + + Represents a bulk write operation exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + The write errors. + The write concern error. + The unprocessed requests. + + + + Gets the result of the bulk write operation. + + + + + Gets the unprocessed requests. + + + The unprocessed requests. + + + + + + Gets the write concern error. + + + The write concern error. + + + + + Gets the write errors. + + + The write errors. + + + + + Represents extension methods for operations. + + + + + Executes a read operation using a channel source. + + The type of the result. + The read operation. + The channel source. + The read preference. + The cancellation token. + The result of the operation. + + + + Executes a write operation using a channel source. + + The type of the result. + The write operation. + The channel source. + The cancellation token. + The result of the operation. + + + + Executes a read operation using a channel source. + + The type of the result. + The read operation. + The channel source. + The read preference. + The cancellation token. + A Task whose result is the result of the operation. + + + + Executes a write operation using a channel source. + + The type of the result. + The write operation. + The channel source. + The cancellation token. + A Task whose result is the result of the operation. + + + + Represents a parallel scan operation. + + The type of the document. + + + + Initializes a new instance of the class. + + The collection namespace. + The number of cursors. + The serializer. + The message encoder settings. + + + + Gets or sets the size of a batch. + + + The size of a batch. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the number of cursors. + + + The number of cursors. + + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets the serializer. + + + The serializer. + + + + + + + + + + + Represents a ping operation. + + + + + Initializes a new instance of the class. + + The message encoder settings. + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + + + + + + + Represents a read command operation. + + The type of the command result. + + + + Initializes a new instance of the class. + + The database namespace. + The command. + The result serializer. + The message encoder settings. + + + + + + + + + + Represents a reindex operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets or sets the write concern (ignored and will eventually be deprecated and later removed). + + + The write concern. + + + + + + + + + + + Represents a rename collection operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The new collection namespace. + The message encoder settings. + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets a value indicating whether to drop the target collection first if it already exists. + + + true if the target collection should be dropped first if it already exists.; otherwise, false. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the new collection namespace. + + + The new collection namespace. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + + + + + + + The document to return when executing a FindAndModify command. + + + + + Returns the document before the modification. + + + + + Returns the document after the modification. + + + + + Represents an update operation using the update opcode. + + + + + Initializes a new instance of the class. + + The collection namespace. + The request. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + A value indicating whether to bypass document validation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets the maximum size of a document. + + + The maximum size of a document. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the request. + + + The request. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + + + + + + + Gets or sets the maximum size of a document. + + + The maximum size of a document. + + + + + Represents a request to update one or more documents. + + + + + Initializes a new instance of the class. + + The update type. + The filter. + The update. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets a value indicating whether this update should affect all matching documents. + + + true if this update should affect all matching documents; otherwise, false. + + + + + Gets or sets a value indicating whether a document should be inserted if no matching document is found. + + + true if a document should be inserted if no matching document is found; otherwise, false. + + + + + Gets the update specification. + + + + + Gets the update type. + + + + + Represents the update type. + + + + + The update type is unknown. + + + + + This update uses an update specification to update an existing document. + + + + + This update completely replaces an existing document with a new one. + + + + + Represents a write command operation. + + The type of the command result. + + + + Initializes a new instance of the class. + + The database namespace. + The command. + The result serializer. + The message encoder settings. + + + + + + + + + + Represents a request to write something to the database. + + + + + Initializes a new instance of the class. + + The request type. + + + + Gets or sets the correlation identifier. + + + + + Gets the request type. + + + The request type. + + + + + Represents the type of a write request. + + + + + A delete request. + + + + + An insert request. + + + + + An udpate request. + + + + + Represents an element name validator that checks that element names are valid for MongoDB collections. + + + + + Gets a pre-created instance of a CollectionElementNameValidator. + + + The pre-created instance. + + + + + + + + + + + Represents a factory for element name validators based on the update type. + + + + + Returns an element name validator for the update type. + + Type of the update. + An element name validator. + + + + Represents an element name validator for update operations. + + + + + Gets a pre-created instance of an UpdateElementNameValidator. + + + The pre-created instance. + + + + + + + + + + + Represents an element name validator that will validate element names for either an update or a replacement based on whether the first element name starts with a "$". + + + + + Initializes a new instance of the class. + + + + + + + + + + + Represents a server factory. + + + + + Creates the server. + + The cluster identifier. + The end point. + A server. + + + + Represents a MongoDB server. + + + + + Occurs when the server description changes. + + + + + Gets the server description. + + + The server description. + + + + + Gets the end point. + + + The end point. + + + + + Gets the server identifier. + + + The server identifier. + + + + + Gets a channel to the server. + + The cancellation token. + A channel. + + + + Gets a channel to the server. + + The cancellation token. + A Task whose result is a channel. + + + + Represents a server that can be part of a cluster. + + + + + Gets a value indicating whether this instance is initialized. + + + true if this instance is initialized; otherwise, false. + + + + + Initializes this instance. + + + + + Invalidates this instance (sets the server type to Unknown and clears the connection pool). + + + + + Requests a heartbeat as soon as possible. + + + + + Monitors a server for state changes. + + + + + + Occurs when the server description changes. + + + + + Initializes this instance. + + + + + Instructs the monitor to refresh its description immediately. + + + + + Requests a heartbeat as soon as possible. + + + + + Represents a server monitor factory. + + + + + Creates a server monitor. + + The server identifier. + The end point. + A server monitor. + + + + Represents a server in a MongoDB cluster. + + + + + Represents information about a server. + + + + + Initializes a new instance of the class. + + The server identifier. + The end point. + The average round trip time. + The canonical end point. + The election identifier. + The heartbeat exception. + The heartbeat interval. + The last update timestamp. + The last write timestamp. + The maximum batch count. + The maximum size of a document. + The maximum size of a message. + The maximum size of a wire document. + The replica set configuration. + The server state. + The replica set tags. + The server type. + The server version. + The wire version range. + + + + Gets the average round trip time. + + + The average round trip time. + + + + + Gets the canonical end point. This is the endpoint that the cluster knows this + server by. Currently, it only applies to a replica set config and will match + what is in the replica set configuration. + + + + + Gets the election identifier. + + + + + Gets the end point. + + + The end point. + + + + + Gets the most recent heartbeat exception. + + + The the most recent heartbeat exception (null if the most recent heartbeat succeeded). + + + + + Gets the heartbeat interval. + + + The heartbeat interval. + + + + + Gets the last update timestamp (when the ServerDescription itself was last updated). + + + The last update timestamp. + + + + + Gets the last write timestamp (from the lastWrite field of the isMaster result). + + + The last write timestamp. + + + + + Gets the maximum number of documents in a batch. + + + The maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + The maximum size of a document. + + + + + Gets the maximum size of a message. + + + The maximum size of a message. + + + + + Gets the maximum size of a wire document. + + + The maximum size of a wire document. + + + + + Gets the replica set configuration. + + + The replica set configuration. + + + + + Gets the server identifier. + + + The server identifier. + + + + + Gets the server state. + + + The server state. + + + + + Gets the replica set tags. + + + The replica set tags (null if not a replica set or if the replica set has no tags). + + + + + Gets the server type. + + + The server type. + + + + + Gets the server version. + + + The server version. + + + + + Gets the wire version range. + + + The wire version range. + + + + + + + + + + + + + + + + + Returns a new instance of ServerDescription with some values changed. + + The average round trip time. + The canonical end point. + The election identifier. + The heartbeat exception. + The heartbeat interval. + The last update timestamp. + The last write timestamp. + The maximum batch count. + The maximum size of a document. + The maximum size of a message. + The maximum size of a wire document. + The replica set configuration. + The server state. + The replica set tags. + The server type. + The server version. + The wire version range. + + A new instance of ServerDescription. + + + + + Represents the arguments to the event that occurs when the server description changes. + + + + + Initializes a new instance of the class. + + The old server description. + The new server description. + + + + Gets the old server description. + + + The old server description. + + + + + Gets the new server description. + + + The new server description. + + + + + + + + Represents a server identifier. + + + + + Initializes a new instance of the class. + + The cluster identifier. + The end point. + + + + Gets the cluster identifier. + + + The cluster identifier. + + + + + Gets the end point. + + + The end point. + + + + + + + + + + + + + + + + + + + + Represents the server state. + + + + + The server is disconnected. + + + + + The server is connected. + + + + + Represents the server type. + + + + + The server type is unknown. + + + + + The server is a standalone server. + + + + + The server is a shard router. + + + + + The server is a replica set primary. + + + + + The server is a replica set secondary. + + + + + Use ReplicaSetSecondary instead. + + + + + The server is a replica set arbiter. + + + + + The server is a replica set member of some other type. + + + + + The server is a replica set ghost member. + + + + + Represents extension methods on ServerType. + + + + + Determines whether this server type is a replica set member. + + The type of the server. + Whether this server type is a replica set member. + + + + Determines whether this server type is a writable server. + + The type of the server. + Whether this server type is a writable server. + + + + Infers the cluster type from the server type. + + The type of the server. + The cluster type. + + + + Instructions for handling the response from a command. + + + + + Return the response from the server. + + + + + Ignore the response from the server. + + + + + Represents one result batch (returned from either a Query or a GetMore message) + + The type of the document. + + + + Initializes a new instance of the struct. + + The cursor identifier. + The documents. + + + + Gets the cursor identifier. + + + The cursor identifier. + + + + + Gets the documents. + + + The documents. + + + + + Represents a Delete message. + + + + + Initializes a new instance of the class. + + The request identifier. + The collection namespace. + The query. + if set to true [is multi]. + + + + Gets the collection namespace. + + + + + Gets a value indicating whether to delete all matching documents. + + + + + + + + Gets the query. + + + + + + + + Represents a GetMore message. + + + + + Initializes a new instance of the class. + + The request identifier. + The collection namespace. + The cursor identifier. + The size of a batch. + + + + Gets the size of a batch. + + + + + Gets the collection namespace. + + + + + Gets the cursor identifier. + + + + + + + + + + + Represents an Insert message. + + The type of the document. + + + + Initializes a new instance of the class. + + The request identifier. + The collection namespace. + The serializer. + The document source. + The maximum batch count. + Maximum size of the message. + if set to true the server should continue on error. + + + + Gets the collection namespace. + + + + + Gets a value indicating whether the server should continue on error. + + + + + Gets the document source. + + + + + Gets the maximum number of documents in a batch. + + + + + Gets the maximum size of a message. + + + + + + + + Gets the serializer. + + + + + + + + Represents a KillCursors message. + + + + + Initializes a new instance of the class. + + The request identifier. + The cursor ids. + + + + Gets the cursor ids. + + + + + + + + + + + Represents a base class for messages. + + + + + Gets the type of the message. + + + + + + + + Represents the type of message. + + + + + OP_DELETE + + + + + OP_GETMORE + + + + + OP_INSERT + + + + + OP_KILLCURSORS + + + + + OP_QUERY + + + + + OP_REPLY + + + + + OP_UPDATE + + + + + Represents a Query message. + + + + + Initializes a new instance of the class. + + The request identifier. + The collection namespace. + The query. + The fields. + The query validator. + The number of documents to skip. + The size of a batch. + if set to true it is OK if the server is not the primary. + if set to true the server is allowed to return partial results if any shards are unavailable. + if set to true the server should not timeout the cursor. + if set to true the OplogReplay bit will be set. + if set to true the query should return a tailable cursor. + if set to true the server should await data (used with tailable cursors). + A delegate that determines whether this message should be sent. + + + + Gets a value indicating whether the server should await data (used with tailable cursors). + + + + + Gets the size of a batch. + + + + + Gets the collection namespace. + + + + + Gets the fields. + + + + + + + + Gets a value indicating whether the server should not timeout the cursor. + + + + + Gets a value indicating whether the OplogReplay bit will be set. + + + true if the OplogReplay bit will be set; otherwise, false. + + + + + Gets a value indicating whether the server is allowed to return partial results if any shards are unavailable. + + + + + Gets the query. + + + + + Gets the query validator. + + + + + Gets the number of documents to skip. + + + + + Gets a value indicating whether it is OK if the server is not the primary. + + + + + Gets a value indicating whether the query should return a tailable cursor. + + + + + + + + Represents a Reply message. + + The type of the document. + + + + Initializes a new instance of the class. + + if set to true the server is await capable. + The cursor identifier. + if set to true the cursor was not found. + The documents. + The number of documents returned. + if set to true the query failed. + The query failure document. + The request identifier. + The identifier of the message this is a response to. + The serializer. + The position of the first document in this batch in the overall result. + + + + Gets a value indicating whether the server is await capable. + + + + + Gets the cursor identifier. + + + + + Gets a value indicating whether the cursor was not found. + + + + + Gets the documents. + + + + + + + + Gets the number of documents returned. + + + + + Gets a value indicating whether the query failed. + + + + + Gets the query failure document. + + + + + Gets the serializer. + + + + + Gets the position of the first document in this batch in the overall result. + + + + + + + + Represents a base class for request messages. + + + + + Gets the current global request identifier. + + + The current global request identifier. + + + + + Gets the next request identifier. + + The next request identifier. + + + + Initializes a new instance of the class. + + The request identifier. + A delegate that determines whether this message should be sent. + + + + Gets the request identifier. + + + The request identifier. + + + + + Gets a delegate that determines whether this message should be sent. + + + A delegate that determines whether this message be sent. + + + + + Gets or sets a value indicating whether this message was sent. + + + true if this message was sent; otherwise, false. + + + + + Represents a base class for response messages. + + + + + Initializes a new instance of the class. + + The request identifier. + The identifier of the message this is a response to. + + + + + + + Gets the request identifier. + + + + + Gets the identifier of the message this is a response to. + + + + + Represents an Update message. + + + + + Initializes a new instance of the class. + + The request identifier. + The collection namespace. + The query. + The update. + The update validator. + if set to true all matching documents should be updated. + if set to true a document should be inserted if no matching document is found. + + + + Gets the collection namespace. + + + + + Gets a value indicating whether all matching documents should be updated. + + + + + Gets a value indicating whether a document should be inserted if no matching document is found. + + + + + + + + Gets the query. + + + + + Gets the update. + + + + + Gets the update validator. + + + + + + + + Represents an encodable message. + + + + + Gets an encoder for the message from an encoder factory. + + The encoder factory. + A message encoder. + + + + Represents a message encoder. + + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a message encoder factory. + + + + + Gets an encoder for a Delete message. + + An encoder. + + + + Gets an encoder for a GetMore message. + + An encoder. + + + + Gets an encoder for an Insert message. + + The type of the document. + The serializer. + An encoder. + + + + Gets an encoder for a KillCursors message. + + An encoder. + + + + Gets an encoder for a Query message. + + An encoder. + + + + Gets an encoder for a Reply message. + + The type of the document. + The serializer. + An encoder. + + + + Gets an encoder for an Update message. + + An encoder. + + + + Represents a message encoder selector that gets the appropriate encoder from an encoder factory. + + + + + Get the appropriate encoder from an encoder factory. + + The encoder factory. + A message encoder. + + + + Represents the names of different encoder settings. + + + + + The name of the FixOldBinarySubTypeOnInput setting. + + + + + The name of the FixOldBinarySubTypeOnOutput setting. + + + + + The name of the FixOldDateTimeMaxValueOnInput setting. + + + + + The name of the GuidRepresentation setting. + + + + + The name of the MaxDocumentSize setting. + + + + + The name of the MaxSerializationDepth setting. + + + + + The name of the ReadEncoding setting. + + + + + The name of the WriteEncoding setting. + + + + + The name of the Indent setting. + + + + + The name of the IndentChars setting. + + + + + The name of the NewLineChars setting. + + + + + The name of the OutputMode setting. + + + + + The name of the ShellVersion setting. + + + + + Represents settings for message encoders. + + + + + Adds a setting. + + The type of the value. + The name. + The value. + The settings. + + + + + + + Gets a setting, or a default value if the setting does not exist. + + The type of the value. + The name. + The default value. + The value of the setting, or a default value if the setting does not exist. + + + + Represents a message encoder selector for ReplyMessages. + + The type of the document. + + + + Initializes a new instance of the class. + + The document serializer. + + + + + + + Represents a factory for binary message encoders. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + + + + + + + + + + + + + + + + + + + + + + Represents a binary encoder for a Delete message. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a binary encoder for a GetMore message. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a binary encoder for an Insert message. + + The type of the documents. + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + The serializer. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a binary encoder for a KillCursors message. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a base class for binary message encoders. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Gets the encoding. + + + The encoding. + + + + + Creates a binary reader for this encoder. + + A binary reader. + + + + Creates a binary writer for this encoder. + + A binary writer. + + + + Represents a binary encoder for a Query message. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a binary encoder for a Reply message. + + The type of the documents. + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + The serializer. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a binary encoder for an Update message. + + + + + Initializes a new instance of the class. + + The stream. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a JSON encoder for a Delete message. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a JSON encoder for a GetMore message. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a JSON encoder for an Insert message. + + The type of the documents. + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + The serializer. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a factory for JSON message encoders. + + + + + Initializes a new instance of the class. + + The text reader. + The encoder settings. + + + + Initializes a new instance of the class. + + The text writer. + The encoder settings. + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + + + + + + + + + + + + + + + + + + + + + + Represents a JSON encoder for a KillCursors message. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a base class for JSON message encoders. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Creates a JsonReader for this encoder. + + A JsonReader. + + + + Creates a JsonWriter for this encoder. + + A JsonWriter. + + + + Represents a JSON encoder for a Query message. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a JSON encoder for a Reply message. + + The type of the documents. + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + The serializer. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + + Represents a JSON encoder for an Update message. + + + + + Initializes a new instance of the class. + + The text reader. + The text writer. + The encoder settings. + + + + Reads the message. + + A message. + + + + Writes the message. + + The message. + + + diff --git a/packages/Newtonsoft.Json.10.0.2/LICENSE.md b/packages/Newtonsoft.Json.10.0.2/LICENSE.md new file mode 100644 index 0000000..dfaadbe --- /dev/null +++ b/packages/Newtonsoft.Json.10.0.2/LICENSE.md @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/packages/Newtonsoft.Json.10.0.2/Newtonsoft.Json.10.0.2.nupkg b/packages/Newtonsoft.Json.10.0.2/Newtonsoft.Json.10.0.2.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..8d6b3e0c3a7f0b942910a81cb6e126e1292e63a4 GIT binary patch literal 2060233 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 z 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

)i`!HF^NC8nI=T{BEKhLb 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%0Aw12Qp);ECl*^SL=9v9CsM@nNU_e zaujCy9ISpUtAn5mX9jd(>53w?gqRb!qUfkgg+ZyvE00oez*H!Ob*}kpl$bPbD?*;J2f5$4@{u_*GoIgoj`bVRtbmw~88t{u8beIl z7TAB(7|{g9dRT4+#)t&ExMOE(yArv>(PRz^4xfCTc{0tc12>xS`5;VN0}tK=E=d=U z8)FE)MGEKTNfRmuL!QCK0igrNmC->`M(Q;lHluxMoecFn)s}I*juNA++kuSQGJB>Z z>A(^U(Je(fTS6xa+q8|@AR%i!GH~G7vL48tR4MBvkoCbqS@V7K_L8hwn#V)XvnvG+ zK=Fhz1bthDpvTi?7&{LdSH=e`8JA1flMhlsFtY=KIbjTeo~XL_Sg2*~b}VV`>m+JW+d@2~y! z`XS8jXr_%xotYk3h%Y6OA;p^r8EFadnSf&^_|1~J+{Rd^Gj#y-<@4vZMvp7xnUbL{TDWY&fyMOE+^<=NF*6+jV zdvlzDh{`}#rXRQ$EBSsqn*eo@)1dV0C$GSt{J~ zWCl{2SY8jxzFxL7gp_f+Drcv&P1$DR`L#@0$pSp*i?nwiTCaN&y4VqNvfaj$ZSzPH zt$g=?iD;A6laei|fm>4cVAbIgs-IO0^t#MdeK!_jAQ|)|exy_hMiqcc|%8bna zjZDbDrsX<8yN}Okfv1|Z(b@H?ooyL@K`vdadqFN7rJCJGLi(KVF2v(=;9*JioLS(u zhVhPlW(qI2Ikwp#2klcS+K0-6%)$3J{kI5fjTzg@w+N?Dh8_#)Hxa|Q%L6MasnWnr z9_D5XoyH)g;X^r%c<{wTN2d`nX3SFW9g0qykFR9;%nYeCcRBWnUJdc4CNJH3C-c@& zjiFLmQ6BWlgDcB}r<4Z^<-sC?OU3dUqws=mMD8kN;00vhQn7rzIMWKd&jM$}N_W)? zcQqz}G2xyHSD0C=si(Hu%Gz;P?KBGwOKGxWiGBXR6H*RK*lin`Mmsxl%qdw_J1=sjpLQp>{#grtprd(iy2rl-6 zYmuiHL%fcfnd1H_B-e^ezSc}uTarppvHD&kzb)hr!QOUkM@oUoUjg|6HAY}*-E?0I z@h+)aF<0^g_FoV|qZVe_3XQoaAC0B2!*?0B?;EjwUt4&a3Ru{sqqIDjw%j``ooBL6 zjDGZ`PMwN}r9n53j%7CuESzlcCV+w4*4rp|XXP$d?h@rLRc=AK!^*u#xmPInTIJrN z+?yJiE4^Q%^%gf_*_r;v6x_aJc{pQ?OZ`uSMcZ>0bC z@c&Wze+U2Xq<;ha8>F9~?ftFvKLh_Cr2k3ypOk(a#dV*O{-@x7TKb=c{~77$V^Ysa zKa4l`Vd;nI&f9-kC2zLh+(%_BuM=!!|0*oAxPO*#v<>%V_zQ=0_;xeb6o2}Lk7rC5 z4Gr$!RZD1a{}EDW-8$rKCu!y_^HTl@T=6^-=rq&YkC)RMY)OSNZ?eL*@|G3EwKT42 zyYI*(8ca#X?Fd%K641E^3Lb-P_g!heG?(%oT}i%;A9pOT7f&!3acIF2rgs#1g1TL*;;huYlZe>T;rs;|fYorP&=|vjBgBS7vA}vLcf5~bcOzT@|HOv}s)46@!{AbEgsS)n%sg{YMUJNDKSB zhX?Aag5$w_4rGSqosCVGOs>&UN9Phwp>DD^2^=|q|7Fbgtm}=fcQ1{nBO!gx(B?;{ zj=&mKZ=6Mt=8qgqOWD`DZ_74lv-RrZkhEIHMnz?Xgw}gP82W93t;^D|O)rH9k}aK9~`O`{08%DLe`v4uTY3f)A%b3-7>(^Qi@M3i)34x8iEV7+Z0*04@rA!#P|` zh|)Pxe8=uc-cQ(Mlzsn>tkl+oSPN*xacjo<{#_;AUnioY9(XL$U14_Ca-S%~Dfh*7 zA-To%o?(psF6H1mye);Nnc$n?yOd}7T=x%fi<}o={HL**?|A+*NF%@F`7dKL-|_rckVbyT^WVm1zT^4tAdUQv=ljNH zzT^3RkVbx!^Fw1Z-{kx-NF%@f`GK*SZ-0Ieq>);v zBMRYTqw+(aAFF!%gnR%0{QcHXWICS)bV%u3?thHUoXh=>+Ny-hSb8p8@YkW#7W1oe zdi|Po-jL2;rSrOU{vw?>rSpn((53}{<(3LpeeT$_w{wO;AIKe zSnhs2yp#SD?m^_Wvq!kU4&k%G*7Sy4*gF&EmLu?0Yd)jT5&Iw_&k^{9Gk@TjBMwDG zH%F{N#G^XmWJGMs5i4{v7(Cuwh8<(@#R%!)&p~?) z9C4gRhR17R*pV6rk2i^7Cu$fxUK8gEpDAYL$GJj?HJ-T^-y&uW#}NpzS~J(;gTt)G zI07NoUFKSRRhV@ZM;CA=Wo0e>Iq4C+iMm4zAS61h1A2%WI^KFo$`K$xQ@WIi@Q{Z0AZ8uPd0L%} zJokqdUmvcsc-W*Weq5zdUnfuS5C{&h9OqlBZAp3Nwww-AdzZ^3Y1du;JEpAq8dKJI6_y$OdaF@YMbLn}Yr;~(1PzzOq=XYOt8FfmDhY)h&Z(bA$8M0B zK{vxvgykMB)ILqvJ4WzMGK$Ah%jBIF>T5S>Wl?90H1={6_@}RScQw5N zpK1lDK2jH9`%|`o2&14{+UpF7hqqW_reXk0UK_y<-aKafFJEmF<5kQUp!#TCl#Nu$ zILauJaY*9fy-+Y_2Eg=IgR#(kqSWDt@u@<0xcXRKEYRa(evfOf6B5sTPBJd_w$s4a z9BJH+8Gqnwe`3sM@Yx`(kJrW743&)Ij3ODE5)Y4QfiW`xrneT1shjPz*<^vF1Gwn%5DOL3^AbRF+}U+Jn@4RrxEsZmWu zHV=Y^g7vJs7Wo2|BrArXW>CUXsss&)$L~timr;~t82&H|0y8&EE| zn8BIu(tvG?b%bLvHsrS=%QG#cwHYVnGK~Ex;mG^gLfV@zH)I#f6$ifIMeXiSN-Mc5Pw$hia$NI$sKMl)8?TB|F&Qm(J!=9-8aMqO@W6``F)ytU|an9xXTDP(6 zO8vb!$9Om-=N;{r&7N%U)LDJN_8$tDrmq%txJwbE}A z{n{p#lePF{X84tZlYQ8KZppT0CuK$9J{rIztM#8$TtJk0>?X3~ z`CRz)kUH6$kEjg$=fe@g2#6El>aaIxv8}YQoVG-RG+VmT(lZH1%He4m=SVpi=p*Gw zO{GGTbwlH?KeCCnKf`2} zxy#WZ@DVmSV^TMLNmOa~83|Iid~in=Tdk9Voy9a-7g+^?&tSlY#B zt+PwYrc+ir?R_<{mOi5Nwz&{1FL;nqe;Ny)!osRHPC5*PbZp15Bw)L!kd*6F5u1yqMl9<{vdZM1-olIZ!B9(w~GJ z+tNL@Y}azoO7}FWF|Vse4~K;CZ6HLvt2uvH(O)OcU+KFg>%Tj&jM7TQ0;TLb6 zm{<#>k<=&tOJga1X-qa4=Fp4}i@?Jl7J;X&CuX)nxYq=vzc5fM-(k3mIa-zulK_zZ}eje^jRK7gnJfH34X2M3$xcLM0taj#-TRtY4@4L ze4o4ton2ESZ(WscUDwDfS>6wH^d+H+=u4sfZqU(Rtc?DWKLjB9%azfWA^IjAy>n$W zF78XUzh=}Ge0BF;jsb}NPG!!qDI>K#qA#zc{tBpX)zM$AjJ^WVx9RAwRYrdu(YNd9 zZ&XHKiRe3Y^fxP`zlG>Kb@Wx0(N`n-E*<^t%IItS5r@lN8GS9Hf2^awTN(X5ME^ub zUsoCZeMH}l(Bje8@3TwCyQG~xHGplFj)IM-!gNjz(9yo(~ zzA*It_5DaUoP=?sX<(tN6e!dK?!N9Q&kgXy@MHiR_{0*9i#<%gztRu)!N^!J@STud z>9;?QpM~V7#PDrDd?fI<^!o#jk%i>PoU-_K3;p`(cO3oj-4z-i`3>%0((ljodq?2A z)bdwLzc%`1>9;NYdgsv}8s~A$Og0i><*Q`4cs)$fC?+3EG5PR*CFA)Vnlerp*}q0Z z$og)Mcb`JWK{eTcBr?LqA4tyTNFxohtx@kmg^ZJIvZYI8go`%-Iff;#V+lEFdG{-9 zoOP28Ut%L%yisC@M;ea*VdF%d)GZPl;o=V^c4VaS^T3XH_b6@qGONS-pV6Sw~!vVW68Ca!jpkJFI zkGkRp;(p`&`sKbE-<{O3+zLzppOd<>Nqf{R(prr&bk-K$nO1%*LCQ@|ER{M{<3A}? z*1>v~s;8!UKFSjdxjX;`{7t|PkmjAq7cN8#8xGlnl_6nDJHm3$mby9!r7|`w_ia1U?yVBVkmmtrNWGjaKF?>`(nIwYc2MmR`vn3Ncch7eyOHqiK}5*C54<&S zGH708n&RzPI%v>ze<-7~>_NorZ|&#Z5#p72Ia%7M@_;qmJ;+_b=O%BTu4ZCp;XdsZ z-qBIwc!eR)+m^06cOrkKOQ)M%+#>&}^pw+iSq~3b2C)?4STUYQT;Pus{PAD8Nn{u#*DptN}YK zz%ClFivsMb0lO-|LJe4`0J~|xZVIrw2JEf?duYHO3b3aJ?5O~YG+>be?4<#FDZt(u zu(ty2qXGLUz+w$ptN{CJz`hEwp9buw0Q+me{t9q_2C(NcwfL1e!+lHeLRZ3Mry5Sm z{cE5t;r6VDw%KU%t*kq-vyiKHyt~Mgup@4o;Er6Jf2-`Qv0j(2GFoQnb$Qe1BxSOa z-xBuT5coit>Fo~A`fw3Vy<_Th5zWCpWQ9=Q6qumzPl(vE{tpnX%o+S1 zmEy<=O7Ve2{ZOHPegf2wBsw|Fo~HAj^jcd zflp&_%1cOal>(ovz||65qnLP#30ZiQ)*z5+m`a-bU}*72u$AjT!61p?z8j%GWS-`x z6Qg>D4+Sery>EfKI?8L{_yfUsn(#gok};H?H-hpoNFuoP;F*0$6sO=##{;2Ea74Ws zq0b>y{4tc}K^!p%h?_ADbtkHqY}-@#jDM%;ZAD{bL#m(_->^ z-D-wR*AUA)o@Ja$=fa}3Rs;7#`@6x6#H8+b2T-btXS5{~q_?aZd=1L1Sq z7C=$QO4Eo+UvpHHAm_F>QH+=#Qhid5Vkk?DhtVUp6UGp zn+Lf`Hm=si;=-aTzMp*L{1UluH8G$t=RcMWD26^0A2ZxJS~rAwDWnMAR-NJfia6l7 zj2-4IdJlyBcOqd=tl~Ab8Hjn1VytdlC6EBi`!#QBD9U&lT9phr-a}k{lECpEM(6;O zrg1I+GRc`}Nes-EfH`hnEDL;Hc{T4Fq5YYZ=|{ME*{XTDDcO2B*7hF7bqH<=-easq z=hyKq98#lRh`X0vd>p+%u-pKu6YdjeM&$k$5=GngekVn|0n^xfH&)ZMDzyd%CCk?2 zhEUAvBn`+8A`!gZ=O4h+@=sZNZ{mLCs?h@r5s)yD?72q%p zI85*FEY|xwa@f`C#k{uod*tH~&eF5+_LsZ^?0pX2C9K_CZcv zM*0&-OE$vd^L~o5(MZ661fY_OFZijeNNR@K+xTI}pu zq~uZD2<+LWKexf$l-w`&wUC@g65`&17A+HCZUNHzN-kg%&!k>sE?>fn_!oJ=I zsFius-A0XdmN8`U#{!ce6s|8hrtUg z!JjgC-%4=(41i(Tt;Z@(S==;^+jGpgZ8>hQG2<3;+&*P-(kO%h1v?|3p~=|{?7mB} z={VRO?mR|^Ez~(xaXe;5g`5$~3sSkQOgWxT8igt&+_}u|nA-A{wP4(l9Cyf=aYc?hX3V&AIqtYI06Y~1uaUmls?;)X`^#jL#1gNcawWM+lw%wu}_PM zQYXHx&N7S6^kv2o3nXHGvRSgaQ?u)Z3K`cXA=CZI&?JqY0Gg ztzd})5>|Hj1xCxYrFk^U^aU!@hF$bwyzqMV{skszgC!4PSYh`%J#=Kr9LDh4qKDUJ z9$sI=xb`X!uZVHU2+w)1h4|@jWGjD=;$?fUBhLytM;6a=N(opJqXbapdP5Z>h?`v$ z&R6RO5cc>r@1??h1155zab{^iJyuy&?9P#{_X^N;;IGO6I8GY?$0?Gf8n9FWj@N+W z72pI7I6(nU)PNHeV3`IiQ-G5+;3NfDt^vyx;A9OrSpimPzzPNMG{94Ul^U>80Z!3? zQxu?}0R;spYCur|R%yU01z4>Cs}4LDT+PSb$X6yS6XI9&n0paEY{fHfMhMgayj zU{C?pYQS0r7}9_t1sK+VVFfrt1I|!@bsDfv0nXHbGZo-04LC~y&enjl72q5VI7b1_ z)qryq;5-dDPXW$X?gcvH0tL8G11?l{oynj1Uc-C&Z=$c%8HHA~+P7dagO9fL-P288 zT3caqlP%7{Xmlw8mx|IkD6^2!ZQd+?1r*-bg9KkvcAnsL2YGFGw%XQ$ct6nnlmHqOq3hvE7#&a9KSvgf!^SA{V_Yu2d0JX ze%Vw9a{Prxw!()lf>?@g!@C|{bLe7-b0c{!L3r>Y9`dAFdU2(lx}GD?Wys&q<$omx zOJwq|9PI|YzlZpf^#Hl8q|cZ?D)N$$w#!kDA%5R$Srn6Wd-V@VKtq>;m+gKNG9>MM zCArg`>=hre5W}hvMn*tgF)AKUp-$bXC2T zst@OuF+P0 z0P-;oytch2QX4Y8i!dHy2`=qj>>D)s`KkJ7Zn_L4qe6S+Sc_`#-X~u&O6f+E(SUI? z=QnDIB@QugKp+_t+Ed9PMjYsGU}y&iHqPrzZH+Vfa?Ty>?fmDI-Q9-4@dK=P#B*+4 z-2D*Vgp909u)!k8{iUDeM_5XUCuiqF5j5! z!~MKy#}__*x4tiL!i(6xZE!Lo?;w0)pSShg)@a8o-QSwjS0yy4?*SZ7jWWv1%X+u% zyD+5F09in$zvz1kQU9?m^U99CiOOr(c8eeK_UJ%aP{H(Dvu| zy~SKM9@=+#-^J`jY~L-Q+MB69cjNkRBF*TJj{ADw3x)>uoeGqhjI#LIbFb?AjnHZI zVK1n+nxl^X{s&La-67g>z`0lb6kI;++x51-pK>_?>N^;ye+hHK@5F!GH(O|`zAqx` z5sq4U$6jxP`j?TOr}~zLG^p7X)+I2`4E&6HEw|3HI(7wY%``qP{6BXt}r%Uu!o zt{5|JH^e5WYVF!qGrDcN9Vf z2sqf~^#kG92@nnj!Y&gaECs@p2@sA2LTI9LE&;}$jImqNFd~0tRFHdXAmnvi{>r#O z`S<4XPk^up3r5F}QGe$kV(}Oe2O(mvpU0~aobCs&LNGl#HE*TA95TP~(WXu1yM{YW zl4p@#M(Zl8_GOs>X~h-^}GhTo|mvigpF06Sg6IkS2s=y zEasUUPlm2zM;S}60VQOXZSO48UzbT49oy)&rZDDa##wArNE6#Pn-*p#G@B%2xxK!Y z4Nqh`mTR*)({UNk%ae|*)g28(EzxxTprW7`&rdidP zWRclE%#Me@Vl@78X-kFq`NFdy`?pK7PnSynlZi{Ot7sotMXPS7=!6~d&Ox%D!K7;~ zY@1UoBsegwP>3Spor?(0*xyQZdsD@+6eXYSje#pl^@a)8IXs`|dO!>EPT+b#era~w zWm9cV&z+#`E{X``x$dY?h?7>5zbweoDjBm&7i3vr~To?X*=~+ zlsmlpJnTJSzY{r{DfK1 z^*P-*{p!;CD9+)XhkFpWVn$zQcq5oVqzX@HW+K>t@8U?kKIg0E1hmJfnCJmG1)ijaHw^3kzOuv6*%>-0|UVhTpKu zR|&h6bXGJ-cfMMSO1ZbA_uy#=<<&8k4F1@ZMta3Em9U2H;02{{9yhm|QtppTxn33G zx0o;Fb)F8+0$*3N-6@9p0A8nKdkAD3^rC{#rNrPg$Tg)K$Vk4Jb*tL5ZnyAxAp9-K zLr6f%y$c*wD9xdS!%5HoDn@v&V~1Cp>aCWOE#P*D&F+1chdEdI)_iSB_s0b2#3$R;pvE~q?In2hDm%V>Q33o z{)SFQ=3opJlq02oe5ZaToXZpFv%wxs*rh>B`>R)OQ0apRhNPI zZlu04z^7wN`KWSHhsj}qEFVqAyjFwH0@lY>_&j0Za- zYm(mQLw>#_L(Bcy77GCXZfEycEM- zzGU7Z2oGUVub*0-`wo8sNu;IRA-yWeC0P|{AWs+*RJF`uU3FcJ`!R7#R?oYd(b3|Q z)!f>-Z8a}Auf!%~0-!Nd# zzud&-ZKI2HOxPrKku|gJrgfw>5@Nd%ca_$&-Nlsz>yam^mbZaQ>D5ww#Cm^VsJGr? zamTxY;Pdfnw&PuALy4u??D!E|7_yzn*XcTQ!tt&L3O*@?@5QIxpFp?OJKn7}&Z;@y zo#Zx*m{dy%LjIBs>-szNH$r-fg<0izSKD|=E-F3TE_g4Gu?MBK5OjOQQg&sOuio%cNS)i(pxVz^us6}S8o0P(M?yltrf0@XDZyOfw2DZ z=OrfF>7%kXny%eWKLlFn*QEUPD{QBGgtMLuC7Ktc{C=@W6zc`PT<>oR^4;qfmCe|8 z2{u=zZFtQjm2?fouG@ek373H(KCia!Nd&*;2cJUl2Y&Er1n>5P&mj1iAN)OnFZ;n~ z5&XyxK8N6lAABA`yITieK(NjazKCFlAN&J?IMOGBe?)MOANvxlx(~?i{4EM?h5Lto z#~$}SjF(fyFfwNKXAW|IZSpIP!_P9ny&pktSdh_mN=CvIYafIa`2a=F`!ecK3<9t{ zuUVMGkWqi8Q*v8H07$7{to=2J9t7}6qClwoVCiNO-Fp+>(?P;M0z4xLAMy#O6Cpy~ zZPJwqOD1juRqTks9h_A50Nf<~rODqdG2LIG_omdhSbC^`%;vl7i^ST8HS2j7usMcs zrm1_FB8Q*j?97+hSq{kaGCz;_`JwzHklAk5-iUu8NHHIf7bV4`KE+mI@KH(8qEn-J zJ#*=d$hf>n(QIqcFlx2`AmWngk{pNeAru0pV!50cL~WXjF3)ri#GTZfSxzR}ofTpb z2$|Rtr=L;rvJUaWq4k4^Jt}^dWw*__-)@`LD!+juNrutT+w6g_EMYo7Z!sB-Jf-El zjI@w3A2zjQw;g{$PUhzFn4MXI&p58>Ns9E)6M&`rYeT&c5RTc@uQIR~RqY?8V1DBZ zW*aexK<1e4yq(E)rR_{-&lG&02TX?1hKW(G7N7nJLR2nh9V<*N_-;6*OCe~ zaVVie%^a#q+1*>)nb@pZDW^NFQ&L_o=0fG>Wp4)amTt+WcKDg@1a+G6-IdJ4i<%FQ*{Rvvgu{#MfrDfoIuoM# z5?nAI;vB_u4HE890T%T;{a^l;didh6!XA26orSRdZ+6S##d0l@ia)DvTJ*P8eED0H zPI}-VyLlFQQr$0w7j;%qAgUNCTOiDDPnUS5X3tX6k>OxDW4fHS6j4g%Xa_Nf`owd6 z{3Y;~;nx7ZH0-)z{@yh|P7kS+aCr~y_DSbp>G9R1R z@HPGH>$N6c0gSo7rNpP<9pD(gK9O>tr0|BXYb>voB32p4d0!w=!(wccy{&V<@djAh5hPSishBJ2_!5Lw~K|4$N96vv&&pwJ$wUMNAb~ zRNRXF)9CMp6*^Xdl! zYkWudip3{vVAUo~92`$;;7i~DC69|gm560r;v^-C2j=uoM2 zOjM$QcnB9SqhhByrMLS!Nu4?|IZ4VEDBEODE+pb;dy zo$c9O8qW&ny;HTpc&u1I5p2|muEc?ud++g7bih8XuDvgCvf;9w3*9Mg8c$xg8{u$E z=5}gvExtsfW!cgHdF?gn@b!X>6l>#Akaxn^s8QeFcqH2#viKzu#zTjI!sS44Wo+Om zZTnNY#J!XWJ9rx0aynj);J4~r(qTP*m`9qY&xeqDQnyP>Ej15QOJK|bS+15UTY~$&Q(^*gHT+HW@Jd$S9SVkY4V~_5yvt>EG2iT(r@W4k?)%LV13yYk5 zF+30{x{XqEUR^&$j80@BpLh!CA_@7gqLf3 zLO7Scg!drfL6X%e&4;6`O1iE5x)aT4E;lZLRse)nQ$;~J&X4B%H=&D6A37KfVHHEF zp47;p^fTtZnSO^3qo3+drH#r~-g$kPxU^61sG$pebsR}h~jUHvfx|bBq8eJ9ntX5n7zb(rzUZ*T3w*&f}Sq_ipey4iYuFJGS zm&uY2r!qd>4E~O9@6a#lvza$L_n4!{L@{OHc9^5bMkBOpjt;gwmzcaGuz2A&c^hCW z_i9b0`jHl$19m|thO%ZCC^xcgtrVV#AJ0>vIeG$zE)&#!Tb@31^u#Fjv&^{R&PdBI zbNU<1@~(pZWWIs!U_18T9O`kM>D3@u;rPs>kY{{k9 zKS|{hrsPsP=kaHz$feLhuLu$Ipvu2(=+9|>8qYrODr$m1k}E?w8-c@@ z82zppJdg8KNd|KUbX z-N8=)rW9*))&91u=IA8`n{~`tn^uWdAD^PlhQ&N<)6uX)4e4($oC8R6#)9^B^+Rae z*P%0aCprPsSvL`#p3y%=ys^pe=0Amd#J{L}#NGKG5x>o=7bt$(6~HF!fkt*?1pL-J z+%fkhT+f}10ZpElBaf#2Y0zHBv!OL|3N{AA_-&&NfY3gb5%9~jPs1X5x}tqX!B-8P#Y_4~h|e&7 zn|JCQkGW?@i~ChW?-ax)BjUIDcnfhThPY7>H!E zdxvO>b2oEiPB(|2OQ?JO=M><14R~GwUeJIS6yQbm{WHF&>vtK$*u($?<7^07X9igt zw=d^n?)GhdpJ=j)*myw7=4V@@2su^) zlgzy1Ms;gr8Tr69#5jfekVR!Iq;qM!c4(mJy;Ss^mrIYiHi~~fsuek?okcX(m;2Ay ziAw*fAtxg@vk{efLM1cix}frYP(fB}L38guT}M(8TLy^`6^A!WrKr;0xGHo=R1Z1S z?Z2Rz#*>GlfP^EDc4}#gk5AA$1z8 zZ97$W{DQrsF2JFWnUFM7sKLh(Imt9!Lh`)eVsid6XDhk39^?3TvB;;f!h{C#6!bQy zf=iL(!%fR>-bf|qpWu^#J)l)#3|)r2eG265p-;p88MvL1ZTMvEk;_eOr_MsX7@y-Z ze~R;+2tSK_FUTkCEw@p%jFs>!=1ZoU!yut7&EF0dp*7W*!$<`hY_1RjhMZZudeV&`nDjf-t#s&{~t9+yxe8E(zP6^C6yo*e};icZeSaY{e zAJ64`9O||5EGglnCY#?5c1H=cqADBNh91jbs+9E-z1>%$|GMERU4c6EM#a?>E>?H|_(d z<`&9Twq`x>ok9Og!Gav^R-5(yHk;J8%&fdEYi`kDBGJ@z7iyJ<&8Z6~ipB<7n8S{&;+#}+Np<=`43f>^;~Af_oGxK==p zXNT?$JBQ(LdQ1IgN}{bnRdf zIVB5as+i+ZRm3CJ^Ef%BvEa5)Y`%wSblE`_U+OCJ(fSTW?Uo|&`bTwVTn%2Zb%#UctHi=yXA!_pxM3Wu8i9oqEn-!<^jtb zx(jVw#^|^7=oc9y{ADtF{F}^E4KjZl>8(z=Q&%6<8Jo`j|9s{2Mb?=glmA+rr<7LN zu;Oc4pQtp(z{qyl<$eP2wYgnhjZ3}3v|UNf&(cr-9wuKPcQ2S>WojkU=lkkpsn1DP zk_#xBI&k?zchxG`wd2g34GeVHQXg$M1*wv94qcOTR^tlFIdnlycAvGW6JzVWsn_=u z_2Qhnss;Ewb#~`a%(a{QO$u}lJ#AH)d0xoyUB~6yaP)syz`}o5q!V^kqz%qtRHhA5 zsKfqG3w3l0aHZQQI)}|vom>^{u+xq%>vQ23EW@}SWgD9W4a#p=yfhUs<9GP{4863W z;L^WWD)^;B63V5aJ_u@~@f~;!LYdwtz^+t!dvo-AP;WrLr}fSnz&jGp0&&__`}ijP zUh#DdT$G3clL{s6DWrLhS6&UBhD5hi=pb^n-cI^$^zTzHbO5uqkbir1((|dNGL^+r zvpHuCK&uA}Sz=hS^Xy!<;0XP`@8voc!>UZqIj!If_;9twrYy||q+eyIcUDxorSo5V z?KKo_>4D-nXz5aNP}}&GX?sJelN?j~H{{ZV&U~k61YMO+=iHf3{pr;c&v@S}XYSb- z^YqWkc{4uq#mb}&drs1>exJzhIcC;UrJ7f+*|1#_K$e+kcICT7v#3YJ;b`=a8Q?Vfz$;A03zLa;_JmTi4){;smKyo#D zBBe9GlX_k7C7P4YLno>=v^UrXjG5`c_&9_YEE~I7!#1t8K0rQ=x1`NG;}YLxsO*6bbH3Cq=x2WB8(yr z;0<$o0_E`u4BUKM>XAG7c)_6=E)5nKBL~3ZeLwY2yjF^(apdYFJsHH^VN>&ENy(nJ|ae z7^qCW2neashp@sDi`qlHX}rc}r>_PA&tf=HecIiOxUSrlERWXGbaQY|z1M6W59gP` z3$;ZRTj_Bcr+kA4`NQW zxn5-j0Q&*37XeCM<#Yf}2H;o%I1U7kXeRe*@^V-Atf^Git{Ys%hq-p&O=ZPv?CD6p zhrW&?ZvS#5>j47>1UOx9@g^(4qZ*?}0rt=sQxxDQ8e^&gyiH?FQ-JSljOhw+s>Y}! z6=b_csiYL-v|O3bH=JnW-QVn^2jhAgd#s-4rBZF)DKuBvR{NnX4cX zOHm0F=heMj`xg970hebSQ)$jYH7wQ^_iX$HpP(I;?am zgn8o-bTw4E6vF&*2)dCfx!3O^mAndnU>t$Dg0LAUH^nh`0eObLfup@|q7(MU&YEDc z?^b@_A#$7F-c#$Af_{xDa;Y`)Et4hrM!s#zRl_)33So?^%wc??gBxE9Mn7Qp64B(8 zE$pF~bE@Yn#Eg7lz(eDO2SEh?%JGyQ-HFl^gYVV_FRSounC*xV?Ql0BjZf{nvD6+n zCqQ^2hOhz@UL2pD?@gGU*~A{kVKWSME@rY_j@$VB5(HB2>_%pe;0E(>I^Q((S*K}q z)A#l^TuP_{Y+b{t{D7C}ADVd6Sv}DTek3_np+81WOVuB$5~Q2k_tb|} z3bm~A%=nV=sYqs0R4?gf-y$7JA&1j|^6d!WvIxPJ%&8WL5uH9!Tg0on0)#c=3-A*& z-ec0uS9i+F%=WCj`o>wAW$^K=wecSE+2K!-iBze2fjRsnIU9NNTzvT$zX&@fsW}pY z!)xTOF}pdqm*)Dn-yR8j;g}+3AB8ft34x8dW@Axe{crF4oKI{ZtsWifMar|$i5O2CQAxW}CrDgxm$|0>R1Rn%Ze} z8o@6p(NgeB`mLp#hY(eDg09BIB8q*7+ykw^(UBX8nczSKqoCHUsB{m33NB}U#T};l z-_gj&X_SSA2`W3pHL9YO`+bFkW3CgZ48bXO^u7zSa(A}UDEIc5qfcSvK5dGO&9Akm z9+6Ss&P4DV`m9d5GhbV_*IzdUkJT2WB4?Gj@Of5gLlxFoElx5x!#2dY>*;W;vl>Z7 z3MXvqB8+{_QS^q@GrHy)#)jjn$C%<;!{9+xR^b;eB#!tl%0J8%9|W~AhPvcxzvBwN zg2#7Bdu-Bt-p;$h+i`^M4&!-6M^Z@vVb48T4i61hn37NA6H>q2(gRt*Y?t3|xcpk8 z6#Uj?jrG8Sm38_MBf@pa&zAw8U-Bi>3_&ZW`H_h4aeMH|@PrW;bhi65`GnssS;2)s z-rIFnJZT)F`0F@@zQRsfsV$u-A8oPbb+-Fk`LI1JSW9uwn=f1(+Jtr$&}s2swuv=1 zX~E8If}^6CY*q*TLv3Phao#L#2!4k?vm|dy@lTWTpC%Pho2B9LYN=&-vhaAa$mmKk zrII?5r44^9_xC!o7XV)Y$#JsbsD7+_-bZ}njrpCOTXRv z4*x#Fzx+b#58PVv;%GzgM>GYo#`(lL+!g)Zss$&%T7HMZNzouyh zRhky+H0QaM)S#rYs=tE?theRGoGsb~rgR!(r6aT*Ps?@)rKwP|(a1C8zV9i`m-E$f zY2QcTF7e$nmEuqVSCY%N0nX(R?Ujo^%z(=o@L3#l44dJ86i|{VLz5}RsB~+~RYj@L zca(Ak^AAx8Nzs;?v^VE;SM|>`n_n1EYu}8`loAno7IR-IYiI3uq6BT-U6s7k++}Go z9v&Fqc2`f_cJo_pcWS)tj*Yk7p{5fI!LeVwuGPfG)3Q_vS~@~Cy#Hp zV535C^eC9P%^quOvxB2HyJCEsZ5iKYqdT{mD%Gj678{IO?C`c0TOMn%h2vYyfn6!; zuoI;)uHYT!#Dzs!wcTf@yvnT9rm5@>8!`~`t{|tf zwvI4vY}>F=ZQMIPzhx`0@N#zWf}T;M+*^6e3tq$;W78^%$=MtFbKAV@@C)htlxb)UeVs@UW3*`%mq1zyI;LtSncXRy+^!nCFg(#}O7 z(*!boFsUIlQC3zFsFEJ+G=slmbFM==1}jStl10cr;vrosB!`fHMj_-uH=eQivQHZu zPFT+u(x}lab_GHHg@*dKDGxp* zqx{&{X{1y%Dh%QMuf|JL6~^!^bv}*v6qmR9^3qmcw(Cji#0MvE^Fxk963i(aN*^{? z+P$l;{idjEqhI5G^UJbkq84WwUt3?r9^tt4DR;&l#1$Twc0G2iAqHf|&08rbsr z6eVX*?$0J^m*@JE#}YNWTuYQ1-Y6K;nuF(NcENF{o>FjYZq6+a7SL!p_tJSU+c|fY z!=Cc$OIH)o*6GqK1Fh4g|CsS}r+CO1LS8n9|0CmyzjFE_f?JT{#sLHHa7r|0MzUMg zq1Wj5oGVr2d^~bkZAG(SEGt#LQQ?*33!zFmy9wq)z*}%(6^vMRg&OQcvR-HdnS_n| zc%6`CiHxM!P~&}sP+GDRC0^W6LYidT0*MPuU4wx0@KdfvWoDVQ@ug^>6bn#_zE~-2 zP+G zD(AixQH6oUo$?!}IVIkjDIh~W3$kioVIGC!tx<&cz_X3od>8f^Q)%_Un%2P#dHD>9 z+#Qyxg`q6Du0|qC*W)8QD(uHa+-&< z=V4Fz2K{U}%tDKn=Ztn+c$PPreusK2HXKI3!9tvaPKgzb-P282S!{K%tmNkXF4dBZZI2W5;^mG$VLO6DBFRN*dFDoXNIXjWVFxTTgnhmPg?o=DQ#cE^Y zLwsb)9eK^TirC%Yv*ruT;pvtfqvG3sj5<9Y(UY&Dt@p;XA2q&;_XuoC4nIQ`3#)OZ zJDg$h4fg;oUWVsy>qxRxe8Em`f4jZ|DTgyru07G^_SVL9mhyXrDUcVP#a#{|!6Hn2 zd$FECXr*IPSdQ{8?DVDT)0)Y}(R&3mCVqtrZ2C*j6K$G~qQnuvdWfj1djm=142=TM@VfS9jZ$Ix7h zD*zS%DfhKEQJ(gI)5W9xD!JCGZ+~4m>bp_S#kmFdUmlDFrdZzd8cwusp};bs-M%A} zbLw7BO=USdY@l%mlB2zPJkR6tJRfbnfGZav!D6Tg%;oI7H#P}W@q8Y1?Ur7xGmTYW z=fh-U|Jal1CFqe{hc3&geO<}H-nKXrp=XiS#*F6I7e}&p(Nki<69eVJRoDuf!56We zf~v|Co}<0T@Vz8dEMnWf(2BnU9#<1Xdy*ICRZ=^a73}6KQF7cQt!Ro)t8utqgR%qt zi9>r4;2e3*77mbm*}1Rbd4HAT$NUMC3ZBV9aZ#GkQeMPz8mI_|2$IZ!OkzfxnQBH~W zrd>I&4B0BrmA4$f%(?Ya^VKEo8fo`MV>+%#PxC(fG|Kq5Adj<*1?5q+lr=v0sI~=E zZJc+iySyDP!=#+EvB^mmY~l%s>z|H?Pqydh?5m5LFQR$w+f;r&aJUEp2b=e&48*(#w0jRE@6Za&6qOY8kGy4AAGQl(VieM==5r<%$*E)UZMNf4=lY*Tr ze^#kAem1VwxD|I+Til$)EwJ7N9JA}#e{73AMPhINqrP;Th=wzY@)DOiA&tmJ?p9;U z4TiGG_n0y5kJ_D0Osk1~=d(;=u$WlYs>~uM@>b>IvAio0H@?GjCAJZ$tjVr)@{Dh7 zT|dvU{EN|RM9Gl!@f{`6n{%OQ7>}^sKQ!_Z3|CP~3u75p*3LS?UFuXXL(LB!bl@;( zk*W7(y(8*A{cK(D&dX-Ktm~2|xP`D+S|xIp*cN-r6erkOH#6`p7+#WhR2|8zO}V4r ziKjdI>*oMO@91uZ?5h3*s*3L=JfR4G|W0NzW!?$-Z zIb#oeSJzHzE?;V#U9bo4q44GkapOXud6>8%+}S)*+?T*TC~m0iY@W#O+DP+Macpch z#qsv$W^t_JT=zLyr`&&3vNE?nn{~Q-lg+IXd_a;~NP#XD(EL_KO_hq88dX#huBn)I zw+XUUWbMB=+Rxbx4BpJ0$#)mL-FH{#92jj+OdU*XSHW%3_vQsz*9&g4`8lOiPZKof zO$`ns5?OAZn<*$uQ{74n-kj^@+|^MtDKDCeCL!7hG*Tw5`)Kr9n%i-z4%83dSjJSG zF4WI0=!@ruOY60|1=1{et!^Qw9Id_wy~;kzB|eHiX$80OGTyK&UAP8CD!~-0t#mO% zGnMT+MOp>!u<<+y=kpzLjq*vwZ%r{KFVy-7OO|&X%BFGZNtk30)^EAkL3`RavGh#>f(ACXMR1>7-C83EGE0KV zd)_`n>*WGW;%;5v@0(URcnD``3^64*MTv7<*S5sTVA9a8EId?Ku`+4|>TS6TN=`+k@R}xR@zLV!C`?3Fgk%M$~1Z zR6Qky@fDkOiZhC(UW_UtRBLtGo?z<WdrV_r`hHjK53gJr>0W3gs#bWorHpyL z)na3wy#1WWm}g{jV6xHEFMVX4$>h{AQ?NG}g?+Fu{i)e{(++ve_**zkuIBawH86O^ z*6K2&v-!ut56q5O74_WBl81M!VCGx4)ftSuH-Wm&yPh5hvJVV-Ju9HYxbYuqs>+O4aWn50_5_AJ;RN!9IgW=Bai z$Zz8fQmXn3O1R;QymlWxb39*lNH^yxU!N!6sb=aDpaZ|M2O=Cyc0=9d|^#he>W zGsl24U=Hh8wS!aB$RK(9o-E1P-yW^FJv&E@O+Fm!SCh2d7|QYkyuDn_JVBZ=iK8SK zrlD?s9EM--RDsotUWw(VHsO>kzmpmfo3 zkp6I)@w@aYh-550*{q~CEX1@>IhDTMRddEOmSK={a#cy}EHrz_`S}YHa84oT z^8GvEoJvl<7g=adBd77}zd7Wb4(DUrmTp*RRg%?8s!EAH^R9!DJ%Xg+?Yid2&xkhz z@8_F`cPH7~0q^p2x?Wks-YmSEzkT)SMHalB@ETtaU%p^Bc)Qs9krUo?&?yP>=Gc4c zb$8wKbO(9!?0x3L_HN(#2zd+DO0jyRSxL@!P29XtaZ{@+CzInVoks8khK*@eI}^&u zB3O^hi6cJ2J~-onnWg^{e`XtgAraw=lkq3Xr3ya5$>5AmN+?|@c>DNMz60t<%LLuL z+r{sok}KJLxpv*Y_Zpg&SEt?6yoHYIjhRaK@fRrU$rg>eW$~t)k83Rc?Hy6?YUf(= zt(bDSur9#{X|0woSjPu;n;=Qt=rT7!oQES8HcbDo7Zo?C?hiY>TMH4qW zIhu?yY{^*{>(=$@e1b+_a0(_NemP2HWYlvi~Wqwm)xy{Euo z(6RbnJopXn_o@@ay{dl4%KN6u55x;J3%YrD~tNl;uadD*rQ7 zpP+g1PnZ|2x@(ntleMH9Jcmx?R)zY;p4 zoSG;48E89uRa@X5EFf&cqF1V=tAW)muP~LguvrzQ4m9sFzRW*}VG$zon^OBt)5;sc zUu`ANYC#7W^xNlRJ6WrFs!rV!MZUfz56DZ+ZS8Y~K7nPdZk5+ANjYWF&XNWj`eCRJ zy=L(-y`bfjj8?E|vq^|aLX1wie#VDcJLUV;R=y9?>uWsUe{JQvw>{sp_L(T(w2l3{ zt#xY1-h$KGRXKths5zWD@kA65|9v`s%+e36-NcZ?JI4`&Fqw~_@Ms(uyqr|_r>%`NRSK7AH_R8B< zR(IlZct$O*tWHco=9afpUVh1WN$neTYbY~Hxjpk??raaYr?;cF)Scd2b1PlF+1h+_ zBb27GZpo^-5h~SKCnLFEfxF2wVN11Zwb@OSnY`FxdHJmI#pv~r@y^;($+*R5?o~swZWUqXC6(T>Pp0{e zeRn=y_lGv&9J$%KY=WcrR+%E(@P@I-=vrY+JB#lLY(8`T<$s&UuG%z}M;qoqb@f_y zF?=^4^1lD|bD{RYu#NN-kCis+J+;L`J#F#nB21&GMMu)f_~Cmk?8{13#_%m(;4s0K z^#1zPiD@sW9ieD@qTm(!oM4qSRd?)&;DkvIk4y6CC`sJSy+-LhjrHeT%+fUFr?3q= zke@SHK_>EqBiK5QVon&{uYHoAg-QN>Jjo*@I0#3-=b_ODAk68(2qi33uON82KkNFz zn}G2Fg4WLBbUXa;gFGG9meVqI0iW+B!wZq|RFc^D4*_*H&c94v5D0|kY5sGWvR+&F zH5$cd?)2UrnVens$SX{55=Olh>$+q;8@*{WwkUSSFEHNnBe{n&jiZe#UuoItqZ!Ef zb<{4@BBrk5lpFlsmSx9fovLXsT8BKIMQQzob}Ug`X0aByj^tLrlBI2;hU_D%k;?q! z;b6J=Lw|rZnBVXk5FEnyv*|eyl?SusR)a$s5&1*^`7Q8TcX3wWau;GQE$!7!ujSjytr%{!M12fjcN6WX60{XAS`FfjgO3B4Bsv#M z=sPjiAre=j?Br}axCC(GkL}EDS}}P#||!K42Lj2DdW5e4A*L;aL#iX%9G5| z3Ko8foE!hB^%mRO?isbSkIKsn7gk?jmh!@S1-s+C)l|N+k~>!3)#cS3o~hYpx=8E! zP|ne7tZ7ia8GqpO4C3GWO?@RnJG^e6Hh7*-`#Zl@!l6d3%Pp@?!7iWY34_PnyxO;Y zGjEMe!aM0?6>kh6@A60NN!6TD>FR&0#eI`z3ry;x`?rtS-7sQ5%_9~e!CTQ(N6-(9 zOQDli_AYw7==jC(GhBh9rdU#_>>X}HKUj%wbeYLoq0|8(-;54juI7?7`oWP=AB8N} zv*5idGuGA*u`69c2l89%w_J`ldO&+NcSklq%h^Ooa1;z$njTL`7H>gjcO@DR^Ii!S zL;uA6IG&p;kee&{6iD`Ib6WecNpg29Na5$Kw)M2G*Dw16E?0ERFL{)Fx-Ovy z_j#;iRp?uD?U6S@GnzGWFp{Y(46n0TooWqRNpV~nD66x8|U*5}_Ngx>jN02uTX0!iEp2&-KO5NYUv(B% zrY$%Lsj4Fy^5TG`I(h?+NO3k&%_l^R-rF*tz2?{?C<5?VWmq+@UM?kBaTyglQg{{I zh(V7FnnO)iYWZex``gT6c+s{cYTKJEyeWP2ILOJ>6Rk~WutF*vzFY%mP{b^Fr9`** zSC;L(#JBjDL9{J7)U?VM&EoTY`>J3vqOLKm?g%uy>?rVArZu?@Ji9xqqnvMAJv)cZ zo}AT@k2IUN1$xU!tpClH=E;}pvy?VHATswh+7&DZyCnoRPQmgDbLcWd$-xYbM(0nW zzY~8}sdD@kR=Kk23ai_!WKOAct_^-f)qjOG*_|-xM=)D_#(?n=hi@-(rc* z;akzs?UCEiIBmBN?l6J~GF0wrTS{FBoKjI6}Fz4MpHc zo7QFH&pdAUiA+{Myt&Jg!$)~mgT-z?uiT$M2#yu~m&KRG?{ zU<)n@zQc}M- zIdwX*;v^-cJ6+pT=WcC(M-+qVYMM8>zeU1TSmG;-j&#Y`vS|>qlM|fjCX8qD_g;$y z3+3I_g0yNBiw{lSrNMbq9}LDq(LYC`zV8m*2hPlb4XOi{YlBm4q3W%X*Rls`pQ1bd z^jHY3zR>`wPZPsqZr`)De0=28eQa}FYu=ws%e7Wh-JT|;2=7U+3|oygDI|S527ouDO^i- zS9_|{tCg;5^Mt6Ah-@P)CBB0FYa>w|dX#r-Rmt|z))$qt{OpdDp`vx44n0kEEts?#|9K6ZRkao6l9`Yfx?JVYeo z$!8AC7w%)^4(DPR&|tClT%!m#mHtQ+`VUn4BUzpRzx7$BIK<2@%&CfANCu7^Wr{`d zqm*cx{;tyXxJm(z)_|iG;1~@!Mgfl1fMfMpy!71<3%|I*#bMwKv1opP3psHZffk1g z(QY^RphrJ%aoDKt0R~tBaUTfxN^u_q_fgUVhF9w}*`XD*_XNiPcW67+>Byj|Y!lF& zVEmP3IRFZOK!JSg*OyU{9};Aa%-Jps1f|mXMDxST)ftRDVB5;GV3YXZvz6Q0vIziN zK%~Fg8GZn~Gbcu|>3uy}f8G7K8JF>LND!qccY#DblA~+Tc(#IALedapOSI8=)3gZ;hNFQYORr7Ugt6dll18UM(AWqC!5A zL&KkQ?b*eZG>OU7@Q(P@Un|%F*sx|ubs-3 zf#2qTChTjcMt$uRMm;6!YvSeuJ2%`M18f9fQw%Tyz-SEcE&$#g0}KOju4;-?;~iMS zzr?ufT5bzkCf(})XoPRY5a8}i1Xm>Zbqcwz#DZej0S|h|#@KM|&(54Q{L9DHKZKv9>JS9YeiavT%1>7QP)r__k!>b5RyPpAcP> zI~VPqShRbD?mcaEzY|0Fj%tdC?o|oVIl435TVl~}5xTdu(fvvc;VVM75Yc71kXvGO z-zCw)tD{)rY!CfnEA)%4&?rwg$CA8R@^o`sp1vGI__E|_|0qufAWt_>RMvZA(e4$x z_qNe}B!=*a(EVaW_iE6+cOtsi$D&;?bgyrtdw&e!exdtBG)(wh`1*1bj_q8SbXbj;| zN%)#5VWoJ6{OGZ8!W#lqs zl$|gF6C=JQMtqA9-x800 zQ7bw-!7aw3Z;eIYD$((&encVI;m2AS%A-(p3Lk2vz|P=9@z4*qLfIMM7jHu){cB_C zv%8YP6VX@>uZdw?BgtPAPvF8<0_+U%TRl;QUeF4Kv-+6k45$dg8Q9I4`?Z*a(@Z|_ zJ>6t0MrY8c`mn{i{N$u`<6Thdb8pg!8+T=PEqW}dW$hpr|0?+USaj$C#4fI@*-wea zbOf5iNZF+g7$-f9ltYi$)9O8K@sWJJBbJS>1TiC=f&T%ILhMtp8Yh%+tkI6+wBvZ~ zI6*s3)Q+{URXa}8j?=Z{3^<6Jdz-1aId<$zA*)cu(?+h=esJjK zbn#P!^*RDO)EyDk;on>Qyg8Y%$%hMy;HNAmH$vUP9^Jszb`|~Rjqn#1PXzAB7ft<6 z!N&cV@elC3zogKXmfqBCw>$h5K#>~T^lYyzph$CVX11?Dkuutj*+~V8G`kk;**UvM zfRV=Cf-^hkOc!9Jp|#-7&bgBX80md2c(Zff6ahw>j|=|noIh27krLWMa&|5`O@NW& z*+Ob|E+xRtsE!sJd~&RZza1fveSmF=e=>h@CV?6yGk5}~T!(?cw!%ivWA@7Os_ST2L%KU+e@ zq#dQ1Zhq_a)AS@wx4KiB)UD1^-7CcR7&G`|f*Jg?WT1z-uO(Pk|KAv|n?50fbh@?a zGIFK8deRHu!O>~( z4>=1#dp9Y6|1rcSDkS6N$Tgo30aPpaJ)w>gD`{u^dfN9W`@cb@EH|yNNR^u!B}UZl zNb(Vks`7m*d1({~kRap*y^!oO)_|DyDIuF?+q(CF>d8$X$RH5o`wG zp=V&rm!UnQ@8VDJaZgVAhV^VTtoqNn8gQ-xjA+1!0*q?Fr~-q^;szfe^D|MkU_&W=-5v6XAYl35vgCMJ(!341FGyGU1jF*d$^vI1vtT^ zO8X;MnumnNtlP5|TXZ{z>&+iuZv)02CriDd9dAz>VV~ zghy)8g_SJ2un_mme`3)EgamJcaD~V^dEHB=;l4jO&%+aE%MAXEKEqUwYNxVii^@@& zO0XUm{Em{C@&+!V4CXu$n)1!yB^(46bN=?8mKq4wukf~ypur8#MIVEIu2866KIj`>J)RlzQ{3y*G zrM%1c9rbldbIko;M-{PExQ^Pvx^%U=$Deix6;A5%go|1N5UXwlUFX0m|j^4Mse6S9<8$M2+um@KKXHwyd8G#39p(c{` z1#WWq2!m#;?-NE6N>beVw4o(1L7EIMB$6Y8+*OvMtNeoHi5gjR_Lw)z)d1HIe}!a+ zX@h1jPQ$2;O2cqPj03W;Fe;aG*xG6MBhKXykjtDS*$pk7!vUz)l5BVP&kQc6c#HA2 z*mcL;r;+IMsH`){HSjscJl%yjvKzh)-(@;&6KT6Sw?3lMb|vkf#L{-hr(HWj#b&AT z1EM+vR*-P{m9IxlC=|V&OXH2FsIxQXU@%fg$4ji>HAlaxq1ZT_rxobQ`O_88}GqiU`>>RIQGsgH0-pQBojYL)XAtjjc zV^Yi(OEJ$$Dj8`gK7p&ejpl~f)6173(y`n2g&Lqu%;z8!k#pqzWWlXje!-P$lLTci zvKmIJ!wzc2#dsz@v`D^Rvm$8jXx+-yJhc$m9x z9&&(j_D(s2$-{!L@qICPcmk6cbN5B19)T85nluMI>Eg|E8l&UXp=HP=%@gj(Nrb(9 zYJ%4EU6wuk3nrf?Ce?HQmkDW!~zDH{D!$fZk(yRV!wTZ$GO?m7%o@ zr?SL7-Eq(4m?xYAvFxIfbHu*HLY}$&ZMiwVEjNv~c>Inw<8Q6+@3ZcaK4sGwT7O=# zSVImT)CRU5(n)IFZLY`?#r2SU$5ZK>#w6SibDhb%-INQH!M0o4R*me*6GLV=oX4rW z-G$uP(8HKwaoxTg@_QzAdt@OQ%K;@u3j>4eWeB*1j-KayOmW{NUvw$|fU^Aqy990m zZ+9urwAud_lA)5g;m674^uq9_9Uyxw-*AmI_YDw=JuIs!Vd`X1^P=ko!wSsUR*LvOw?o|la34#+|F9*Z&53yP$87}@KiX0jZ|O{-cvAhve$=q9R>$`lklF5 zT?cz|(*09b~u@%ns7r)|Evpsmb>E1`bZJQMKeYOy=P~2)<+h#mkOQt|R9)mU85O>c}};$DWmSvhh^2txbcNVGD% zPkvu)pKJy1lD!UuWW0cPxO0Z~W6@_%wzwx_Uz8kk_t%@;a0uhG;9{e@n;Qqlx3(F7 zFpfR(+0LpZw)c+TGD&<|ZiRqsAJhiQ$=O>QNt)J2kg;V@ z8Bp$@0waT^ZL&P@i?Jll_>3{F`Hcg#wmX&+$~mG?PYzaiy7FcFI_%0`)PY`aql4@3 zpg5lqD{fs|;>chjnt;kH>|1d{)=RVLyt8anUOai@J@rcgMFylOs=F-|4bHt^HZ}UD&>nG2NSwdBTJZ;YdQuFvwtsMf7-B#V)uQsrye7>3{LmvV;-p~{f^u<&PgbK%~pCPiA{Iv zyEV@_P#>T=CU3=p$=GZK-BFjNIlDf)`I^QfuN}iQW0OLx>fJBwyy8)4=gnXTV1-pXq6T015qCuXzRCVQf(FvjtH4{^u)5H z&q^)WNim9OcPsoiPE#A{=57>cC~b08PQj#SF$0heEgLeSD`@v>ldHo_+Tk>{`LECC z%|0LhcjaCF04|a_Eg7+s?`@#tP)x zVC4`Jyc>sB?@@X><*ez=M(JcNE4qhq)VY!TAI>^iuBnIolTgm!MQr?%*3i%S9h7Gc zU51HA<|EI5(z8;F&#>gFAoCf*422iMP1Q9O1-ys@;tYtTUTrb5t#}W+yLXmrdBJNS z#$1Tyx#4HAwFLjp90{%JKU~T z%S?tdHLGPg;YVFO0`vUEw}M~xhwmijfcYbG-vLJ9!@%>0Z-yIeO}XHa_a=C+m7rVT zzERw_!hN&2Z-e_*ao-O2)#APj?g!Z&5|_ybDmiibVKSkFcEkGx`%A$7s<`il`^)4W zz)hb8d)D)yZ#E@afn95iv|L)Ulh2Gz>V-ceS;}{eO{&4)A=%1j#SV5ZD_M*AIeSIP zLyYWK$B{u^y!uI&7bY>hpq{ThbPKKkxC*^6Mc_&OnS7@_XUuid63Re+^C*?;g=y{( z`7VCTG$q$nbIU{bg8@?&UhlNJTV&A!#35e6Q}KJD2&>Bu&cWBWgNr=yu;qfEb;`Y6 zr9#dk1|xS;_$jnL^#{M<<-8KOt1`nZn;A&vv9N{$3dp*p zBjrTDGGlFJM!!uX>ByW{=Wo{O7J%@eu&36I@qGZ!|74UlFQgeyhAm4ejzZ50ABEB8 zCGW|465Xuwv4q;u@bTC>?3Bmc12Ii?*y@h#GD>GM(m4p}$oo6FLTp}luu@7AW^E+V zn7WJLPFv-GC!tsl5>W>D#PAf#fJHf2p>q&^37x=^!@)Z3p9C4_f#E&aaIBLNSu~-r^KY|AikTy^xzHj)AQu9H*;3|dMypH-_I2jXbvT?LmIf-=z zmHKL?=LZ3mpkv33g4g_~j_CQEHZRgSb;+D;Or01(=qIaQ&|~vs8o7(U+(=(*%qS~; z4X|%Dh3cZ1vMR@M>S?dE3@4~o$>Y~Q8QWJmT>LRK92iZmky636)T5<>=ds=Q6KKTB zb1WK(tRp8`Iia^m44Bh!**3f@)lzFHLn=;VH=6Zn(7UTSwZL=uu-G<$}tQ72y5q`vLX+p!(_v7wQNXD!_--_rvPD zRee9Ez8}{S*m0RTe2EfCzz{WuFUHKn2jQ2nNWvv5+9#Cw$_N~0IoQ{g3*$>QId(M7 zV1IC*c||rQ1fh9C+b#dAX&6&^zbBG0-6Gp!1~}(pd8?&xQ|^U!e}k%%obHrEs?72TI?=$h zTt6+nJ_*jwVm8p{#WN$7-opI9O5c*p*_tJKp(3LFlTD9X+bl`PC~+>!soH`6O&`(S zNy=sh2fA!Ms-#P6y4=-O%k86b#Z2ye>9egws3xGWsnMl+U8fl=ahVwsT73Wa9jc~j z=>Nl82($#M^h}ssH+P-SkMc-FZd++_Cux*b4;WV^Gh4l2B7($pNIV*zpdB3w$#qfM zj2)MZY~jSWFq*uqwyp}N(>U5VNSPL0t!IGO;WAx>QGd89cbBR)U%s_e>x?k9bJM8I zMXB>m;YFM}e#45bbX;QExm8U|x8VCKO+UBrB*K1veK&G#3=r^9y7J72iU&SQAGuCZ zxlK=Ew<*Bw8gRP;+@S&N*kBG{kAkL6KD!;co^yG<3c4X4bOQ(7pn`6U2i?d)H>#kU z;z2iY&`m1nW)+0P-jSO*=w_9#J9WP9RDioQ;4ZUe=ls3Vdl?aoJL-^@VBD=d`>+;( zk~O=GHd|ad1Z<|E8Dx)gA9v-+R>eUX5_C0z9O4Azy9Vg?u^Mg?yE}`&SkAS9J8RD8Sb=;A?98 zajx2ad{u2fz8u?r&{*(|b+n+)itRt9@czSUNl%#P-WM&ggXZvktra#E^Od)y)$%q@ z?BW=6XSoY-9A0d7t1XbYtj_bF&;~A~&WLXv(uw%i!L1+e)!(ePNfTUCv{GngXrkny zV0+}tyn$+Iwv)Y=I*=WCh?l()G#xFi_wcfayN`N9zOwqwP+5rzn>Ts&t7El$$W-#B zu5m8a`^7B#`T&|_wYmLxW1MJ)8K^rJp|4iG`?=-skF8Hq{jx}Bi~k-kLsw8D!^kJ@R$O8R|CGQ0FP_H;|lPE20Wnv z-!Vlp7GJA3OCjHpnfjXw;d?s9_Y~m!8t{Du*scNF72pRN@B;<-p$7a=0e++b>{wxn zkOI`s41dF9)}lP}FfTQ_v$MK%|!NKDhGHS!zoz(IiSo}uY#1M}wkgnH4?#jxul_qhA21cl9hYXdrE^U$r4SfL>ecm4-dR-5_Vt)8EPZV84x`n{KsO zEv0L-%wg2G7tXUqV?Rq0i53#mSGwaEC8Typ^=&Vr{eP$1|97fG{9XfouK<6*_k45s zMU1wbV!-(ZX5>X4W-ltl=XK2I72pL8ctHXFr~!XefM+z|83p*W$)_XM$e(%e*Ym9_ zLSe_TPydrbepbhRRt7rsIY6dochvE@&!H_Kx3uIg>~%{luQT!-uV3GDS+8FySYWdW zz;Y{a;Dfv~W(m*DBRK^4%+MMq_F2C@RtAPsX*ks3PF~wbtEos1e>T`?2%&hNY|zOj^ytE%pFQ z(7VLm{ZIqB`wNHvh5I26%kAED^GU>hM5Ou= zLSsQ`6vY4`jLCO;^9PiNgt z89WI_qd z@GG)k>v_{P&ZB+m9E|;zVq2Tv{-lJ$@bdD%E7oB}5;zgP?$>O^y@R`V@yX*)-b6D=?Q z4o}EmCwH-6tD-I-gznz`1f{2cz+$ZtqA&j%BBt~s&5(E!sx<}zsbEWp7fjpoHeN!}5!RuKbjyTAYI=u9 zlRB~vy?AB};Y3R|AyK7UTXt6~Swa0hjZRHuKDMgsN5V$*Ux z;z)utMr+Nj@9r|g-I!`MzjSz;Y)vc^#f}~4di6Rf_Ro)43Zv{j%Hy4s)%G> zpg0+)Ua3uzw5Ie@kI2t#^$2K8Y5dmj*fF14t>_jlR+l8VUFMG6m{khpk88cPV0xr0NZ{| zB<(2aPyNKN-}f=~Y}FX)tJ^LTIMTIF(ym95meb)9#* z{N&f=JY{xFSJi&4)tvEG-4rd>+i&GFXS`!X>mK%vGidx*6R=5_ceqzi@29hKN%_9t3AJMdj~N-&%KbJ0)Cgb{~P?!}#}W_!W~A zO!qy6Sm!%4yKdX5+L>9K#T&AAa3AV7m9@kB_^|pYmV0oW;4l^}al*q`uw-vos|ZhU zS=fZXsal{`A0ANQX;kpp>ALNuYMoZN7MPxVS#~pJY_bfafi)-{pX2*G)YP96y^5`% z^70R1Vc2vlK|7L-bylz;N$ISkpN#^u!q0GX(+{~n4)?|4-U9bU;{FKS9~JjjxIZTD z3*f#GZq7imD`6({iB3y***w(hy^M0q&e>JTCGDHz7!F~)0t{L=s-_eCT@I+N;Cb{U z8EIHnR5M~^?LlpJwE8}&zD4>U*qwe#1>fO?rjX2f^~s*y+v#OJUZ_RpjS?-SYI)Pj zB`FiGoA-l^$G49@<$-#1F2zAEFH==#ayBIo` z-8vCIVx?NFobij5!{X-Qo;Gx-5oYbkU1LJFJY1wP-J^DenahNu*aHyKqq{^hbDfl1 z)Fp2Ra@qQB6z?29zVYXf^S$KMCq%hUIU=g&IyW81`UP^Gd|VWcz)nK0v(Qm%;OP(V zJ*ahM^U*;Gc(VKG%5}w(D|F;KsPfK1<#|+V9s*pnX>-{srGu(@;?Y_g)m|(CAouCi z5C4pkfRQ9dP70&efllgVy^ym?7FTBd;!3>*dxabOK3Zco-pmiTn@`O#&JNG!WpOdI zq!k2vTIz?QfhyV0Nkcu4zx0Wa8 zzX3}sN5S=izNEYlTMV=0IoiSZtI2Y~;T(ZwH=8_y7v7b+M3M;0z52$B)XMXA>Ki@Ff7U)nq{Q59 zY2UBm#gV9nt?a)1&hc2>NNO(mjnO`rRFb{3^&YKviZxLW((CK^jeSPw_{^s1Y9ta9 zbPgfW-Z%WVu5n;n*I1;xMrL32Dx<|QMP7hp-iH!S);!Nss&O}V9w)R6w?iYel zPS-ZLah_(jz_ZDn3%@dovX`{HiZWNPPUBlzvq4!u2f^A>njh?Nr7b<2HZ7&9@EydE z8uMBHvXO?yZ%E&Hygj%@&N}3I)Y_~=;iiQ96z&8^;>kunA>oU%E`?hXo}_R$cnEAn z-jwhT#rXW17@yi?f?iM1S{FrUhezqavG_UcbvzNQQ5@m$pAA@#X89-jK>jH_2;t6- zsRh?+KBC)+;-T?#ZqUh7z0>Hnn!B%Q4^=a~^nzuvUeMFGKzu!Iz2N*-eD%yC)&cAz z>htU)Xbxkk_1&%J0~(uPu+wE9!5@joDcd<`C0J4B>sD%=8!AbUj*sk?fC+ng{b{Y zi!nfl4gLmpGwUol0k6I-j~ZU^JpYqynELEw~P0mUk9^&@qX;2U1545#3~xQ zd*M>GhJWVdUE?a*fu!YO!z2e1#N}$g1;1Z^yCBwkk{-WharmJeOZWuaX#wx3ogm58 zX9_}+Ep!G0ENhp{*`;tdKBeoZE%d_WuDql4!ey~7LQ?GzlA9pwP|qY;<{{h<`-5bv zcDNVrqsn8gi^{Wl+@8dfYiD|AL2w zR`WiLeWzjCRXcbF_N<+yHxbyz;gsCq69;CH8yEBSby=G?mc%s-e}R`+TP*&S2!KOD zQB7HflBraB$LVhP6Dq-$RoF4I{l+eh7hKC22igkYunMU3j(*IPa=u7?$4&2;m9d)p zt&7IMZ#j?LoqZYScGZjI1!o!OUa92;(|E^d^z&I?r>W-Od?Ih)QDg8gW-d!ryS~_# z(~t$pMi2Gs5)FKWWr>%-F{2v}@Cgh>xA;A;%LgWqI5#!Ow}?DHLQA;32QJuNohDv) z>4#+NYX|=U%@IwL7VEuu9k?6dQ`K~INZWL@R82=&hvy?|ZJv-msp~@S4%FqsP8*lI zIh`__e_-uH<*Ks7>KY%SdRd5er?o!om5$_fKUF$XU8R`iDka7z16FuGpElxoDPNXh z)(YRx>Eb;t&HrkW{sR;}Qxm7Ud)K(#y*6fVm zdHwqTIQtIpII3&^(ah}3Y>}+du6Je0mfR$dx5%~xMwY=Xp$9_8ruPm5yA}|Pj6(HYuG3rUFipWium%I-?Cc>2E8++NQ;_uO;O zJ!bg>TIYl0YN=p6}LS`PEMM4uFc!kRiz*lWC<>EGd^NQ_IJ#EBnD@?TWft{Ew# zdgz&T8;aU3BO7U&cIv6x3|T{lhC8#p`5pcJLJu?#wHOgo!x%wC<3JBioI(wByID81 zAcc9lMO%v81I{PdT?$@8h%@gD`_qUsO~%LN6{f$2SsjVOQ8c2=65^OV<7dXrlzCr1 z!kZQ&)l?#Xlo(_#nhcNSnPKj9nAYaBX`9MpMJ4;1qNt=zb?`SDxXAqy%h&mtFt5XT zGgObG>fzn3u9f`m8-4s;)W?Q>&ZvI%tcl_%l{%$<7SEozpEkdT(8Bwh^6EPJerP=Ue(QMU z#b~>P>f9gkGUj4SleeUAyq<5rk$NscJ-`Q#(|LU#tUG2Zq(p$uVx9ugWM$ruZ13L| zFK*k@@OFwdbY~L&<&3ivdV(Jv3(mfRX`6!+LCk0vb4UU)Z{bICZoe*xashg3mEuO3 zodoR|xQrxd`VLdz`K%=>zHxBx8pykL_wpC;^4{)kT@F5qu zFrHhwiQX=;`jAk+Bh+vBRzyn%lX-b2bNWo?{dJ_gi%sS#q}V=D)+t?s@)h-TId_-4 z58f`to*otzD7T6eLoD8pT zC|krrPL{iqLXl+kq$x8cmo(XAsY_QO(KN}0O*VoGt}Vyo@40lc6D|28?R0P?ZyP{PT5Q@109$M^ z^uBs8Ss%F1dXavQwaC2y_LCs|IN)%C?~)1!yw3tB6!#QP>hwtp9D zP1E7aO>dyXgvrLb>gFybb9W5Qoon;t5eX~C1(Vr~%9d^I$gnzTw^c+2GD^*~S-p&A zmkMF<>o8P$5AWmv1g~rY#m`e*z9t%k&Vg3f=^i)-!!a2T;u0hm2E379Qg7lD^iebadnco_^{Mnt1rqHX%Uc9X!4%_h%4 zI~fEBTvkd?n02?3Rsj3Kr6j|?7SpqtOa^*39gP4*TgJF|Z5;QmZpOWa--{7;OlGUu z#b#U_VccbP7`F+}c9;TP`D{XK!Vu--)U;TxMX;GD(2yR~h$v!EXbYlPHXfqj7mfiW z;u`N2Fx0Z3NEi^4Kpn{m0MUs6QIJT7DL^*pn%R`fmQ53OWIxjeu7hVY(3bBPBvCL)G`67qCb27sS~k zZ2Bj0PP#<#tlM)kR%7PpSQ;acieYz>uLnqA10hXyM!*ku=} zp`0E&bI5U{)KXA0r-X0H8|&u$(rV5GvV!uzjn&{O|79$#el(=j-^5S(5#wErr~GOB zYsZ7a#CYJc<&rvZY33#Z(b--K(iqmV>lr17(qx1^PpiFEY0z^m7AzaP6#DO=(C!E{ z=gnYQjX}-kQm1w}Wb0jf1Coqgh{h`qGY!TrKuErJ0OYPNM(BaS;!39f&RrSTDx($_ zEszoL526$d0IiOHFjkN={4wZda=b&}OIqd2XgQ;*@_BCZYLx073bDi!DEJZ+SiwzK z2y*M$(OSzsf{^3})Rt|_XQy?vd2hj3 zO%u%4CViY2CMisiqmENybwFxwJ@ z8P#egm&VG46aeg}M*!fu?go@S;!z;EF}llUMs69@v;<5(oFl(z3A1H8$id)~)!hy^ zD~z;RZU=LehyuwnC(U)GXTv*?wS)NvBU|ClF2i;nle?l=j2BB^Wpi#$*?lL zwk2-RW*#II^8?XSNU}$VLgWVFH*c zN@Zu1vhEDFO_%L*3vQPptY*kc{P`<*=Izc9`*PiGH?2xFO{(49tDcm0^JV)?cP1a% zNAA{|+C9siwG1Mv?o4$P?am5rqG!6Z`ro!BL zg3TCE=W)&X-7Q{+9aZv)#!6(dV9RsO;_635VCOsZyO@4!pvx@aBhU{rTF`~J$cXf% zA^cHO%=~_nzSCpjXC>t9^d9V%?45zH-VXpRtFMi>l2BQit|~o{G1c zY{gX=*cqp5Am?;1&rqz>+q(ScU`hOp{v~3!v$9#nLS%b17>y=bo9Ea?60$Q2VdTUb zf_U#Vc_(7|5K|Brk$B5K!yFDleNT#8?Ex%~+PDWuEPcQrHiRO|(orFZutJVOArTRV z$+&!rRqm&an`x$5P)uMYR6RmG@dh#cA2h|(gQ&1xLs3+c3L9WT=+KF(o0MBE_ZI5f z;`6~gCgo;od~WrIUoa=JCsB1S4br!nk+P>iHh?ih2Xz7Wly1n{x%Y$dS2L}?yo#~gzV z3-&`K^f7i!GuTL9f5{R7KOyz=yA5@p8}NE_L}Gp$BeYM9cFQlxLwgKHOk&#-o?|ml z7e4PAC{vhBcbJ3B`?P+u_~*k#^t^A(uv}r z9Y=VhHsQGye11?Ip@b0mg=QijcX9_Oc-?MXUr!Jo%UYnBAVkc@(fa7)5Pc*^BgWeV zEwA+)DLLfRp-v9xtw};Q$?oNUCj62lWb-_b&2u6DQ%R@m*ch1qiFi%g=8Do_;Ea*G zBFy`yx^=a;T32=W@eh{;$3ru*=Y=)Tj22dqp>cHyBdC&ir3ku-@HQA}UOTn;mClwB zomDbW;cR$qz(xzhJby>yDZ=uy%&Cjz9=_=fBEaBGNEpy;#(>}VX9jfhq6CR~(4 z4frQ2ZLMq1uEQW-N7QW{gToHQ*Uf@mSQqh%_=G(fo74%pq`&`(`GE)n;X!pkIHG_sr%ttdSHtxx z8mRfX9A7)LcE1=ThI%3264Dou$nVg;CW}IerlJL=2y?Ng%VhB?@wA#O{v^_JP9V;f zXPZ2D=LY*YYJV6BcZZaOw9)iiOdRf-pH5Wo51MX7sKyr7l+oN2KrIZIR_D+xv+C9YL8XMegN$KLd)e2x zMj=F=6}POzwge;#8rC6&OnN0=-asi>NqdzXIAs{XiqX+j6(5w0qbVQLN^7LC=T6*M zYX%a$G;xAmO9+YL^_Bo!eDSKcCxn^`ggff^ywFXIzgFQrY0wY7M6HoPpV}($56f#4 zsS|~gV;a0>%Ib$4)RLP>B-kC}e(5(yJ${|y^TS<31LROU1 za^6T3)-L|v;^8_o+Qq$1zP4rg(DJt)7a|`y-6=9 z86IzMbc6^dHkfB9QK=$uAxqNA<6}c|n%=kgISw1ns|yo-=QpF-bQ(}=#x%zo)tBK9_-VpFudhbR{;e^U#; zOExT1o*)j`;gf+h?K%5n{D2_{u(h}1xJSPl{eB>5NBb=OSVE5<45%^b6RCfGn&*h@ z+jL5^9@>5#m1dDGqJ8Vnj0G-Mf%0NN1+kBcD^TX>H!!Nkx+aim$cO|~Kc zkyN%SkZCgsotplq;(;lm)f4{ViC7TL>xq_ni;~c8ROK41+?NM^#z0aWT|D=tEAmjbz|rvr+- z8LT63=11fWBf{zz)+;TRF+v8@IF-D!Mw{~%XgWYcK#z#no-@7KcK8Olyk8wlWRYTt zs3NQ9js~|g<^&HG`0*hVPYMlMYzS8&K#}{zJH9uwo}ZY6nExE6mIxy?Ow})qHV?Ti zLl?6ZIDNV{KiES9-P=Z>dpm7fx_>gX85WBADAc30w;1IV;d@9$Qy^4 zO0D8{GyWMUIuqp1xhZspX_`)hqQ(AhP&QLIgP~ug?y>pJSz~H9l?w(YFhIAm*#Mm~ z#>-?`jMQ4^pJ`%-VsI&R(Y{*wJZ+)SMPJdresf?q&em?Axjum9u7x14wJ<>rVcBKp zvao#{m9~sZTeddzj=+0xOGLW&v?XFBlp?j6hGHVV%~qtjsf2DVm2m@9+Evnen|%aN z0mvAUT}2S>e6vu~j{xuNZ?ldFM>+?IXMrbV$0$ScGoG%;7Ku#?8^I&L#OQ4-Fy3(7 zDXRA(WqvPWS>7HGKYg7;^8?)Uw#&yk9w@v%BTAOJV&Y_lA`H#6*^Gf?f4nB34TQ1` zmRubrkZa!K`Sl7m`0@fGNv0D?vPBpqIB$BM&4QAKpfl53h_zi$%C-ivOvDQBv4`4n zAj_cKCNd~Aq+*Cpsia>h3SzLAoE+iKy1it$ZhI=$Z%@@HuL$>&rfr0e;&mHHp!e)D zRadZ^|5VfB?{vK1m{YCazH*ZK2YV){|IYy~PUO@OGGOx4m0qDb!x#p|mZGfIgkaLi zE*^rG9eia-h+yX%f2%c(gzgon2LI|kU1$X5-aD0YC&Do547j(PU0pMjO)^8-B25;qK%q3< zc9Q{0hBbGmZ0!*@+YxT|06nK_M?Rqy1vj6nZTNxMYSpzPwXJ`Ut2V&eSplr=VNV_u z5f}2xuzIT@39e4pR-p=h?c`vpG|0Hv0 zTK-ws_J?6#z_yZG?OV<_{gbF|yIVwl#P-kToBa4}3Qqv)P|Td0sGChQn#~|CoK2!0 zqS@S6sE4}Av_icfZHdC#Xg=G6fhw%Ec}$XpwRCi}{Bx*jEB2?^m1zuR@s8Av+^&^_ zw{XzQbO^sui(zBz6V2GTGr-0=V`DmO&zt}sm&`(`C7;qe<7hZ-*{AgdY=tJ2ZKG#u z#R{tdY)C;-O3JSo-;YK3u3p`rY|e)y0=klDaP3g)n+U5dum1bW@rBjWb|W30Zam9O zfohcA)Xs(erPVB=Z^cQ`^B@%KpO5oX=^DqsfC8q9Cm$Bi?*VFiAZ0zN0qW<=30KK<(tB%9=JroK_i8Roazr6;uX$v(M5`|0ME4o%U@ z^Ju;g$J!7+(kkp-!a`&gYufJ33nw#B7IeA#1~jo%J(DeC{QnxHyWCWls>O!H=KV{!w5A*z!W`!P&qI_E89M-5K%~En z>i2sUVdh=g!jUgw_c1xvjK!{R;mQg}iR`d9gHsD$R*Z_Wg?LL+NnKlod2aYVwV`{c zP58_u3b-|-#LUHiDmL87eI&e-`^ePq9F3X-(bBzeE=9ay)9Ux~RS5Q48v#ym-{Y zx~O72s!|s<5RdAsi|UU@&8v%=ACH<<7u6GwT2dD^7?0|$i<%veno}1wHy*X9E^2W+ zYIZ0Bhk6Kk1 zwK^X4=DMi;<536HMI9KAI;bw{;CR#_by0`Lqux>%br^gn=o?Og$QvI_zl~gfJzJ{6ie*;FPYKQ5ch=$yzQndxC{9n~2 zIu42MkmjMNe{yib&)e}-XCT!I-SA-2Q}1G>q)<(Ki5cm?4RmfBy7wsf#>Nrl(+qiG zO(ZL<qM$()wD{^UsMp$gVyGLT!#E<+)#g724RLvO4~1>;tvG+A zN?8l91!2ibw~H2=tR*_h?Dc^YmS*e+i`aO04zdzYdM`ubz2;FQI_v|ZVc&Pkv% z_qNzpR;JYNSYDE{aJtrHd0J8u*h$Iaa77urVmOtTZMFf3aXFIfxF{%v4soEPpxtRlEa+xvOHXcnT-f zIgJsE87I7k@Gt8A0F_ahqx&$T$Jf2$)M33#jO~F`u_U4BDF*$1G-NoBhpjP7AG;hD z$*c|dkt?-}wsZ~^mFZWA;j*=m*s5XB2RA0TS?dEHS%T$mk3rva1<%6F<OW+V$Ye~RC|RGl&H((SOhWo<$f$2%PAw^QJHTyTiK zWIDhPZqEhsE@x=`=8?wz2Aj<3pLNTQGLgwJ~6tfDxF0j2|&v@DO*IjXZZiX$iiNUA4tcGa#3oSl)gP`fg6;<9!V3fk4y zpO5)e>7r3N;8SF@Hy@$3$(z9zZNH!$uZ8XCZ!Y__y0TxBvR@mo?9Ta8_Tk>GOjUX> z8njHjSMmSjx!u;gDYW)BoaL{gf19ujDfC8!Zb0bO2*oO(#V`ii-rtDDa0;^0=+&-4 zqD@GI*y1^X8t2njM;n7L#PC}& zxG$VGEqG@s_D22{mFfKlyyIP7y84yL%T&hXV)9v0x&6A4^WKgw_2{h8u6T&yZNu5q zzZNV9C`=3X6^QKq9W?Lg6Rb_i?l)^YAjuWaL5LAq26jFg=#3?Jc(}w?^$tckdhKIq z-*xaDrF$RY<8C{TmH*BF4;k93kXP?Ljx%4nS|0|S-7I4S;h@eXp>Pn#ms?d+{2R=0Z!=hq zZ5`hOBT|%jNDCyy>S*zA6zGr??K(HDb`u4TwKH%T>z~A#@46(nNjEva$*slJ_GV=N z{kUzK7jIKJs|Vhjv1V?OcIKI{GdCDB-FpvjH2dN3B@LC~pmyJi9EZoo!|>iqLH(+) zkS97`<2Q$rv8k*y_lvjAq-_5VQ|xBj6$0_VBQA*?;2WnqnIU*ihwgm<96{)z|2Iy%(%MQQpS5?LNrA6X zAcF$T*^2|5jCUp>DehYA$n9>S)O)L773lxXf#fjC>84sfh*IAxwv>yZv}>X0+JP?n z!?fDxMT~WT4N7dnv=xt2mJthM9R`~raSc)S&)-Xo{Ge$RmZYl>wb1-*=J_$gG#!(q z=}>91QJNWzX|gI!Zjy314$9f@#!{h`*4ygcl~ghrI`1DRf)^aJF;Z4-Zx%w-Svj>Z zE?6;fW>+qzp}Ii_G~1Ex(55dC9niX#*7}!-yGO5m4Y*@2LF}tQYJ4r0LblCVQcG#NZVn5XtLMCz z#bJ22ARZy?pk3fS_}-!Oq)R<&S4mg5hZx?w6{$|>-CcVK_32{|<715NkS)Y}?*uJ= zB|G-&(J z5a3De8SzMoQJon_%tXzQ=y=;5wkD_YiBcBUAty!9jJyv6a;?sXkI}tRiLI~Sn_FCa zlIq{QR1$9J!O~nR-vF6n&%jmT$$SU@u<*2jAb)PNgt0ihUjQ%DmT&}?6BRW}t@1H; zq-GGJX1ZVuW$WHQF|`}xL5BA)-b1)J$<>b?<+rvv7yr&?>8v~|*xghZww(5j!ImQ? zZY%B8E(((HZz%LL%ZTjwEokUhxmy~p`Xr+Dw6kicGf&;B{n`%BXs|!Gh|l7j#ox^Q zWHiWs%H)@KkoSY%_MbM{5Dla{%Uif+4|z?08ZsZQn*9iFAiQ}LbULr%zsMbu$%3|wH^t0CPM4Q0 z8NK>dRPnYJ+_tfujDATnV_=S6?b#H7e536Ll_AnBkNND=m12NPlkgb+9JK8WB7u4t z1b;~-LE5%u4E|WeubU%gM>*buh}rcKzpjs6$+LSUn^Ygf&gvkCtmo|Gu_M6-E4Rb*Pbyt5Cj*l1K zVTy5Liuq6Hb2pc&Dqajb>v_(uXi>=aoY9yrZA(hKuujqrN_6cRGxB)1%eIsE zY=<|Zf;h0FTr1`j@8XxLW3)?~#jVCD8%Zj{rOp}JaX$)#1sfuv;wVHw@b`O_)2sr!G%$M#=y znDVww|6d4j_~Vpq$K)uBu+4HlHuehXT`+2&z^QMy!e6HLctd;hi&Rq|4x6f)GN>ZH z)6fUizzI4~ST}(1wP7dF+^C(>g}xkjh(7S;IF^dtH{SHlx~4OH!8XS*pB?=an;OXv zCTSzeIPwH)sr1PRK#k`I3b@buKlWD@m9|YU=ZK9pHH&#Qi#p8-W~gB>G7}6&YcP`z zcU&fpXEMp3WZ6zeGr0omPDaX>k+Nl|!ZGTqA0yxk@L|tpoW?B;R+wP3F2QEw4Zp%^ zyXuU;_^aYGlAj){EwFRiKN8qlk#&vvF<>bJOGqDJvvfRJL?y@;G@?SL?{2~BQ~Z@% z6fVYwesm?+&`nI&f@^73_PaKi6*@|O64TXYmebYRwITDsTY-t-ICCAHK7JQQg~ z$|y`%INfkeYpwq&@Hir*{<8+8F8w@1oAZvKpE~O#IEQ(4PYeA}u#{;4mbRb+rs2P{ zg%9vQFsiSTB-^U)~+j5^f6laL+CtrN>aWAv;e)U_k*}^tdBqzeIf#aw%K(9V))LB5ojix&^FdwH&SSeqFI*QASs+$YMBI-) z$tN0COYhES~gGmO+* zFJSTvZ0#^_Lh>fk!_yk`!mf$r<%x!JwlJH;*@piI!VSxy_`~!+Ys28ib6Q=6-V+n# zghhAWlgEp^4v|lfA6dE}u1U;x?b_{0QRo*WWWK0t`xiN4y`qw`T}SegkDSxMo^jHp z+0~ubg)6n5uodb}=@k3fe_nrG@iCSvJl247+7-?rath3b(}N}V>qcW+vbNf^nMJ`j zT^o-CCOJj-lQ=8hrUY7YMgMf{a&r|j1w+Nm%lbrECUCTci)vaBln)#oVO%x{YIXP= zAoqTMmv>^hq7hrv)sc4wc=ZIG&Sy&~2Nx*_xUi1ac@W$o%RcaOL)YjA;U@T1b614% zsJtJCK9xY4JQ%}z#q0GAbHF+5(67d~2A)^W`yQ?2eu)Y8eaLB_kGr&IO_m+={{zy+ z|1{WZ-PKFpISxI}wjCvjkcqw37lL$=)wHIx{FX1R+dK$1(etlUYpzP=io72K4P3zQ z+P=s;aj5DQvOgcB-!8223wRX*L${WuCmBO?v4nTk;!UdU>6N!ayMhP<o~d(U|Dpi?ywN8ZvnV>u>B`DS%#W3qKsx^MJ{%oa@loc8-mU+WrU|wWu*{1$xn3E z8phE?wdvMf^T%sY^)1&EMRCgY0Y$-Qx4p3L7Habk<41GkUat*o58PkU=Km^in=R|F zY+?7|M)k|rN7qH41AtzjZ}=QDtJ3`&KMy9$GB9zgnp~B90ZDd9l1h5x7m;8e=E!i6 z;k_SsQ_qCKhp2G=?@c#=35-z`331%};qbmBR|O}iQu&c3TztkauJP_bkzdA5*XQM0 zXhUCYo#5Tsg?zs3=ksOSR)^^i(3oWOs}bth-kp5EX%GEqvV6auV!n$w--7!3J}CJX zNWKqDCEu?n%Xf%gdl)RGzKHR3csxiLPt40a9cbp9rt|@-4Bw+%%sit zpS49)rH?N=KE-!bW;tatymk+@h)t2SqxdZErSdLeI-`+39N05`D3?wtv)nCL4RmtH z1(ePIg@4r&w2s53>Hae;dR+a%^}(wXj%X%5H91FomA-zwzu^7dz}r5}sb>2ZGZopP z^L2=K5z{A?d=Nk%+=zHrV+o(HeC5-UeB~hv9afvByD~m10lNoEaUapt8MC~=^u7%0 zVW=k=L|%_YKg~6jU$BLGy><%3KgXlvJG6(Nm3?(P%w^;H<;LhhmDRh{b{aeAEDaLg zBt&cNRN0hxbiEIP9|8F6j_;QW3OY0%^?r*dsrW_RyO8p3yeDA4Z)5iREnvTYg_+ri z@wNmgfXf|LcYk$EzfZA<0PSNpylXXa$g4m?WG4Z(_RNtlg0ehy{ZOo_UY8U`>R)$H=B=GaK@E z?;e*8SpXYy*$tDjA(=29pZAD%jKTpLu1syX41K9xL&H#eRzrUbZYQlYZpf>4W>+eH z^(63>(Q>l|z6N#gD2Uu%;Y9cC%Y!qL;hmY}Fd$Wo7bb!>KNV7%JQre~ zPR=Mx!!r?{YUKHaxvcfCMjU6H>nsWPzlQVj|EM?6{V=0`mGsrn&Ze@eEdktylV{82 zWYO#zI6xKhbx;#n>aZeNbC!CWyJ@kkeFi;tIaT9d#@ z4b3?+aRh{6M(W@s!l;kg(X#VDVF!45dL!J)L&3HrctTplm#j}C7tf}2^2h=aZO`FC z<^p|M3!^Xk0I9^df02N z?PS8;<2?tQE8cJ{wZGK1;z;lsx!Q& z^6JQiC@4lQd`OWC4e3L2fng2=;wbN*kIB)g{zB=l0O{Nt;s;YZZ^FBm!*3iH>2(6> zZMkuBq_<^Kr1xP}e}MNcZ^nD~{$KFk{V}{Z+=%xW!*vqUTYb|WkRArFSda5=3~`>v zIPd8uoaY6%alm;uO?cn-@J;{s`?fKsk9~(Q3>x=pOEnYkFJsyAYt>v2D9s! z-U{zkaUP#Wd9GkSb~-7~vA?4rxC{tBNB8b-Va*qFqXWr8#NZC~lh|?1v105FbRB)K z6j@lP^aALUk03{O};P)xtz{ec9FJ7sFn|bwE7bOz$+#j zm_u?M<({aaYmn|lk0mp^`S?Ut1dI8 z{&d76{SGy5Lw!F3bLLR@g)I^w2l4~gf2RY*(hs)T?iNsF)p_5eAM8)QuDFqhL4V^J zP{2^&Mili<^_^j?$IZE1mw%jtx?+NGDyZ975B@mIC#axV%|SiQLA}Xw!cyaerN;@& zj1$)095!>DWbSxP(c^(%bb^>zXxbiK&WF(6q?7a3LApMv+nlyU`|shP5cW`76L`(I zIRLLg;lRmLD&e)yq6sQ%!P<@1tk7+p8gDY%RMO6P18KWrX$_V;W|>3}n&*fV0dlFh z3Lmi9V#YTT!A9XLBbFG4w^`7X>P4EM24iJq-5He(MmA05miGpTXFkrgH$aI3f zp<>AU4}7VKi}1Nt_ukGgI}W@#LVy)nGXv`89|`b%7ruw+9&5SaLxJ}Vtfr^*4M<9} zCs|7w2{8NuA6d8{`Yev&(fxxxTat2|ax>PFJnS#`s&Kgma+{K&O*e9zwuEguik3Rd zm>A5Omq6;nH)9RvBRW5Gv<>eXFi|NrnBJTk!dklAyD^*I^u80@o6iW^FHPJp=rJGC zR0DyPrDO5-4>Y%5H~K18KXdKJ7Rf*?3I>Icw1;9 zXUBW}loaxEebG-#=y&QvKPsV%qBh?~p&!H2(Y^5bX?qK$!IRY9_NZeYm#j--!I*{T zWft5h;U^^F2offv;AbRwI2Mfj|5Z1Oc&noHxDxIBI1?dsEHqC|oZ4odx(v5MmXOCu zMUsLs1^ewRmyuR*e1LrIDZud|&C8V_^m}-sx=6QGdZ2^KYysy=r*1QOB>2VVTVRHF zOVp-{;sNjdSaqjtT!JjA+BXQIH^I#TKxc!7l9d|_@rmGIq09axhsvZ*{S&v4MStSa z9B9|eX@gD`2Fv6W@ob;U+$$(^FICA<5HKW_0JiYrcr2`=V#yU#?Px$&F0E%uS2{d4 zt;x=HtV*t^eyj%cC`ZJbO{*hO@QD1UuWRzgKQ>?E*YU@|o>9>*FL2i9U{4zltWsHv z5_Sd|tg(4fS|{yr-!e|+otFQ7+{ky>yQeR}qZ!-FX^KCzM4bU-=;$zgBH?EqY`5gWM1|GLo8z8?gi8Mt91o_fZiydIX1G2%m0~;3otBgW~@< z{FhX3xOpNuuuG~hP8f%M2KR9rnNH-p5_uqW7Y-F5QXySx)2S903IrW|M&KI+?{07t zpHx?86Lwo}-X=+5_%5IJ^+Nt;ynORIlEJxA&Suw)FS~8{H7sviozKLOef?rQp$a4K`j zy3?U0lpkaA`7MgaJ4WTby`jAQ;^iH>hw?^&lgk5TPi64)ydmraJSe^R#%K?~3X?r>V|;<8{7&N_C#oROc%g_y=323j5#OLp4(9 zaZ@fYed|=p+htC*yaT6H-j60LZ{K)%dm7eg5U19@cTTB&r%ZYLJ~yTEer(2I>fI4c z?K3$X?`g8*g)~loZD|~iZ;0wVYw|kx1Q78;8bPG?aJ}UP$AXU3)A(w(p7RTswK4|DMv=u5GIGCm7q0OnJTU zX*-KHudoldMtwMa@;)qk?^OD5dQ%^MiatCVuk*c8oo7y7=M__`^US6?`wgn|@hOkn zp0?y@1D;xWdz$WOa*F|f@-`k5+-t`Q9gdI1$M!T9c#$GY2oFX?3&YPEiRc-zb+gBQ z>}krQ37*=x>}fiq$>Z|gHPN`Nh!^^oJrpYDOY@C`;GGbmlwiPgyEsX4JZ4u0ZHhH# zS>2f3wuk0~lT&+0k6HjuQ>CeqwTGi5_ah093v8XeFQUuOZ=%bW)ven-G$>w3eG@a% z#M%=r4ecz9+s;xt)=X5?tWl zpA>1Z`;yEUx}^4@B+I941_2@O9_H#7grVn!q2yT@dZ>UP#WC>|$HhIz$2~{KJ^RE9 z`mhQ-Bc5VyJjGTOcvd{c*>TV5anG6Yy!Wc_cJ+NgeeY4-lxUA&M7Rp9xt zKo*cMYLnb?&s97xl<>(wZV57N9`k%6`N``4-lm+j=fMj$Y@PLM+5XqT_h}ThSA3_L znp>%tT{ttTBt6)1f*yOkeJ;Qd-r(KRA9PK7KX_kX!9#%Wk`LA&Dp31rmB)mC)H8H2 z6~;xMPx&*ie43KA8eRn&KOKYLahF<*tXWOJFND>>B%8$xjngG-qXw8^T;j~3xlP%1 zzFG7bb{_zWvpd)A-%riN)il`3!JRPJWl%MR%YqhWBSD-*ySIghNPA5Eh^&NY zsW$u&?v}kyYA`PeTEcm_adSfM9=Oku@VRh*M#AUA{T*>Hg!?>6JCGGQD)1C2U7)vqMYIlC=q0r3;f0FMl?{&Yise z8)Zco7_f_n$3|sGB&bRh^+hE~b?Ey-NheIai256TFidr_io38O zP3e4Hq(w1m_o^?yu&3`99_8rORG%eMSt=}g6ctABeQM-;x-L`o&JbmcEB=LXyEs`d z9?dB--24@bamS8+NJWYXWX}-;k(DYHfJ9h2d?Z&RJKBj4+_Tx{Z(pv`)eSl zBeu8hQgWb&-5%*l+8dWHGj(J1PN*j_j8dv_^ITTBXKWwaTZA0&;rNtQ>C!t@yo7J> zD+CGi>5>^};9Hci>@Af)!8zo1Xm;lbfRmDLaZ<}Rwkugh$VuJJZz~W{KD53z6+Frc zPk2pJC39GHV0pF^1-B-Z`nzPL1MvGzy7^#d@Iz`0)-9+XgYui}Yo2b1-~S~fq85k; zwdbYw>4qawx)W9T^Bmv1{YsR;{F*Ps$p4Jo!+lAv>%ItRVLSr8h+Ct+pViQUSl`PB z>A7H#Su=vYr8QaZN^)eyv7A0UJlY;MzXoCn$m3~Id+`3?Al{n4uHiy`kQ$(uEzTEGq?5?W^L{3?Ah8kqkC&#S8waq zzV6=S)=jwo*<&J{PaiX7#ph?d$2CwzaP}+3V8( zRB!v%O*o}@tNfIuKv_DGWd;&n;FTn~ zM51(~UVD*Xd2FQ-*Pg?-?_AXyqpZwh>+(87&Togy^lA;UG0g_JfL|X<5?Q);9z-Yd zriW_lq9MZVoy(1>o_TxlLh{LRUPvyL-WdMZsmaBE)xU?57u3Dg$0jX;T9B7#Q!0nC zyG7v=PmQ6`^e!8MtHGQ60q6|mhbV#WpG#YUJfiz&l@Yv?8c+AnyO1^2RlF@e@JeG0 zR15{eW<2_=yXcOPPKnuM*mGuGz1gog^60)~nKj6oOXF2}{aPqbi#%dNBIt9{Qi9M$ zWy|vxl}gn8urfL$UrLKpULx}*&P0hex&EI&+&-=hdKYBSSHFMC`hOsoHoiFeaiW`t zM&nqFhBBSmH0h?3iy8F?46m{aKe49ho#-f!0@e!f2OOOba)AorAs z{7V}A&xrsN`)R&=q8Ju!nkN2Jbi+{6pk{BXr1!Q*=~yz#4b`JCbZ`snv{bNV2UR8MoE@UoJsX zPE$EkDrbACqoX~R#lwwy$27Oy`#o}*%nWQz(zgHS_Xp2;L?uxYS6mjQV4h&Qy7-PT zo>_od)0A(b!*mngAEY=irJxBR=N$(8m9Ab8Wn+$2)`l9nlxy?x!j)5o|0l^kB2{gV zRfV9eW6C$#;kZff&q!STIVI9XMETV_LN#~cvkehh&Z=|9cX@vc`TQv(a;GgDa_($z zhDcNIFY=h7cDEcWx@&idqemS5x!zRhO4sg+_O;&!`&z~5rTN(Sq^_lg*eN_}TlYT3 zpfU=CQ5jY*I2IeDU;|V$OX^eu6P}XNs3E9x~yh`(uO2go< z&k7*Q=*^IGN#w-TlCzDR&q-*KoWtUrM$YBpY$xZ4INf4(;Lf^dz;U*@7U+zI+|xA8 z`zt^F?kSSpRbFC56b()=$GoE;qxDDsuQbGa*a0}4>qL-3iTh4)v~0n7Wn*+H{}8r^gk90 zUXLZ=KOYMbBU5~5LKKRW2A}`+`b36Y93;a;@cGZh%f@Q*Ay+I9D+G`PYyEC+{kt8| zkc&dt7wSmB6f{#x!C*&=_YX*=o?iT_ZVZ$p)ZqU^-Qts6hV=O{S{b5Ru25WRD9zHm zLod~3_x3(5yk)7DpIU^qLWu+iE6H3H#o~%k$y%Z`-WP@Z$Qj~d-9^-w?JZ$n>T-`l zd1*i*u5Bz;@Bnc3hvh9WQ49f*VHhxE#SdNLJ+--$#mhPI1Vfk`PYMhU0^5#|PQIC)xg6vVB*w z{Xnv9SQ{i?t1$7pAYh#eI3Wl)At>;tQs9rJz@JKizd?aZ6Xk?q?ly@g+N~q=i9zNQ zgUr8^%zu*1f0WFBQLQ;CNPbd~{8dT*x+LE%$@PRJKLx3F1j_PnzcV_)oD2Y{y-KTO z>=Zua{4qRJyr?l&rujdWV(1|9H}J|fAO|aKm2eyhIZV9%UIe7Q^M}^N5*8ZL6xMR8 zwB0)}kg$7C9Gb2N5o4!@si5op_f(^m_x^+v(3>SV6SPB8hLtRuU)^yhkOo2=t^l^` z`mk%^eUcnYgT3wo+Up)*eNSM;P2HP#H-MZ@@#~a!}#J zFoj6Ifgtk4fi(R;d7w62HX{70yD<}dcr|jgm%5ha{TWBR ze?kLi%Fx|}<^3fH7;li;^#Zk@b$k_Chn=v}*ud-y+p`pjH-eM5$ad}e7TJbt*R?2U zL44d7j5D>p14HeF#s-hu{Cv8QDIJ|CV^H@S=%N4n4s_E0IRhQ^f5kwC{$D*{(f|G- zv(Q@d>~f*1e?YsmBhfgw<5duEsFhsSwfptgn<91-c^(YRn(+oEe>2Xd{=ZD zF>(yoiH%Vy=agO7Oq@pK{4pO0SktZvjN4lK4IiBSUtx{a=A_uun^OA#>;;Xmy?}T> z3<4^%cOjibPfqF8EmWkZrNBIhR%3kSEf`AT0rKm7%g_|NatKV4zjLJJ{WYS;4>mOI z!Dy`q;)*$18sG)P-H}jVOTNRe>fbBO^;Z&^JIvCXnDr=SX+UB@zQH?wX4Qn8VD#JM)UInCO z_ZEkaXh^+B=rRUq?R}8ep53_ixU=Zr$f}$7*uQD+wEU7)L1(5lj$AvPu<4lGF7wi< zrl~!eCUL@&&=k5`I>xoVBKSG8sCktMdqA`z+FPC|eh=7X<)2@B{dFEdN&d^yyyoRM zduYxciWz)fWMrUv@u8MRTo9k3roz2}h1~R}7?8n}cgFh{v#{SVG)%q1S{IO=<#(nc z-r3s%p5-{?!*qjbk|T{HHeQNgMy=zF=>lN?A%6Y?Y+G6UGtB&ol(#c}cTSHD&2pY_#{_;7`amHGQDl znf)s&f^jO*z!fakB(u+tEIP9!m`!1&4A*3q{E@}+o6!r6^z3YbxdiCKs zYTV2F83pFBqpQ8=AnxffZjO8u=C)`RbZ2G5FK9BQzGy3g|Wi_sUCbb^M7R))pz0U~yD(h?VY? z0+Rr?Y(8JrEp9`h7}(>}#vjw=I`6QMp;<|T@(~)J!p&^aCvR>~>Hh1ib*!ECBP~HgVI_Pc1)OYfREk8MV3XNyL;zj|AJV%?84gy&=Vdh`t!8j4}U z4hpy^2w=w{x|am3)N~pJFRjMV&~B%GKFNDL_L3CsS~hl+m8Gk6-a&jL!Rpy*{LBO^ zv~p4~yq?eOI)%a#36@9VFe1$`lzGv$6SX;4 zi<>%lanQkwRgW(T0@x9~t$&L8mk3lvrvqrQwigqlD_dClJ!KnaULXtGOiADi_m5A9 zV>4qYryH~k+Q{v7;NQJ$_OdRF#kW#yLN!%BpX1ttxU@Ywo#=JgGqhn>vXrq{$g9=i zTtvIfAo>I$M3^MqgqOo$B??(%T?I z$k;8>YWGDp5old%AC2y8O)(Q?m5HvnLi(F=3hVZ_H4#0;m>;5v=6GCe;K~WLe}MtVHfbb0YWR>4hR-Myl-`Fr68=JU_xXPn;5y8SJ6Hv=R0r_!&ATPgJ&##8LxRbDr( zp;jaI7Og93M32$(IXSe!JUt!LRLtU73{2f8d6P@;S``^5kd%Ctz^`)BrFjx0NlVj> zNNAt+Fr~3k*_K$iRdS8TYX@x$?8EWe1&I3rh_eH1QN5MfqL~B>khLY4JDLVtbfDHv zxi(#@R>x&QR(3%4EF)R-l4rVNrB;J<)gaw;NjFE*^&~`ANbdbVj{CHVt!}1t(_4@d zb2EH}BCvJ=rF(|;fHC%BgTBw-6|k7*s9QvjGHx8DI*sbT?g~uzVhD@I=vK_lG~<4J zabB?#xb#ikJib-i%&9F|Djd2ApBydAdOQ=#!-)V1Bq!Fcef5!@9f zv_I1K6WnG9j`XI7=9swEwkidqdR|bkDVNJ_IwN68+BuZc4X=n%D6LSrlSA3KX#u=O zN|ojq)kmWaG>E5gktW+%s~BdZw_FDRW z3NX2z@OVqY-;0VJy%s30wlu}IFrZz_PtrK}sRV3j4mzSeo?6<{YFHH~>C^H_5q1`b zKi{GZkY}=uWP-1N9YMQa-Ia4hjk_5~%1WPYAS=F5TXC-FXwNRTSO>(jak$cRMRVsp zQ3p+L2hmmB`ck4s%Q_Xd{0op7KUf-XM50T6EBfK&b{n>_b6Zf7(`Nc(NP>_|B_r7! zzl}4aC_~9fJ#G~bh+4oaS!{ekhT+pZmfIS}QnX$A(}Gb<4`V+O6E5rTMTIiXj^BcZgmsoC2oS{B?dg2jwB_?Vm?|e<%%XGVbEC? zFKLus{SWWTDZTo1#xBFIKx{&k4({WjgF9!Bo9revZ@hONs-6C5pj&^Q_QXrU9Gcok z==+(5IZTXhlS{+dW;6%kY;Kd;%waawun*0%;&V8?VOmhC6`+&>!WDno(`sVqm}XdQ zrZ<#AF|oqhhJK~&1YSYs&(Ct(^Jt9DsfHo55EF(=>nbxQ&h`roUzKj%+lvZrwUf0@ zgh;gG&*1-E^grtP&`PBVcF2;lxbMuKaZPEUgzHfQv4ChpP7Oar<0}RFw0Wh< zpo-0)SjwBa%8qv-5R2vTtW7y=&JnMzYx(25Uw_^5XY#CKnOOd;L}2&xe(K+$xCi01 zDXVkc{&=;L6E!pfqJhWCw~OX6|IX?1&oqH)1a`8?Y=Ve()N^*4^hHeN-W zrdhpnTR?0u=&R6eK_~$}WQ`n_HEI>KMrg_Ae5JG{`9qXs*esjEDInv46!^wcB)PyO z?{rb(ZK}9!b;TviJx;R2^yc8%5SUqK8CxJXAaoOjG2UreJy^WpIDJRUwAqWHJgd8pn4{h!Ugcv9xg_ zsEZB4aCe(aLnwiX&5KRS;%KY*0H>(T(K`bI4mEG@D{!9eUKWHLk`$L3)n8Fi-rGCD z_m7r#0BC7`$4Mk`sxR-)0fZL#lh&!kIf``ZE7(FMPEZM`MJ3aUG5aEwxp53&BLwbT z6dQvyMRXW;2sL&C)Fccm28ar#I!wqy2N}1ijN6(sZi_N*tIsH4fp-3o+WDpU8qF)} zGGkPG?+NIyToF8Z8S5tMGsAs!xO=T7KW@#6=pSyg09kpalt43>jCBQbnJO)DrNQGQ z-By=04dDK0OZ`sPHSq2v!(?Yj=kjFrh+YDnCGQ|JXsFg35EDe}Q`HY9c1@{YtQQ8%oFcT{lajz_f6*O^NZM((5j6ucvFTF+S3$Iu?uY^$O=!>A`4 zqk7xJxV3u+aaQ$Xjp@3=WS>Zr;Pxqjvz!G`$8P^TG5 z|8cSxRk9cFsb3V*n9cVAZJiM<1XcGwYX3FV{#zKxfam4XvKYvfa=Jkz)Uh&@-ZA*n z*{=FZxJbe`b6?~26jDuny^H*QEd9QMRS?07v{hK^p92YtOlzK~pMycohJrU2@7+fK z&mYLcJ&-T;(YH2`qyJY9OfMCj!fBb3>vYopwA0&8AJgeNE#sPnwODXTVUa#&JGBLg zP*!dywd?E5GsgY!L3CCc-l4&WmzV(T8gQNNCMlJoGBAy`#mX{Rl?SJ&;g)$@(poxxkCV0xdgh(w?>u>^~!4vdLY< za^r3&({+aunI3OM)nKk?^=tPACqpPQKR(5;VQ8g%IJS&?^bMN=CdMYk{djv2z>X0) zH0lNKq!d54@J>##Cf^fM3SVAB1M^%RZ^K-lWeUIg5;eiUm~UqCJel4??5u&Ww=y(9 zixzCKo}A%dN_ngQeXm;jHZS;`*Ul^6>-a4=f?+4LA`#X!cGXIOP0HlWN zcoBb`oEISpQgzIOkQp&2Hsh8wHNU&X_U=Q?ue>`1msvx@sv|Rvs0-@YA3u78d;r_q z8)fV|aM%1+qq_Qx`Yb;)v8%As0B;)Stafjo^i(5nd^K&QcFAMfe16Z}gxFc%KygQG zqDD^!yQnpeEsE6(w+HkmkLjgU>c6ylnl&7tB{3kcJ&ny{*ZxGSJh;7i2<)IIzZ<6~ zDqTM8kEQyP*Rl(>9`uJm_vCueeMbPP>{z33xXys^GaWcsZ1!-1Qr22dBhZo?yG|u~ zr%J>^xSai+YTq)nFHw#E1z46>00)`O!%Rz6z3r#=why!_&#F^!6ZJ(b3d0Z4XM?BCu&R42Qd(eV2D-mqj9@OWU`|1ncecs2pn{+tGt^%SIKlWG z)DosjSMR(pSi44b#yrBlo0$OMCkcjsb3o%32rkak{trCc8AF}1G3P3T6<=9kRKGdS zWHl{p*|qu=-ozZQy?+XG%& zR^IN$u9vI94fq=VVr;^QiGr3i2Msm{4K)Yt6$Txpg3N@!Hv+Fq@tevZFy}8t=#28>)8& zcZ#~!OR)V7?8ob0=DXny?_#-w_fo?3J3w;oM+Nl5#?HIANh?6t42sWR2~VutcN_8! z8()8wO39wp34T|>9>ZS~k9t#G)SDZMyg?O-ufM;_$DRY?o&)2agW&0^zV!j^QjkNC zqo+pa)#Wz`2<0gt4*~Fq1oa#^vaI3!YHu8)ivUHBF zqTT|Y+F=;+!|5MK#$(ImkoG57a>cDWX_bu&)ca+IN1 zP8;&#kJJ`kCAPr_V=W8h-PX`|C-VmmX4Vy-3sM8UIKH)&=IiSpz&5~up|5`s?(4+; z5ZnyGx&W<=2hIrJ;_=uFp2Y^;`#_3iMr0f|*NwxG=*9bdk-{y9rzR?HdMGhTmk74Fu)C#=7&lkCs`Q19(f5QFxOHtk( z!US(snU2LVz_R?~z+thm#H6_)_#CeQ`9=ohwZS=xCnF{H30(>g3KJtwe|H5o`Kg-?HZqm-{vnHk{cXK2CG@_45j#=9SUe|5JJ@6RC&!~ssf#)_SZk`-Thz+H z*FR0I4ECHJ_nZ;;oT-X`6$oPuP%~cp{3)d=9z9+YzRYq5f5tVU?tK&OIE!+X7g_$< z__kYl{~W-@Gb!dS6s&wKS?!B(oePkF1+KrOl;Bd70$ObbjoNug{12WGqjrAWb3y1C zAtYV9FetUShK)$nE<(U_2v};EwTt2VfAAe(c$dKA<6jB~exlfa!i4{&_2Gv|O0#wu zf(!(m5l@?zUJVd+Ri=3!X@#5XUUj=ASI`3oBH?n-t((tNhUb{IPxj zG$T%b#yaCdoP-cdv+LA|31SO zf=2K>Ow#)|pvG=p_gl#4wWebbhoq$q3gX_&5XV_=M6+)Kpp`mpe{+Igf*{`E31En` zLx_uXUr8M)U8*V1kxcpOsYJyva98Rm(Q{*!6RS9Wi(ML8OwjrO24M6$a=B}+$U2~#|la?|&YpxT`o|M?` z@Z=kTAVe?(pQuy+RgoJn>CbW6Teb&lPVihXXM?IeH!E;TGC19$fQO^r69=a#gu&?$ zmBYIgLGM)vhZEhVHry=%-(rgb_q&3CyHvp4LBQPsEp4$-+5Z5JOm8OUvi3eq*zJsT zEZduv#_Nn303u7+!@6PF5|ZED;?1v%zafx0(pgaLhrAc84seISy)n8nz#T%0R4=4C z5VJ1d&{&57V1b<4E6hhV(xn+T@3V!WcF4b8oe=p~fy!qA9_h*})-s4dSpNGNJKlkb zE?rIs+B>nw`5(ZreF_T+F|DOH(GeFhKu8Q#)%!z8SU^FaKoA25psk!URTzCfjZ!|C zV8Qn-SZg2M)z)F`&L191P*SZN@pg*P;}M~3!*SXX4+Jum`)cp_Tp;&qXy>Z?0)tys z9yDT2;nsB+4ehP8nG)pR1!}J)my#7xDOlB?Jb+t4l;GVBxW0lVgQ5W8=k&G+-EHtF zhjt7Hbap2AwcM^Zpz89@)?2^Een#@gu%h|0LRQHm`?e&rm2Wk$zo*g+5Jqy=lm-8$>foxb4lw zDCIIa+=vYSmdca}Dh@fa3EfRdwyfn;HY6*w54R3~n$o#elKU_M0i4=abig$WOP0}o zjx$r%&S#xcmusu?9HEf0OkJn27B5>}bMVJb(zX3<0M)FMjJK5osWLYq(QhGlN7BCs z!;^`H@8u>(52kU-rrcDehtWZwn_T~Wh|r+2EEkgU??uIsG~pJgTbtOJtu$YM{dK3( z5gVMO436V(M>*-zVI67j!*FIgGTwdUkcwN~*79`D=C)GA{a9MaSenIwDlNAth@MB$ zRM-RP%nq9C^zQr-b$Eg2`Sg|(o^4UMAi;NZKc;zZGr7HmAy;oRWvsl}K-MMNlq_^0 z2sRUpk&8r78EpxC$v0vn5%cld&2=Rrugfl=#&zsSYl^l0k+EOXNr?ClK5M zU;iaT(|*FRS%*vTd$uL|on^=m?gv{0&pf5eHwcfXn@@4WryAJv*@oVnv`D+oX1c@l z`tY3*o80`8G?L~eWr8;VGrj{HKgkZTylDrh*v$PeWmF7f&ul_%2U#lt5vICb;hx4_ zq0KC}8M-M;OZ2lzgS@>k+ACs>FAOcNTNoJ18ACITx=LAa{En47_#F&yfrnQ% z{)GQv0&KT7bJ@3`T}SPdtWl?FgtHPG!;39JqF=-lHK5a$V)G~l6+I}Igx_U>kNOnc zKihvKr3G7~QC&%e1`_M(Ri98V`(0Z(mWndb9OAv<3Sol3YqKwn_80@uQiVU zM7)%-uoQ{lQXK!Oc$ynxX`YJGJQ+{(!C0Cnqcl&)(>xqY^K?UttItuSIqvos(75+# zXPGT(FVeMx==)RV*?ltF4`-?Ukf%?V1;ccdnNLSs-VYkLyh70qbqW`k1~ieS%_ngB zS$O~2nk)=tlj_E>y71xPhB~5LQ@M05vvYO8j5k@HtvqDzTocNy%`kU96?!s8^@*sM zhfoZTxoJDIb7eyz6?5mRc)n#j!h8>7AIkYVki9C|?Xp4pi&1@yQkguIl2-So2j>=G zZ`+Xo%k!{_xaul`A}q%nq@Y-1hYGg810((U;PBYzKLSe5<`9;%`imxiZ6;GTLM4{T zw>tFgMZRZ4-@fF#CiK0zw6-k)9ik^4;P*%a(R#zOBIH}u|dL$}95)os@dY*LK z!~2PK!Jv(h@BYIA-_hjzQGejupL~Nofo~u3oe=sKmW~K2ZKsYf_WS>wy$5_%Me{zs z_ndQYdhZDkLcOF>LJ7S|3xp(eL{LzX9!O{s1EC5?2Pq2JKzi>e9R#Ea7C@v40s<;F zRHXdpncZ{lP2l~$@9&?_Cv*4Not@pCo!y;1We+>@K60h=x6{U{f-GFJg%n~7u`^o` zMF!brEsJL4bs1+e{D5&vtG2&`R8Sczu&a*o_uvgR`KGIRtK2i#=3HZ!uMw_=yRi;y zrU{@LESqYZYrLxrw*iGq&dcOZ1;21m6luQUCl5Ze?Y4e6=XcVZhgPw@R)JIWn72o6Q(F z{?a*MJ96-F^H)pRv$*B_R9589cfG5KJ=+b-=ZW>g%gKvZse6ZZw>ySpaZseU+jF5l z{_6ULH|?vX0)up_fxm+l=)oHEm20>sD@~mfO#OM&=6Z%o=?TY$CaHZJ9-%pl%S1)~ zag1l`SHgVo2saf%&e?yr>av6@@#R;)a9PCanNXU;jdx}|>Uo(kaHW-lTUN6I<3 z7mdZian2oXk}A7P;#;aai{^QYpZ+29X^PC<@T|fo;K7QZulYak+NwPio^ij0=ik_x zy*0aG4hkQ5$!sp+z6pVB7IqJ3c}l^X%yMo{^tK-Czoa=MeE6FJ9)>fCxl+2QxV9dy zRnadYQF)w0(3gBAG+KF+cIn;t@U!`laVg4lBaanzBdxtcA5rroVeJ)KsX1RaaJwCv2+GpchFFJ)gI zZvXaY{Cma*VvP><4);m*(%hec3-yeteb&a$z|}s5;}}oc3O@$tC9eRkqi8R=P(WX? zWs)lE(-GCD;KgXw2S683D6j~b|iX4_@rWiDxw*w zf9DNdK2Ww|4K8%JhKS2Ov8r!Q5UztCF?W0LWhF1Zn50ykkQm{UKsKLHhW<;^|Nkl9 zBgscSW%%QxCr_lE;T_Z4yk_&28L8Z@6dB6iTg7AhIc~E!Vy&U!V$g+|7B;JPrx;Z zO?>%GE`^?kBl}}aKsc*nnYX&1@4&aP#a*{GFG_xe9*<{+(SIq-3N)is<6r;UI1Dzm z0zO7$EzF??JJ0Y4`>i!SLN|^36dEd#4e;)AxF4?qcB&<>0yq}x=~cihqQSR(4+ax| z%~R|ix+eb+BcWoj;Wqo@o>y@)hV6VsPF@()g6wkkzc_=k6FV;eM=p+GQ-hO*{3Rr1j<-Ed0E4 zb>4{NbS)fP!-t=OZtB`{s#mC*y7rIeyIXv@vS60FBeUGRBg26X>W*cEv$hXE-0-ow zVTs@D-SVc71bYA)QQ1v=K3e=%tN?r>~Nkjo~~1nC)X#) z5z(hp2ria!y;ffGrA-IkM|@Vz?xJR1syr`ly6Yp&Tt}11TQPaNG4T=5pSdw9)d%^w zG4Ywrhb7a`VDi<1d|gVWFceHbP)l@YJ~)sY6fcG8Bli=1Y|B34R*)a5&OgYH#mI+A z8z>}?#}Ck)wS4&P#^3;cxHKdnAy~#mrg%}@MUD#!2zU0x#?e2aw3%NXiXR-vPn*(D z8tU^3GpW}3n{ECDRS60TlC8l@Iw8S|CwN+KR-b}F+2hfb2V611*+*UNaT5@t(nHMj zdnhDS3kuDiSjalfh-aB6rA;o%Jo!H`$LG9MhurM3>#ZFMtZvG0){96Fa067GyOJkf zx*+c*Ya+__e6Eep5!oN0%VPvp>j}cElnT%dXCu_f-SE^kG@Jo}vm*4wo<>PQqqtI2 zEpHhfO9|8%PsMrm`G^_06s8cat220)v8>PSd}P$e{8$`E8QI4mUvg(3=Y1`wJES^; z^@vXK@kWv!kzk9_JH^ZM0TO9)`T6O&=_mUCMeQ5<(LWgkAAQ!J{u`-7-GK+%_*kGq z|9H(5zc_z3b(PJUo1%T?WaO7n)r%*i5F-K$FYU5;w&A(6lNmF^Eygp*-pN;TEv>yNp}oNOG?As#eDJcAr^cJWH6M#GzD7jN^zIVKFuBhJQL0LOT%(maAZ zF^hNxsRH-YEaFA8h$>Qvz$DY3ryL%<@zFT7-yG&XY8GJo3-Jx|3G&5@J-*yGG~7?% z^2HeBrY)wAoCJKb$MQ8um}-9+!Gifr2Q}czx(yb;vN1t^(|UJeX32_A7|1c>AC3X8 z(QuvUQlpBQ>>lGE6d+6Umm>bB0U^gjKha>dIUX*EM#bfLs1lxg5-aLbwW4k{SJbU4 zVv8BEMMZ2gBRCMR>EV&i4AeyiGZCas{X)F+nDga&>m=*kQ&dj=S`2{PFA!X(^Vet~ zSF=lLpPTtyA0O2JOP1D}=6sdP%-_h*l=?kj20ti8O!^U$mCLvDE`hypVS?)Eqp0~Ya40SmK7115?Hu3WJmVru-ucr3tyWYeMtw zuQpfPtxs}bGk^za+tU9-x8KGptl0|xr~ZXV9OVf56~oB+ypPo6W*#^AvVcb(^K|z0$g4~N&x%PNc@-%TO$u{nu~ik$8!e-i z=2fng7Mim&uI%}0IpbksQccc|yy~JfN|8l5d&0iBjHqNI)<1zX&(BtHL!kFlmH=r? z;pVxu=CwR6kLL@f*=KNHxO4WG?ABN@NuFA0{${q&XK{apNr#i$$OJw6YjzZ5WNR85 zJ-O-_vDx2P{(>Ru(meAU)@ijsqe~kI`F+#DLO$GsLlKV%`SITe=x*vp+EIy-a3^e% zf1y0T6z5a$zdQ%u*~5oFX-7VX5s^|{E8*b7LtWp6nj)_+Q;!;0-_yAYMQd~B}Es8%;nNxnF7^usIn{OFEkdN|N@9n4Z{0MP4vleP< zqc@9836LvxlA4I|DCuiH@*amn1e2-!&T~t5AAF+~UsCY&OQ5~Mdh997Ms)HEG8TIA z8*mka+>E$vh!I}tyq9O^5W5Gtaz2Wsh9jw}^BfN#2nZ*~FK+{Tx98Dg4vkzbH6A!R z$dOwf56o#^5uKec^3JhPb`Km`>L$RGR!;V%bLaBw`KB1p>~G;c2T@%jI#(8q+{I6FkV3r^ygee4 zy*Xq!!Yh93p*uRKXnMSP#$Kj*?Q7&pEUPms;gFn>t5EpND!wv=*hq?9ZN;uuu~8Je z#)@5|Vx!~3`Am(vW626z1@7qw1?79Bv-p^MC_=A z1<;hj;U)KDu_zl+@-lu4R=Fo#QAxjW(rWjldn)Mzr)jxAV13=m zj{5)~`L5+B-0&Nept~d>GW#YZbWsw9DhanB;S-mHTJo2wx?9zqe|yAw=e|zy1)mZs zCWE_ldCgGq?~!|py(-%t^~<=H`aER`=Nl-bTX^m$NZ1EMlfnIp{eY>d11jR6&M&y@ zk(`wZIH(d1nVg3dM~vcdPCyyN@tMi-naXn5jNrfov+A-3oRc`W0&hWvf2V zQF4x&5ge$Z{Gfeqt`&v13HXUYJ^y=DigsLYay9yBa>sSq+;KVUnfyznSzOim6=N+A zf$TnL*HvW_MlL#x8TlR@J{i6-J}_dsc0>55L#IHIY1gB}C62 z?8DFLU=JUaoFD_y$)&WMw>JHU4ZhNXswe$ik=1qLF-2`8tX^`$qS1uS zGPdwzKIX}E<)o%dB zZbK}!p#)Vw+AVDYrEQmKkHhh~OkU*OTenhIpF(vj;~1Cm6zgX?zmviff) z^n@+0o{semb$-cti_5A{)^m0_%_+o{YUEC_gwot~4FgKdXpe z%!pr9#69)i@gxyyi?9A)B0iqjzO#9-R_ppjZGZFIczxt(&1ylnb!>dU4!JSE|9F2fPydN$C= z>V*p^ivoV)>LA6r94)F*n5P_ger6t|I9EVia_(uYxWA)tk{v{{@m6LDJv%_hjYJ(^ zh)gE?{ss4~C|rud_w0PEOn82XA&-m*HE`ZtJ<5^&tDWyGUWC*z{(hgH{U$`U*0USy z@Wvu3Rvm6lapQ}|CFfp8-YDcn@p^nCD)KjW!D9^E5khAdQ=bMbj^DMW1!MQe7Hs6~ zaV?!X!6sdOA&PX z`toAQ8FZ%Dc2{OpS@uYHd^atx1{7-6M3*%obIEzQ#nr7(!(o5^IE&N9roN@ZvK33Bn13E}aVOnJ>HQoR&w z@-?TZWU5nd(t%qP*QuwL=i`8D=j%YcA5r=E_Onu=%@j3#xEq&06jducH-LW2YWaZ< zezDaVB>N%-I?pnA(!_V%_(QsrbKk&GqIzug>_zy<+bZe?MkP(8&TTw~Yn1$MaXCA# zQ^y7-JIFVsVWNNGXP)vHp6#pQb#01_a6ZA|KIL-6R?BroyPZ)EJXcfX3n04l0darv zocXjzunk|{cHqk+IO;U~9r+vaj<4%%VEIBps3#8I)!bsVi1?fZ|4X51`WN12)(Eb- z`mQc+s5InvNGCe*=@lVAl&6KoQxJEHF<*AV_{UKg@|}TUlxGQFW9SBJ>ddM6d~RnF z&7EBcCzZ|Vx6Qh9#B9%7M&~*zOv`)0ob$Y8M%|G;l1-*7Ch$mWt}7d1H|IO{A*xt) zcnea>XS_xXvq@?hJ;Nrs;WoF-zwSKn@IUpf8|L1L(LmIq!&A|HlK1FG=7 z)H|o;cB_NH?e=jSEpHh5FeYcme_`RC^SxBuFDGip)0|$pp8Ul~^BFMwEnX~&<1D@8 z+~?8M;c5=el&(c6=Fl)`r;1ucZTPxQa&9;hBHR-+nGlJDDE9=rCnrQBA;vwyArpF| z+%c-$zK9!P`4+`6_c)6a%`QPCKNk7<`LeFobv5wNoba!FxEWuJx2b=p+rJrCg7;I7 z*oQQQL?&yOV#K9L%~{fcXMUV<_z{;pG-oM?d|aExJ8s)H654b8tTctIi?EhvxUJCI z%P{JM+anKcW}SRIXo8kcSmRA=TnNKMkm24J@zSIgCL5PmnrO}j%lpbJL%0^6Ox9#t zb`Gf`zbtrTA90@4!-7*0mpurn=@Fbc!uz5V!j-Iq z9L+6bwhzAg7pyzK#wVYhT;@Z`S4qnQmY>++n|Nz2$&sdH+$c74D1Lq{;(*k!7Aj@F zfdU_gp+waR{<=T~+LOyZAVx$d41I}hB4?tHk{ZG9she7sxFyhA!Y_?-fGMxDQa_wpWDb`<+KrMQ*{%XbZg6d&46uw?H9kMP`hhrDHxfH4Av zQ8*D{sD!_Zo+Q`dWDLTJ2shPTJwBxdE^N9+U8N$UuChZ|=aj`*mFldu1P1e!34US$$YT^x`Zap)fSEiUk_Zh&0 zeyQYxStnaQiN4= z^&{>RqjP0BZgU(CLK{#2_&6XlZU^q3);V zmO3{1?>@K8wFJWUSg>nuaa9M2i>*X5%z1A6aLgw*tIwn@!g7k(B1`j52no*};|n)i zbr%SQ-$581$#yx}m)Gv8Si9d-Yxj6Bc@IR{>Iar>y5@`zlx@1r8MCD2Jw0d0@2qK> zneXX2;{)0MAHm@)i!0=Gv(BSjz(&JV()Hm05FnpqcVXDgnzvt^c@%~N*9wOK9gY!$*Q zO*>oUTgV?=TSO7-4fFcyFiQ_>U3zH1df-fX8_ag_AT0f{05qnCGKoQ{~C! z?PlAv`T#d1FPVM7`SbQ+%=qwC=iHTiha~R+=5Ducv9RoxgPadEu{+iJ5bU<8jL`Cc z-l0{YiInV-eS;=*>JX3oJ<_6gn-;y>;-~4Ky5o?Ar7Y@>mFSLr9Anji1s1KC6dqYv zICse&_j%CE(uwSYy-$yW-PSnRrp5sZ$v+_H!TkvDGsna(jEP#|xykZ#lJ(^GCY^f_ z&3EYyzS|Qj1Jo4!>W}%d34)1Ux*9L+x zegpffwS-p3^jDKbSYwwDG0TQpnPrl{sw;mL2QL35ebs@|S3NA}z0Wc4v3K}|Aw3Bs zq?VRja>PmR^AsD)ap13MQpIr#{BlRSmM4==Jk5X$cuoUvn|js6RZW^aj!0WY8RWSB zpd42&as>bj;}0og5odtUDJS;OB$8D6Ga=x%wxH(uy443cQj(&Zt{+DC%=+k5Iur(G>sDww;SbZ0EA^ z^#19h@znn5hyS#HvWrzT*ZFH^K4ll(G`5SGI@<*ons)`Nxr#X|+)vF?UdjA*AvLG@ z?-p{kuqH>sp77Z zK)1|6MyC+Ny|n+3CsK3Eq~)QcPFx09KIe81oHO{k1&6>=oD?T#_UFqFh>P zscXv@WdYZj`3G+2b*m6FzDPkyAEX}Q74H`8VVMBJxeu0~jKV%*kYzJ+y!`z1c)4qhmpf{_KneN3$}w^e;a_Cg0?#B z(tsf^p}(fRfe2?)B9cYPyH_lH9)8=f8~uhaZmvyWjt`m%=M7p_(aMje{|A92}B+DGzDb-ga{w1gLRT*8Cr&xS=E>8}hK)?Lc}g<{sO&sd zZB|g-?;Wm9+n8$M}WQ1T59Lh>e6;Hj--DNRYIV zM=syP{S|zhaQ8i+p#U}%xt~fFS|!)L&r5J0G*hPAz0X&KJn3Sf^e?u{`7%h_NvLHf zQOZt`klI(ymr>Sy8Nmt;2QGo*{qQmy;_`!~83eHzTK(0 z2cnYk@zs8$CiEj-1mvw8nE^Dhocxv9lOs)J@n(CIjO2YXrsgvCPh1&l&y_Pdv;R|A z^bp){^Ycoq>BV>4+}b7|P)ygn_$HieV5Dl`rF^q>35o9Nh*hOX?kJNx!_tK;lW+5; z-p524D(e!eG#h0NjqyB<2FRfiWep8Kzh_*R`r0P{-RIFDOCE+ol>1OX<*aMK5tgmU zaS-zKI0&-Ffv*||XmNhHwEZxILrvQcDQx@EMQp#=Gv>$W|6zWNlJjHa|1v*neArZ^ zX3AFcV=HO*JEh%6OUo>7*?nnc_eeno4H+>t&#@u9GSpTNRmEC{94qS;Yg%%CDP{((IYu(afw`2o>A#dwvpm|F z&{%r|nB5mYnT>~m{0u{48BN9U2#AqGJX+fH5L1W}!CuLF*;6t~dL^oIZ1QBu5SMyL zT7ImweAcbhHCz5zw){wG`K2w(50{qjZuiG*^55O=qb+H$`_lG8{)4N&Mf`^tyXik* zOhj3>BgaIsr^iIJH73H;n1G)1)Vj$#Y&7Ds&b0Gsn~ zO3S{9H-_*s#(lxBAecFtKl9n9=1)J{)Z#xq+obbHR-!dCpL$NA7Y&GM(qTX>bvK@g z&ck!k*)cj=ta0^`%Zmob2S*4)b|7bM0Ta(6#ovB%p6ulG%aj>Q*Curxe4ZVlMU7G3UExmhS4< zt$Waw_~u_7HXGcslDDGpAdrRf>q^rHQ-sOQx6|sf-85>OMk}k0Z4ieB4Xu(~DY;su z8ddNidUBI-;M5YDpi7UWeg8K$K8>n$+rc@#2fT*c;v(>XCQ5!naqZiRN+WfF$6iY} zYv1BI`fWfsasuH-{j$w>oHbHU$M?1-c;R&F2euTN{t&=p?nR~7r}F^Z_qzJ%TkJK@Z|{ET5oZ)bLlk> z(YXug{ue;gJJnkqBF3zNoYS46COE|FU0%EG5N)4FYW3$46Tx)m3!ullfd0mGbZ5|A zoebi<&=K?j$N0VQ{YZznI||hMAZW2p9K-Rar+~gaz2SI=D0>k!uOrGzNJsq8x#Pcc zh-Q9YhC9R^pYKNw6W=aJ-O{=swR2nMIRW|_OPe%3kt8%_{;ltJ+T$&*`yl>ZU(mkw zD;{u&pm`|8xAXTS{l&|^;EZPeN`auGhlBHMbI@}qzaP0tmH6(W9-$5~hH7t+@2RKN}SoA7cLTx-JTIH z9A|FNaEQ0+fu{q>|5BAG0+DwDOK7?ssaxBFF8TsAlI0&s@%_RfZ0(@uTgwsNJsn|> z5eSc)3mU~S-!e63fIgZQHNji_#r0pt@dr189^sz-oLc8Eetxgzh-fjo&g6{_F?kF) ztFsQ9U+A=ldS?RYjJlxBmVu^RL+WtK8!UpUjSf*U1u=(iBK6dA(6@dBJxV=ZLQHrb zy)fu4=GlsJ=T1SbE(JUwZAAZom{;n9)_WVY&RlTrX%F4@8c}bxzi8S9bXzshb+tjy zE&$D-I^3~I9o~N*r3_6)i63@BxN4^tx0et(RJy+?(YYn*wlTNsROfoD9b(8-gj>}E zXWM05fTh#G`COdN8k0*eR z|XiN>9*K&ed)K>Qk!@>hKEJXB=D3eX`+bvHs@djnU$A?N7s^#mN((4=#ab zj`=jqUyQzTYq!66f6uMm4pC)8;`m_k>Svn1)yDPf>z`BppLg^1dAQ>(X(+qF)Dkowclp@4|oG~|68E8T-5o&Y0#4X zpaHW%!}eiZUtl|5&Ha9s={TMN9!3B5s<(Kr?t>X$ik%bCcgwy-eEwk2mGgOg6@Y%l z60$a6q<0TO_-Bsk90K|$$DCt&-4C=fhn@97yL4qsW?GkPzU?_#*t4=(0x48Q|7@Y#RAZbRlmJT;YiS9Ja+1&Ktea}>rEFS=k5sf z;Gcfz!A3!#z6GFl27!)mK6#_RXf+r;cxA?|-QMDj=_tj6^)s0D^MJ=`^A(UB^d@Yh zYG>Hz+>W3vIedV_6?wFFcnpRwiM&g!NLF2|^hOf>sCpo4~ z2ai4eqW>z?yu(|VktV;19@#vFHPaIDzf4B><~FoZY)8zO)b?mGeFAKExvs6v}_ zfg%XuDd4`oX;X1b9nu0tPv*E#FBx+cS_pSu7qfWkmUG|lGBHm z>3~egEJpF3lyB1Hw5k0?9Lgv3Dsz@YiNyJNHaN?PNJfvi*6|9R;#wyw^ivE_Wre15 z+p7~ott(DPt!r~ypcu*ZtWEyuXe#sa^C+*5D9QQm^+CSoq84*{ar@F0+TI2EGDJQ0 zG+x=3Hg%H75>2>$X>-!1E)nC!n=EC^cu1KdK4H|UFVGA^$e7p?Xb#dS-v!RMm^lN* zl^0OnD&b)Ry44Bj6H&ni&c=(=rXC>_Z-aJUBJEZpkEu7KXhw&{ARAgV?|szlbMXe} ztMF#pR9fZ47*1O-N2ZOnjiwUje+zV89AYWIz6B{)$q_}qxl53Cm0VD?VOKxYTG)Cq zn#Eeu6>86E4ut}^kGvIXKAJ6y5FTLjUksV0Ra&(U++(&28tSrZ_l3|&q9!5K<-+6( zp_K?-CVwwb_>DkX9otPtGv@-ewMFVcLnmAa^%os%ag1KBiL?&3(mLAk?uS5KZIw9f z$wHuRwyHWxulm}B&~)*Vtu}K;Z@&;4XL|*R(q=EX5L(vus;xe!wG2bPS8a`1$}3#@ zWZN9QfNI_NAkcK%$ISW1a-j9LWh`Z98cNt=+ohx57q-Y)n=bYc@+359VaD42;vmu} z-wX3H)=mTGb{u{jtmKMwS>&CkGS^sj-M-Lr)mC~p#%{<|%P zIgbZORD#hffk5|dahPI6dMeuYz*e5qQpO>ztX7`WR(^rB@>(Lx+`w%}B=kPDA#Fm& zS|KWF4LRRRU!+yi8WE=uVa%DLy}+E!Zh^Comd~8Uxb!;ONS0ZXIqPeSIjtj0X`n6V zv@x94NL$4+KTv2bxAx*Zw6>YHnK^Sft%bIiQALH$a2o>spurZ}IZm6V(!OJvJrugm zG6!6P%rq^?4$jh?)=CRw^bzYbODoH$%_kDou)}(GU+*^lxGhUdW%R2;br`i-)NMRC z>)A1%J(<&OJnf&f#*7Zlm8c1$vWp~Y#`zW>?KZxu)<$c=s5eXLq_wwWF8KR8(DPas zPV4wKP*<&|9U5%)9#A)}H>Z8fb$Lvb zK-b-lqV)H)PF%u3E@88l!)VhTr0vtjFxvQLxAC>a_u780+1d|Lv+LRsPP=dv`L1in z9T@Mv?U3)Db`_f^@gns~EA3D12BYPRBntBYx^%bO`1Rs%t+ofGTqe!mv;C`$^neZa zUjZrqYNHta?F;0g&tcA!+$)~?To0^ACA)MR-&uI+3p}`eerTVU{tlyZ*^Zg%l(v}B z`+b3Yfk?`f4`5<&VdMr{~{==)hp50)9GA7=DI zAE0O;;w*W|G4r@qoDj4W?CY2*L~;EXr+F=el;Zkv54o;Lbc)kPt#Hg-PWi5SpjUoa z;F!5ri`D<|@FLC-lG0z4*0Vgp8FvhvW%bUCvaSL-_4$n6nB$naL{!kXGx~LrW9AW& zq#yQ#%$)@&ud;rR(>}S4eD(FQUhG-5MjIOH?|QKnbVcdy2th9u-rG0$mexW4no%I5 zj{12AE*8xz>t(gK5Rn z9o|U0HwI~a2_fItgzjnmbZCNwS1-qCE~BA(5~G#xNmSVzI=kd6Q4L0o+DTNGIZwPVQGG^nEG18G!e}f@ z8L78q^vMSjWiZO-dRvuPf3mJ;>0#J3h(FpSkngrguf?3*7AKHjx0Db# zC(TJ9pLT`b%m;Q>Z#2@j>%E!t*zts^@9R7DY(|s62l_-G%xKtcpilMJ8J*|`v`2q~ zQA9z))b;v4eH5ckgMbd`qZ#eI33Nyw&uGXM(7tMtxUTQ@(P?HVp#k02_xa$8XNxqTJNf}1J&xwjaG>Ay zFMRN=#dRI16!Abm=VP~!r*V#@ToB+4QOJvBh8o|xNeMH)rx^NsF-ofEv8F>OF8#<#2{y-HCyRRRi za@U3EFDe-xzR=m(FQBt3h97h0*uhzYkPo5yf#6Iv0(@P1scD3}q1r|iqcdEWx<)a# zwE9LY%UsV|dd?`zXgAlaiQ#0_j`h;ai08V5a{sk35;@J2Wws_{Cw&G70%aN%-Ac$Z zsxap}TtX+K7Nf6OW@n=gBfA$+7o#qteXNNWjrxqXvd+324H-4%w)Zd^GkSs1%SIDM zYYd=QjAo1~aoVd!3t#kf$%Q~Yjh5Vo?`oh8J&o2}>pw0ctq&pOYs*pw8X0bF7-VE| zT1BqQP@|(;+Hj*Yqm`_Q5ylIQjxu_~c+pMsBaI%6E-)%EUUic)#^@!r6aX~N=qqJ1 znq~~;w9SlW7_T$x&7*OyF~&{Gd&U$_YsqOJ7}L4!{^Nm`8gn`ArU%e6V;-Y&tn0PL zdyI~A|7|jsG1|oS+-|IsR=}LQjcqJ**9D-@j6Iw-G6?9fancQ)G0rjC;Rkfl_}(q; zu5rh$)_)s+x}`lZ{&qticFoU)f@pBKP_#Xa5cx!Gk!9_%eyCYG_hv;xA$Tt*7^9<# zy(A-Cqi~^xe(or_5N8d46S?Zi2qTsIA=O@<(N{d9)UhY~IUKt~$9i@snEJ(zCLIb! zuH4bYjOl-P7scceHDl(r*hevEn}eP^xzCEv7=DOi%0+-)iUxfy<&c$X%RNdl-{gTd zed(wb|5d#c6f=7G2{-wtDJH(y=_WQ&qr}%lixYLFo}<*ECqPrKf!bD`Yf@R1+4o%& zU36}Hj_A(GV?A~8xLJ8`U3gq^<(>M)72>}W0s2BXA|3E|Dc+0sqqidB}`NLiKe>v?KQ8aHnG1AI7jUdsArZnx>j&gv;y>Ad(fLi zp|V3|k9hm(Y3G0{!i7PRhHis;sU<%z!4Cz0rneS(Q*^{q^FV*h(h+7?9j z-$B%~S2c<`kbR{|iun9uEec#+Wl$VVw+;{_xDyDT;O=gV1$VdLZo$H0!5ughT1JhdZYDwjd9O<7ORT4@mkiuYLpO;=kn%C=d$OD<}#W_%C8|LcOz+e*7;{?IfGliw+fxl>`DjXD)aR~>w78KF@57OxkTCeE1y+?q=40o`}WwnlsF{|L5Q_U*01S_Eee z`KPGy^$Rv!{{Mq}mE9;F&uWLuy5$aisEF;kuc5DXC5>TB*~qY`+%ZC7my~`wM#0E1 z#!|AfN3){baiem9@S4)@hz3&pS+aAgY=3Yzv#NFf17z2+07oxG+yw=`Y7b#f7Zjz^ z7D03vLw44E*CCAKsgDW$X{lTrvZ0S4+#zPyIgx8Gs@fx5Vi0p*`kY~7Go|RKzhI7k zjLR~1x3-w96b#2%n(uE){V8G+PDXR!Xid^Q)|NYjuc$=_c6v}vcNsF2x9DeY_s8FJ zFd2W|qJ3KmdKJ3{uGAX*Aq2{}d;P%R((+LqmQTumflDw)-?I-J97ZnT^ z=E34Rl9r>vayp2qmF9-V?=DeO^t+0ki$h4$skK$&S9c*w~(uSNqmL}?GVnl zqkkEXIl$j^LmtW$3BF18HOkgxf67G!*Mj>R1s4U#YyNTz2>cnpW&D)Sv1YWQO4yjJ z((JiaM>wykcRsa0Eu1ZX=0rKr=({_)pTwOlKl;`v&~lk%)WSpfZ91auzY;=eu@i9+O!~I+!_)OkF zYAM=*yuj2xsI$2ia^$v0evhiBRyuRXzSVp$YB$^L%*f}}rhF>1W#q2Ub*u+f+!A1h zeZi6-$yb4C%y5D&eUX)WLo`DoLpG@Rzs%9U5h2OvnO-y?$wZcTVk8punhet&X?$t{ zcIx`NYV{epB-$sKzQfAEBGVyhGC+WCdP!FLAU~(|1)&7*f4?V>^bjF@hr0}b%R|#rI7FNYjrD><6!@cFh*I|cv3kk%;PD+ z4RD@71cOjF94WuZQRu6|CA>k(UnXJ*ENGpbb{foW9ofZdCq@pXGO^ z5PTk~Pp0dN--%KF+`iB$HXc`tX}E)rs$I4;u?-9dv11Y)5?*4C^K@BdcYnPm(+YFv zD)LrJVum-}_4eg7nu}M#-<`Tt#6EsHC*fcdh77Z@(ew6aP!J+_?D0cu%7;D+6DlVn zo|0j|Iz(T4%*d@5mPQTo1Z+RW*f}YTgL~8d_%LdX{z$6*)OhRfk^CCSZ8NMSss^O9 z7#s`m`)VhI$9v8^?=SW^=uEs>;MVs>i<`FP^+#;KR_HG3?Da_vTxcUfok=j zY-uA3x{sd?Fk0%*z%hSKmI!;EDi{31tC~_qE_2B?`Dg#&qKBSs46Twi0Xy{eUnffR zonvI{e}eE5dutE{<2vn|A3dVWJjJ1K4*iR{g@uzsHrhdp^1jXwirPmX=C@Fz)SmfD zts2#4M}h+wzMZ9}zefz|xR;$erFP9f0im03Gu) z2X_WV-(KFok$O*(mbaC~|327EzHtS2u6VO?0;JwHJKl%bZ>wgv8wN~Y5c(5Xu*I|5 z43VAaxUdmB4$h-MhI6i?&B|t`eb`l7m_VFr6~jFzL0T!oKJxJQvvsgTy%l#y?iIZnGMn_l9-tec2A>0em zIRp5M?AOXq%JE#;<#g)yQ>Bc}9)CRZ{QZlX?it)kCyY#I=D)xpk7#U$g=e*;&J4Xk z!g*)62Y0q{;qD9-^`xL(~D`JwWgEANrxI(ofL60$f@T*r-@etz0K*}T^LDJFQ@CLRkpOcrMWzqyX2cJ!|7yv zv_C3#H&(pk8!<%{Ium~Ipt{Ft27IzL?Pn~jcb1Kvu^9LrFVkqB_${hlsYS!zuZR1W z2%@FcXq}qEROgR=9aI0Gf3u?{zWNKFQLRjOnVsa*?;CE$>-iq$7k&RBQ2P>FQ^z6I z)bP>p5iP!|zPXp~LtnyX(ZyKv9o^{k(F)%hog*x&>zMeOW#~!qiG#gMjjzl7m}~lI z*$0%|(~D2>`!rR~>ue|AW}h3|uh@(6qbQ1}rVfO^xqHT#`&no(|9koJcgL?;>@IRd zpWzF|ZM;H-EB&1kf$K#bOW#FmEpqe?7CD4eKYkk3aIo=2oL&}VDIV!+vdD`}Z1v=1 zEj=dZfR>`yu=+?@V%0 zg;`NNJ>M`~(L9mol%1({2R6rH!2)7i_m%u{A-`KfDu zAgbq@pG>|L+gq%iBeMHTvklv{D}QxyhR|M%`%x)#-a^&Rqqaj#n*x^svUR)oF@_LeF#$w0WJ`! zRpYh8@~I%!4DmT)$GK8+HZ4Ro=4@e{&I4a5yMKnhzDa@A`F~Y>`uZ>hR$u(F%(=K* z$AOXGvO`Gce9}g8TF&8I!FF+r5Mpfi3Y6Qtu~1vhaRf_t`@_AK#_WN52DKLL5bs<< z%P=7spDO~z*o?D_;8%qKzSod*aq2+ZejE_?rR!)azik@N=2?OuPeZX0|O{Q3@jH6o`Q8c=cJwkz~v;c-a_0B zWoIFm)jt90lmzS*4mXy#;$JWC`Zd6$+bm$p+c6n45+4P_Q<1VMu;-j_+ol=YG`b;E zf03u23T1B4*J2+7#Faw|b-($@{)g=tR5}U^xKiEVe-)8!;w`#c;OGe{-gSbeCQ2C? z3w9!xdgN5oO!e1K5>Hay*Y`GhE1@LgCC#QX>qiP(ECQg+F%Bu7zUSZ3jjtlhguSAi z%cIT7H!XYbuTWIf?2F5q<%(MVwjsqI<|&qg^dI{#J8`03heQe%9p{SgKW34VgJrmu zMix_I-~z=!Ia0Rhyc^Vs7B6by@#{TZn<-PXjkZZP6ffBAYlT^Z^gRJx;-#>I;EC{g zfA>sG66&_VPr(D!glY^Sx@3Fp-{Y_J^84Jr|1`elk=BAwUAdflDNKhfIErqsJ{{|h zcInpDhr2YJOrt*)XDg|aku(kg(};-}KHv1FhTL}>D{83ncwN3qGkb35!RtxR-jKB2 zYCkkFIMVvneVPS73Hw@4F)z|j`Zs2-_=VU%o^~qW@Szs6>7ZJkE}6<$zMA|E*0o{x z5h@A$T%EUmt5vjVn0xNBjQ`$ zS+w(uZOayj?WJ>k(RiipsKi-K zEMnbndRh<=WJrj=qifkblf`F8hL?6OE_b+!JW+N*t_zrIL$G7tnf&3h)|6T;4es%Z z)2dukVqp+Yw%x`R_ecKDVCH2&N&cIX9r#Jw2y(JTq_9=+uBt0NP7uA+Pe;LL{vjP$ zHoqraHbru?wi?IQM_PUMgJ=G9k_;JlYXT-@L3X% zt%V8Jm%_*4e3E6up9{< z!wTbEyWB@mIw3H0Mlt#W`b0sKrbPlE=q5mL{UKlpKSMO+5Q(G(Id}ad}uXJ7);c4Wz(7%=Sbit5xvxnLO*yJHvW3 z?UZ|y4@b6x0T_<~vcruzGF$;1MS6rI=sM?q;p!COA@H@YwO@dY+C5Vy03@Q7g@ZfT zs6`FH4EB%>!4I!F56Ur>t##oL) zZ>1tLFH@)0u>-gqKxLawH>V21!DeWxVK-HW&i18#xY4v5|2en7*UuZChFzv)2LiM{ z^10+P-?9|lxT-=i!b|+;I=oceCt0@&y~AplJ$KjHs~w}Mh&t|Fd;q;nP3L{4)s7fy zr82e>J)_hdjK zL^!-B_tE_rZjlY>oiI_cs|DPpIXSFLl50T!{9b>1P{Zfj2i2cqhR|hAL}iCtLu9D1 zVrIyqx6z%c2pP$uzl2{!1g>|~f7P+uhQx-U6K3W472bGkTZR)KY|u0rfTrNDD;?4I zx}ezSbApay^;AoGg#7^dBm)1+x-Ud=L7S2I8+dMX)i&a^S6PT9gw zG{6oau+--=j@Y6Y@Cles+hhU??am>!-~J6C@uS1*sDy;HFp;tid=5`*sa6=~k%~`f zG?8IRs#0HA=6rKsju6q9G^N^$y3ERQ3<%jtg~oYa_5ifdnu*PL;Nu=vi&9Oia8pp4 z^zjktHc2==cESvIzjXM~ghN^qP1l9Hq5E*-e3h3e>0btolIP_PYq^prZ9C7(Z|BMy zY14Mowr<45^O|<&ajK*S;B=WhI$fX7yv862U4&xYl$>BCKLVf`DApF$x``-Xhj&## zv@o|#OT)kfS{8S^?GsKJp1?q8ssL{AD6#UyrTZ8_-_qO|jSZHfW4i9NXk>Km0mRM{ zTX_;%Gb>Hnz1AA}5b_Z^G_S)j<)+MriRmcI*b<<+=1g zvlBiVE9l{qIiku?t#B6^Pdti&o6!dLW4To{S>5!qIp}QvGK&s4VaUeX6Mr%b->XBI zrLgf{fo7`9fOHB&o-LX(AuDxSHbon{`=0?RM^w6l671&5fYfAQ)9cI8D_F&oVCYy8 z_V1!9&c#9_poLY#abs(nBSr^3HIHkhv~$VG?E4FRttyUkyB!68J)tM#vSFzbQdcQq z)y3SS4*gqC#SM&MLGNDLcNug9TS*sGwsh>)!-%I8cD>R>(>B2AfWYM75?;?Y136bO z$R7EQ2NL+{}{PSGsl2((Ky-dtd1%Ao8#8`g);TL zOpThYDdQTnTqat(cU$eoT^`1JmMqW!Kxye=XZGgT&k=Z&>OpgU$^+(!j%}H1HvpG z9D5|9Bf+3t5|Aps^@JIzkm;Hxqj_N8cr;kwHo9ZMA@3nAqg*}IaDuxeiVi(K-<3eC zUo0Fxp*EF68|Y^WUL()Wp!e_m+VrouC3Cj_FUc2Sud3J#c6x6ex-|shWfib&qp-Cq z$s$q1W_>g%cs&-s*(E7YNcuzv>axggk;Vw6nU-ltH?RN!j7lT$;M$-+^G>@vi@pZ5 zy{VEzW=V{0s*B^xe}CwJ1#EkN3(0GrRyz6EzmEHY+W~&6kx|~JC;%*}RN>XKgst}*av9Q`&@aR=q5p9;Vc=(e-|LmTREhhvaI+l&xG-9b zl^_hk>6Vf?`1+m-80yCSUc$G~t{V4gH+~yA{9mgJz9nJEo7-|+9j!Bc!lDwe)a^u! zN(2lrH3^7qtA;H3de_T7RYUAnh@6P%zSCvNb%s>aYJh^LWbIdFbi(B%NEln9QP9m7 z8%@>|fT7PB$(chSh@~`U9F?X*U6Ixl2DbCKKFKE9w+vu&uV2p{Of8VWV=F=f#{%cONj?3 z_B>+bD$g@OgPcf$QJZ^;UYrDnXfzrDos?Z;rdSfN7n%KlIKY*}Z#;S;bkRM&L%XTi z7@KU76~17VhktHhXSPdXksHo$lSk~w*2H!l*JcA!3ebJRNy(RXpr8+%ecX;v4@j|I=8Ew2ne zY%rzwAK}?#ectAN@SyL=@s(8`=Mf6kta$@)T8SS&m+cf#hH35d)z1NftV~IUh~O`t z1@}@>{?WqP7=!{c`aLNR2-Q6TvO3|+J#8FUB_EwYK|HR}-RSeVZyBj%q5~ni7Sd;X&sD)KOgH&$KcicMYejT>Ck7SKjuiP9_L7(4~0(FQoYNrQb%%*xt zhXuQ1qnOWVK_F$}85o59%KQ;j=Hm!RoIb9K0=CjO@f6AMnDZE-0^TGLA8jHmdxl5K zj(#o06a&y`;sNAAoA91EOs3||c9qLV0xkRVz|qkr_Sv8!Z>rXUPo@8MWIRUqJuz^z zO8HAygCUrWLhDpvHq{e{gt!&R6Nl+cf@-|^E~-Jupa)NnEV;2}b^EzAU-twy=w$g( zs;h!u(Y7IFl9lb|Z~p9Xo!@-Z)4#=W;9MU@)LZPvT@*H_heqvqZCZ;OXD%qo232I4 zX5BI4m#d)`xMYn+(^<=cdwC3B`)qc^`V&-rn!q?ygG|#=9YhoYsHHh1t&n=6XMgMj z5T3sy(3d_TKFVxsDXV0E`y*L;D+p(Npq~En6ZtB{d4KC;mP%9c`FLM_v->K=>Wsnl z+hxvHr=Lmw=|6_i4tc|n)W^lL9MpPI`SQ)Sm-1c^Ry^?r8ikt8H| zRakbUz!FGgwI!BPlHdiEGn;h`uRBpswG@D}+Z}@zWAeUfVC*=Ocg~(i^@!XSoThzj znk*qXmFgF{DZz-=U0#CF$t3Ug!05n0)n}-mOo{6A;iAmGDiX9-hAkImMotOKVTU)$ zMVWVOFwI42ZrYyHS*2;%22D)0);gv`5UZE~W(Z&tUtG2S(w$gjY-1^J_Js*mWO??S zW>4mrOEm#@K89)Nw5^x`6J`uv<4lKF;zYDgmd>%BIbxf`@RsL z?aJoU*9$UG1Z4OB&h>}leBqxRNqMGK9s>c4H4 zhFriQii~5<1^UjjGqXi!GCci;&LsJwJY2f)bmMH(6#The6 zA16TW;_PTY5#df(Fh6}3v@5y=39C8tFh{-qxmJx6k#c=6rses&=L2BsObHrE4Lj)xdqDt9{ZpG3Td)AxUXBaAz+OTA%ylE;t}qG0qFf_4Dt(w)KcjkN>Rg(hjf61 zXwNb3@d*eZGp?HHSxKl~+_5M7|8%+R??LseSa4#r_;nY^l$70xcXHZ-<(p1r1v6~W zr4<@X&FkGM`?h>>khdPb$AyRQ@aG}|dM(yKtv?~PAAO)m)V%whO8Lkju1ym-JzD(m z+4MX$FKws%D>7i`&m&9^mkej4)LB51l*wlk)e{Zv8GiXwb%rJ0g4t_MTG)hRErx1l zT&{>n@v-yx=@&nJh34D`-lI{I19=!Hm|0c|$ObB*1Rfg8`Z+BeCrj~T7-;~dPq{r`;lbpUF$ znO%K9rT0R8jOy4qT0I_=)z)HK8?j^DAJQkOv!GYWleCIn<{9xa7{-D&2fAIT$s+_N zaT(jE_gUR~z)#WbSikw%eUdWtfNWY#ld?8h=l^k4KCQEReLSWROuH-^E@r=$=2#0_ zux3A>Iam8wIIeKS-6~}|np4Dn{jmumD?e{(8hn+?r7u<@_XZWj>-f&`ujf*{W%YVO zX9i~_Op%}><+AI82a-i5@Mb+Ud?n@s&-<`9xq|_4E*2+1{Ga5(2wPD^vY|w4PDL3f z#;sVy%3O~)O#!a|`qK-{HJ?sSmK!IE0xe8OwIczl3-Pp&0BrxgZ4Le>x6td=G3>^9 zQ9#6y4Eu7Dyl`IgLBeg8M7ds-j0=D<1|+BGgVsBM2R_fBKL>GEat5fkIL;6?GLIvZ z>-2_8^e>+!Fcd;S$793E_(VJN5f|8FHQ4siLhYBoB-B2clmHzFCb!k1#}3Qm=d-3K zaE4^@G)f+K&ZZzIHz0pT6OWUDdDtg1kz}kB*fI$ou?&lwEk^I8kH2<9XJXui zeolEm^=Gr6W_bRpc5IOL8*D&x4DbN0(+Y_M2Xj+Re5teRGpMfrCF~j0cd}v|X%0xisTM;b}-1N;&m&&GIp5n-hRLQA7 z9h|AuF!Cx457e-{P%m@JQ1mC2GKmZhYM6Evi!>E~RAI;b47>B4p|JHrVcM;IHEA^T zSBouM`0eQc?-%Z3;NnV+=4xqLjia*z#TaG1YjuY0W?=K~OlwfJ*xEGqw=4pz6x0RH zRB!ca(aPqQW|*l+hP|4mIJrO=sT6F`nvp;mmN>>qp9_r~bF<;msP}&Fkp->t{&FqT z9a2;H@hD2l%S4`sEjp_$!5jtOpd-QBKT5b`g=;pdqjQDFF&f^UV3~j)@8PZy%LXEz%s)GtfK9XH9-Zm#L&t{c+Rkd!SCS-V(fV1~ zMBh31lFi@Zsl?j~15Sq5g=%&(r3yI2E1RUo1tEfa!y%cR5V7LDFir(vb-^wF)ORd% z^r(fl2rgGCgBlUz&uV#pLd*q((PNi6SihWa8l0Ke;sg!&?paeAcpDer%_gN-+? zWRCkllu==*0yNOXer25bRwQb_AI;KZ{sZ? zDeJlifu#yM6hf&g*h7VhvY0!NzB4XpU}O#z)LCfB)=J?d9+t_D zZx-AQDHA>8csi7vv}Bl1ely8f)=$E0D64RrupkQ&)-}>zB_He{Kc39fZp9k6Q(xWIZdHlvH7(b^X1ZSI=bHzrdDH>hnka%!shvgfoTr_c^k3z;Y?$ZV0F-mT173GX-WZ zo6P=Ev17>@gXj89tHv_=W$5=-U8--5UIkdY6_NgdR=gLlaH`YUc7|iS(yw)dua#mv zUy$B-`EuBq;o6|qbL%i+F(%Mdd&-q$whXa6E`j%XwHmU_SFyY^K+cZp%At^^{^=F~?#n_knh^cWvT z8+MbSAz%9q*R!F_Z0b22O541UmOEL%tLT7 zFB7(2?tKij?n9$Nb%8oacF(~_gs=^m*w7qmF+a<9M%%0qV!j>Yu}s}Jpvf5WNuFFu zeh$IKYh@frSPE?<#v87-BKiR^m=vYLqj`9X))LjhJJq9mxGe;dJwOzPgVt?e{3q-u zah$=aTXZynbt36OV07kt!}>ZVt&#Efd+fX*=1gVWqcIL1g9u9v`0?1d!&|GCGh4EZ zqxY{9DyZj)xe+G}epNZn^}h}-+y8Y8YX4L>3(Rdt00caE?b8f<*(CL0?ISZ<&>sLp z9|)Q>qt~s(L%o^nv&YrmM!9my3Dmz0h~+|fJ0HI#%G)sK!J`t;v)K2}K2KgJpOa?r z8TDMyhBZ7y{na;}6diuIq#WrtuCM;QjVa6izb@M@sj}CusrRAkuMa44LFHYQBnCaf^{!_c@X?$H4i zk35!bQ!mqXm=IP)=Vlo2ukri0X)$?FyxnH$IMOfKd51{baS!#O3iq?AjJtvwJ^ZzN zo_xvY+Al0{9A1xu&#fewK^UU}2ad8gl2`2|%6zl$=k9Yp=uGGzrPAl9IgWN&3IB8{ z&Q#~fbSVf|>>4GHMkScqi(c)Ie)}lXhIbOAW2#b z#y&)yLFVwyA%}0kg=ZGahj)&XXNq^Old*p>kv5_;0 zjF$rOfswOUZjFMzaDnw#OJP0B%c11;AZ`iCc=G&Ct&_y`uVZEYk-h8oEypaOJsmtw z8K(E;=wsr3;YuA+P&J>l0E{EDQQtZzEHp9exw;ugR#=KgAHRRKDM^C!?TQ<6yqMs^ zS@RY;KkVOf?hg?~?>F-9j~XmEpIhR}Vk3t)z8vk)G-e41lH5u4i5)d8P{)S9mGue* zP4wQB^iD!h)rMGkB>rQLsxtQ%$`U7RsH|I&JOMw>u1ywnIz{XWp;G0+GttKB0o6a% z^!?PO-DJdbyk+E|m0y$9L7?_=DN**dMt6wrNmbB=#-i6c)O;ZADYVsb&+y-LM11WZ zhvmlq3fZzhz%A$46TO`t7^;v8F+^7y1;j1Iy1Ora@G>}#k5v>iS%fn zQ{NGan|Qz(;&-Y&5c)m;)L*ZMmF<^cQTp6pPmwO{n_!(Ut?Xj8V?TsFTiX?5AuTpk zF91_4Uf}n<^8B_65%fO(-CFuNyLgfNNV4y%8pAD8w9192c{eG!<0j+!Z0dRm3A==k zcdcpL)7tV5km++nUaaW)8?6zrTh|xZK+l@yH!GXB;e?}JKx?*uD?(+{wNx{)L5`dg#4B!Czgi0pkGL7i?&J>%iQVN&lARmI`1f~ zf^EAa=x<_SmVXuZO-ZV|;?3oAIyKwYpOAMQXOZmNwVt4)C%UtQ52;qt$-9L228ZPB zfv%LO0oK`H!$vux(NdSf49Sj!lF(8|iwv{=WsWZd9$0aYeVSHpe1YYRXMLP5Vpp*# zl!WS+)a_9>-IY5r{848R_EojaMQ)Bzwk`eOkel&mAH#ty<3Xvtv@SISSgm!j85EpU zA!S!2T=mKdzJ7KPosCw#wd~?v_JbSSVBnCGef3x_Eoj9iI6Y`^mC6@TFuh(1lJs=> zEGr@T>|q3)u;rs&7+y<=2{Sz3X8m?7IWDld;)vjgo~6evso~KLdBb=FZwSh|Q_MALRREc=t5gMI*O+G5s`xLJf4YHV&4N!hcQQg_n>!`lobj;Iyt* zXUB9W)Eg3zuL94z^tc|E-Va@!tzQU_7|sm|3qM3Jl6o6T=QM0RUz;8*{f-bM7Wo&t zh};tNnY{D#as3$o5xvOW+B3B(oM|Ca$J<74i4a0TV&Ic{;~J-PIwRwge7gC*a14x0&f>TsKaB2TrKO+qa@{lIpU7LOEw zL#EVic`YR{CU_)fghJ*sl?qROj-gvYIV!_(n&lT<2s4_4ra=d>mDM_iRo8ejFrj8t`Fg)u``yt=AUGIXKqP@|0LIFG!1dv9=Ax zCRdn!9wNq_n0>ZVS=lk3WCruGMa_6tm55D$&y}-WrF7K`_#!{#*o4bM-mG9-^a06h zlo|3Ni;AKS#fIq6Y9ch@M`v`QqNf+{imD*7=uuZq&ESdB(W&Jmr&+bY>?x6m~Rz`48^9Rap~DPtnxT zQ19cTQdsi?r*p^9_iio>&+G22GWs}Te%ULfwR*5wWUVw`*cWI1i`P&+L8|b1Qq~al zYMAPt&h{d@-jF>o?r>iNButVi{c{>uT>hVWWNti}vc~)04dAfqxLs z$``|W%zgvNKit5;Xf_Ip=V9FKXLb!zL5E(0{m+HH5#YlCKtSM;y{IK3o9c8~DZDN*#;7*!4bM z+wezQNgkFeX-(5Anu^FT*=2NDZ~h3&OD$dmi|!a*^`xw3euvICdWvR^Rp+Mt;P@4n zLcZ56V;SwhX|l$iHYb)Lii?B=(KC#I@6$}@ALA8*SYN@4=lUw2z>zUzSpUHdV1GnZ zlQA1s?)pSbuivGJ$y_KvQgHfLM2mu_Wa1~N%dVxf9+Vg2D2i?|XL*A|FT~hA)U|A~ z=<#{`4tV%fk_Cs=8x#1lOEN{!4%)4Ct}w`Iy{kYc-{n!#GIhiuB|H8j z*m78qs}>=L!K~_bnOSJ?ZuBeUVSHX6yKht_>dpY1$&X3ZJfFcNzMRF+x=To9wg34^Cu4Sa!phFs0;X&~Hf|z-xE^hfD5oC+ z>3S+uZ#(}zN@`)Y_frO}z(Dk)lq}z0_%@kUu+h4MAGEa)&^>z2AC+hA$QMqBVpUA- zghO{}VpS^m`XuLzr~J(vxQDi0;H@Ids;<0`gXLZ?)g|vWd-9(q@2cf?el|OuN%Wla zwiL|9Z$9)a_J@j+2i?DvDl)|;3`Rd7@otKz^*YM66%aa$6Y z&ub)^x?26zV}~9s{17nzgw#N)zI!7PAN_g3%rdsC$I(ghHNM&5UYds(#x}chZWb?5 z_H69fo1bL`4i4nC-4D}|kG5~CkwJR?!M^^1>Hs=|^ej_DXc0SPz{k7aG^ua;c=B}Q zh9en2bofT9MM6?#;~M&OBN`l+OFrKqKe9!KO4cUzj7JpZs2U~J@8a-DDVu05JtJ};AuAWh!SKMZ!RN>7# z#6K)3n!EokCi(3}U;CSQ&DRpx9wQfXpXF`3t}#Kva_0kkJ!-q$6o+!no?iY%92Qg) z#=NYz>lK`Q^9XW0tHdsS3Q!YyHC^MRvO8xAcyewd#61WaXpl(XafBYbXdt!a_OzwL z*KFU3M0H|!1Zpc`ZEwK0AD3rccPJ}g`Rq4PxAeoapo8lu*0tGN=abz?%XbqOcmLpz(jrIo|82&KV4{CFaN6#> z`S6ptU^xAg5M@pCG3lQ~k9X@DyHo9)D*1p#CB~9QbG23WKA!PIm=WVX=~rJlX>m|lJsZ=5O}pRKhe9-V#zz}?eYbW zz4JvO^i|nykPHmvxL4bDh;n&U+lvdWL#(cTws9LN*ey?d)@p-MOJkMa<_}cU01xsf zPpQG>LTiEDisf8=r6V3~mdz;-N~7&-AG#|B{ElBQ^T$%RGA?YM1!U7hF9JNu2#7cn z3q#ziMdq|HGp6SAq&T)2pL@A${Db;_t~lV;W!S|_m(SyaJEetDS$WE^S02&vrTz5( z5FOv8)BCfYQ`BX#AlDzDGQx4@p#JAS`N*k45`ia!<}pVh{`?6VbMJYpeUkbNYv>p& z1r9pWj^DxY4?q6u^Fq#)J0x8GsR)opTyPJS@{!&lTs}-KF;lY@Yh`&eD1K@K)uOgkYi ze5E2|^*zAMh{&T<3OZJ1aYl+3V5T!}Pg@5e(HSr{!iB3=WPCyZn8^`&fb`+>nlbHP zaNz^p8A`~Y+LM@eS>V?HbmUPWj@1N@RY~Yr%g&kTbmwLMmLtB25pc>3{2;kPGTG+T!;!CXLiv z(V;ghBor8YtVFnSM_c+?xU%|R+M9JJCA|%R3mm(`*Hh4>oH5;gp=Dms{eEhJRk2{Y zFNg2jX}V>D>prLBf;8RdzSw3YQ#xMbVHWk`-u}lcnrAq%W5gG~9o9XdLUVKm%wAQ} zF7NI$`CM@fOefgE;s%|$=SFQfo_knE15Bvg8l$}JslI1NZ?uVSpW&U(>bh@62eygs zcQAa^E)4jKjBm0izBlt`ofh9o2!?cqPqm{`KMVA)^-{xn-1rt*@i4kMj3<_VLLUFl z=a8Uvb3FZ4LIK@{n|-f*BaSq4AE1T>UVS>tqnV2RY9Z-m)!nC^)m6 z3##G5PfsXF@~!M}t`RrfeHHE#d>}s7|Cz1jepyp;?rs(ThqMR`kupLQ|DI5=!DLtw zagFE;Kf%85M-I_tU8lOpj73b17bd?5&wdx9CQf>hnvEbVQpfu5lK?7A?Ku|Vb*DiR z>nNeP$D>jz@TT_t)4%Uh3*rJuFMHlUSFk!rE~tFoHF3T;l;*FwL#p9A2!v)RK*Iyy zcN1nP&l;~@@A@_~f1VRpx9a=VKUu23vK10_=Y4BaBsk@JYBk*c;SPRrDGQpMyuOiw z3W-b^DQjzyU77>8d{h5>RORk}!Nk4aRd5Ts7%Px@p|FeI^jF+}PQI+y*6G(8^#3?~ zw^jPiQk;GH*O-rN=1AL9ph$m0?N~bfj`7CL_uGmg3Dn#(6CeM8o@=Wr-Zw&YQ`mHGM1km??xO>cAO&)S$g($IW;f4z=57L`(k3t$IUniKuaML#tTBx zn&F0b7cvze@*(DRyIK0>#6v&Rk(d4C)I7%Xs7-Z$L&?9!36({SiHFnzN7P5=daME* zRA(ZhpSmf~GGc$4vbKKhX*_jlM~eC1639p9&J|EZ#{Z<{4c@S?%PC7@&O$ZwY*&mf zrzFSnI5c4{F~Gp;AF<`|>%!@W=Iv`3b8&uJ9QkHeK0ige;y>>6OXvIFhl0A^rUE@| z`8)(elXjtltvkI(&0!8L62P}Cr!Pc9hEDmsJ)iS=F^*?jQZ94v$sh^N$%8)o6Ekjk ze-Dv&f(~Y9-JIrEy>?#zVbFN<+CJW&b-AJ})TxY_R6YE{%(>c13*GU%QYet#LqY^z zt}N>tdFN4XW^`uiXdma1T2bea_BHdtovKA zQ5RzFz22L1PvhBhOG2_rScDc5E-)6d@fni)+JRX)_ADDL-u3#u ziiTnFJ^V_Ue*-&y9r50#K-Bt4DDNDBtRhYV$ydHRMPsDS{yXk@Zgoq-w-=cf!{d;L zp=I^PyggKu>vP?2Sf9E?IKwtu@e{1|1HXMVYrt=n;C;b7;Hd3qBZ`;!{BV?dL}_uK z2n0<(Z~gbNXM}kz-++H! z!-m=+TlNjd4k6o{@io!nR88?J!fY2iFvj~$VQ)&hXc2e0_^Xo%%fX15O~2pjl9&UmX85ZULC=Kj0|E8l+g2jyxSwo(OG>&ho&4}q z!^Y;^ObE$lRlua#c5xc;7a7Z<@Q4h0(Kx1}bx9;RQ}NX!{Rs!QO8XaQJ!JY`79QOH zpfNpygHD2#1@rO<6(-70xmKmKeq3)bou z8w7E%=eh`qzHOf{BtoBh=D2L8OJ&-0tz#qW5@pP^zu z+AuJ#v0i)X!-1kB;7a^0UXZd(b;v{O%JzbsYA?HofA=zxpY3B|XFyp|~jqI}d^QH%N z%^vOX@f-AfCg5A%t%MME92(DfDIEURcY3;5jYoAwW49*x8~0h9m1sG%`9+f#yfSH+ z>6~}ZjJHaPcup;3{GqC(Gq?1;J_n2&1Rl#%8d`?|rj~GsAqE_uui4ocLy9VNUajhP z+FsQ$k|-~^uJu|aK(ah=peG*~NL~(>Zzv4Omm}Q!#&f|YZNON|E`}*a{FmZOSnq2; ziV7VMOc?jM`Ly06U%A1y07~V@h1&1co&|+?g${At(UrSS-{&7nG+|WfOxr2&+vgK? z{SbN4!QMdCjbUGLd!L^bK&9DpYp2i~f|u2H**SRq!b}ieZvUGsU_nu1(D{OiK0Nng zZ5L&j;@-2;E&d9y*VTXjkBA3QyaJ4OjiXAMy1O1w1~M;w5;QPSs@v-uUz0Dlb2Pc| zz^62$ALxPCWGy9oK*yb5hV+fhEG zyXXX4vBHgCNU>ad3tIT9hwgIC$=ipYN57gdUq4O8`MoNDx6-?(BV&&XzkZOIZndTP z_OzY$EnfJr)c!4dfOqfj-kXX1N}UfS7@(jlatp2eE4!dG5gb@99Q}zPrF1~@bng2s zhxeD$jfcGa$koK?p5R#bVT_>dpl{3Do$N%dpWe1Q&?Eb^f?HSAnx7)zSO<;1mYTRy z&#c=-6=uqvrsd!>T6sQ)$DoRUO|!PG^Cna@Ht_B*gzOZb=a0PGb8dlL|L-;W2im*6e+n5O^hifdT^W zYq-ph{Ww|fArfD*ZG(ZMm>_egqt6ap51Bi%bgs9yHi|@u`J!T3G&}On5>@_!{rZ6$ zJ9fP(ut{c)EiBZy8lf|}=E2n7phdesF-Y@cSCIzKQnW-L)8q}Vcx=lj5vtkIkt_C8 ziADb6h?zJm!>8OftiKMhUJ8dkq!t5u>`(QNaa4z-{IGJV@H z`5Z10p=pU_c_mS|*MI?Ywt%-1$eHoRJ_D!xYl1jKnQ#nswAp1sQC z`a9$4hbY9&M8iA%Nc1?c3E2=%i$k%dia}qoaVN1YcR=tl?Q0)OeS@1*^7+2|ynafo z^&l&u01&k^k1jzAb{h$8(7?e>wVjW6!3|w?0lHFzH(9LIryOumNhi)ay^?tEDXr|T zUGje&hF|mF2G*;+* zn=1jzyy!p-ukRg!vDvW97qo&p?dETEufUK((n1+~Av&c`*sp4Kx7e+}O@k!WWrhC{ zX2+KWr2g4qvINEr!$$9)%T{4_yduX{qUq3|F(WYc9MLO(S)dnT8b(QAyfdPfAM~+6 zFMc)DkG^>}q3h#wSuSKdPL8xa1~Yzv$g7&*ZHCvF1*G34FxUu;pO5OCVirKcxsk~5*YtcW~+WyK$_bfHbLLqm)urQjvC-Op?dJNv8<#l#;clyO|Dgp z0)$pTSQ>q^WOSY;y6j=m4c51n9C3wJ)$x)8GVz{u9runqneuRQnL!Z($My#>y=6 zi#W1e6``-#P*1x+vj7d%8En#%uc*#^>QnjGgzC*DZ;wgwHfd-C&d}4FyS26GPGZt9 zrB}45edTmCAhGW?fiVWV@#1S)hvNb4y-_dXW8%;*lmSonYTF$P_LPh_addz3i>Ew8 zDv!NBHtdXi!#b`%$)S|fld)ZYMrG}yXB=*a%KqqtzS8uZTKJs{Z|H)X0^Gj^POpxDg$xzBHCZkNHDU@uJlxo_aT%=$G(hj+wHbZ zwID(Wcs2BL-rU^K#slt6mBPmGV&A)JSHQ~fiFlh#_U`7 z(h`n`DrSEQVuiUCU_{it_*La1-x{2Ulctr0Y#z&K{xv+t-h2%~GiNJ`T`v4dVt|EY z2#1BrzTz&6Z-DVeUbXpb5VX{nspwWhfDjBh(7#o8id)KdnXdgv%BN+@5F~xP9%31K3z}&Y9?W<{UiU^$$Ufh0ba=Q^yzO(3e4GA5%Ov!rqEFY-lxlg6EG82* zmrg4e0oh?#k1bZ*A`kTsZCe#SLh;Znf}}(e!hP}Lhqi?P1y(fu?u*&T zH8hq=A?t*X+?5M93Dejr2XFix+KLc)B}L=#5rFxUL-k(_8oX(p>{r6W=z z>7E89lDBBMk?c{6sIS3SK82$a5VOjA#5C;2VcGj7b|gWJJ|(6-wayDlsKx97p#axu zB`5t3)U?2axYg-M05V0{FB88&djc;%4KRFqx9^^JOQ;mMw4wDWJM`iw;DUd%{QL7p zoWM7(s_ZWjJm5E4+z;sIT9(6M>iqLA3Nu1*Qe+jQ(9EQ?hOuLV;+;x>rV? zU!n@G%j>YJq*Y#KXfA}Rd47p8dAIAc?a5FVZ=6<(6A?Md-moH1&gk+=BQjQOo#>Gj zC1!aw?|HUfM(Y{d&J{YZr*fA|U_gHTx{lmDuA7Z|P}_JoWCXL%?mIHpE)hSB7IErT z1(~;CiLH*9S{pfXvWDcdR7M4Go6c7mODv{D`*C)oK{)(ar&(_tk#uhq0OUVq_@d3F zYq)AcYCpD2%h9R)%JXlT&MSA;ZK)@Wp)CH%X^w4&5bKxBdfNp>eV3dic9Q&YejE}n z*PK9v2w;76!qoof#CX5A9yJN>9a0^hFo#di2P#k4+ItD{f~zn6LQ7!Z)wNtg+vqPs z0HolWg!^ynC9To>FAXJse9%Vk#yp&Dh_04Cc5$d^>$9K!rh8rP{pG|iRug=y^Wk&w zRJog?G|WPFA>7bn?EOK}DPFVmU%n^81ED@KJ|@OW#d?%+&Pnn|%jmGXHQqk7@9@~0 za^5}}f&=efteyN`@^GCe;v~u~F}RDQ&_P6f2VcApFfQRvqrHs$?rJQdaG;lR%Y9LT zV=0GBNbR(vw+F7oSEx)(EuNZ9I2fIw_9eHYja>e0Q~yIohqF;iVmoGveJ5Tw}E6X|^ENj@Rv?Al~>{g0})wegiqpow~8_DVL}3@ay{184AAhq=an zot)A%Vz4b=D{O23CF9ELDt7xodAS)1=JkshduHM1Z?(q?8tkK3j5QJ>L5yB6a&k_{ zKe1i~r(8@Vtxf!i&7Brcoz@j-kQz9l_Kvk@#lw7S*ep6GD;O~4*<-BKLO?@*#s42) zVc7o6>y0_uJBdg~j#BB@;4oX|t5fBr5J)?b<$jhRmn+UIaPmBm8?|mu8z&=CxJ+c! zEzcQ}vY*x5y1hEn=6F2PQN#;dj%kzL$7#Xaj-5{9$r(7XZATQjc#Flf^coy;KccS` zz|F;CdIeT zvi8Z1t`>pHuJqZyX|_E#z~Ii?Q!^6qr$v?3UubX|a0N_7BGihp^Ztq`ul3z3nEYYJ zT27 zgxW-N8UYxTCFQ+~tJ+X>T!Jnly-s|B2*Qa*I`(DaTdk0RcPfZnD=wZEU3hrNU>rTH z3zrZdWp~DJdReaxPhlE-tohRA^f{0R)J*aE9AA`NNKw_XWPNx@w&M5wuAwW4YgHhC zt2&mF%k~@R`kG!dChYgeGIsGZS1v@n9b4@C<#_jCe}5FBPNsiPMm^0WW}H1wn?^w?GZ6Xr829ae3}T9=^Rydf{#jX?e4Fai+XTd% z`Vu%DrtGkHuA8Kc%36DPhNAaW{Ab~*z!P+WFtkG3s<;V6(KJ6jKd&z@Ic;Uw6lsVk`1cM41WKQCgpta`xib5JK<4ZwTUnRL3 z6AFObPbOnpfKI@iR!vBSWtlqY@B^`&SVavJ&B^m}PkH%?@OwHCO(3EBz(fx0O42}L zTG{E>#cwp@NMhG^dOmx%q{@)Av^v+Kg~Ke^Gy!Bzw379i`^k;l^B^S(RSi)%-%#|cfm z(dgxau%WynCjCfoV7~zt6bS{c-ca=j@J^sADp@tCzw%hns#3tw)EjHvpR;5gVXE?k zQ8v8rDE2=rZzS>vC$dyHGQ13PpJpD{a;o;mapt~; zYT!BjW$MvOtrb$bvhkKqEvf;M?{FcTQeN}0lzp1DxJ`EgKQ8a08#Uesks{$J4-slP zmz~{cv(7)Jt+&*%>)gv;{m@6@JmQ&K%i~^nv)(H1N`Xi%&OkE#rLfmmAB@oTnYRR0 zGW*AWoHp@MN)F#H!?rFN>J~Xixn>oVm7$8qm}6Qw%W~P;+i(J!*%QJt!mz8iBxyt$ z+Wv!1@{nclrgGuoGIEoq5U}}N>sLShRF6WTXrjtSh^0ZH__EyQE0mVy6JJs}&|f}V zVL(KblZVZ(4#0XsUpY?}Qx*kk9v-9ueDRldpvfb+s73%nG<#Yl?wSo9;~b{`bAUtx z5kO)^uAM;RZZy7I=Wq9K_-#>wR8CmP8(n=&M0AO~y`(;8VE=tlDQym=9%ts|fUly& zhcCRu6MmaW7Re9#));(Oj^FM@8<+-ECt0}~!zn<|cNhaDzuG14Y>HDC*}k~vI9SEu zQlIhVBT4Ze5T|BVF$lZYlnc!`bv+RRdw$zM#2TPCmj;7e({$S0==W`fPhx}+T!d@?(^K{D<& z$q>`u2W}|KUPjj65(v1MDe*6coxYpOeTPjNXezsV%)*R_yc%7#&v3$w$l#xR#fptW zmnf7MPR^^&pM$HUDp9dkCsD>!A*xmUyXCaJMxlxbuSbS51vW263yz-!Y84kX=!c=?ppDM0Q zGll5}mPIlzYvO(1+7j&yb`u5>97p+b4J}c62=3VTRjpv zMNnKy?1rQ(TuSb`XbHgb>-gvftr>-{=o+#=MAr~bgul7uyGu@2(3QGsx=A15zKU7& zY?pa!)rKgjowE=mYiB2 zk2G9)v~;;y-m(B=OGVM<=y4f9bPJkp^ar#HAI@1R3G6t-h~uIixCetWXOUjgJ&ug(TGKZ@a6!+cD!I@P7m9SLH( zB_JJWfyfU1K6chSigDmAA@H
3*K6{B8|8DkP7UC{EgOK`uH*s@%8nKdY+a?L3b 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≈y15gv(cpGJ2IltvNlp;oDMKmZG$(>?Q7 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 }2epGm*JLy`6=%k5P)76*mDFFNWziC+JeA zX|&Qf8>>K5&XGx&D#T!mVA5u*+Y(;M@X25&>5DM5p`+0-4^q^3;q@%_@D2a<`RolqJL9>1B` z_+m`zWlU{z@qCQhbhhE216^5RtdI%76?9W{F?M;ygEo2fgi?l<-l*2_skuL?c{3Dm zu(UQ_AGn6ur1|IJG>l>DwnbI+&$r~6IfJ}tK0&&nG-6hZ7;_`B-b^#V^e?c;p9SYk zRV8cSH^*N?-NzXm|3bViz+Q6$ExW163@C|!qe5UKkr%ZEd~E-QbOWG2Lsa@AA}?E# zm-iL%Opdkvi!G>tKneaO#6^4H*ei>; z4Px^9RK%Z2D7P5xT>>tWe-~(<6ll$L*#jeJ(eTA4TXq3w`73dPQ9;b8Am-CJI}w2Y z7G2v^+is;M?Et=`ZTF@Mf2nOYGe+U#qAVoBGyNm%J)!iiK=i7f?Z*7LkeDt;6}vFJR%`5pnj?w`@cA+8u#FQ z?0xYsQWg_k<+`9mCK3j0$N+R|<@%s>*$Ef{s@XyK^|cZoUTNYXLGtiIS-k1vJ~iq6MO}24A8+_^ zls8`YeqeFeb*mnrz>ZO)Ew44Go1x9s=*}az@`=KGp zK9P35TZE~98UWaNt`M`w$$8Gy`b|xH3j8o)kV-{KjpmIQac&ieZPLQBW#Op_YThx_VY^%jGEUutDRdQrr=Pw)hSd zcjTaPr%)Wk?A6`1aYs?y0fWZfNO4OCjk}cMju|xWK8ibN&~JeCgW<2PB|_LgNEwo8 zg#_8fG8Tpqk=~N-C(j@ei*~zmyxYam*$W`7kUx02(s?Vo(vdhWA{^(Sn5nWD7=&X7Qh7?C`6e9+N+36?9;tFR3#Rajs?iOi`m}QX?#8&uL)prN7 zVY-lslWf?aCn#Y&SlER-U6Id?awJXJx2RO}<>ET?)&WHo~QC)IOr22{x@gO|l{c=u(0gN#uc* z+HA>bL7P#;9BGX?F=Akuo!%_XF(Yl5uVdYkGe=vNP;Depok|~>v8jb&og4Y052Ifc zX<;dYpQE+i5U!!|O}`c2^!$yG1EBA ziU2G+5r$*vFPWH7?>;x2P`8m17CmS1)4wy$XIbeb1_|J`$e9d%Y`0Oi+rw4qbLAFofTVke|ApRC0*+6gcHspYT9kBvIC?KS$zvFp@ zUfv?6%2|Q?Fs77JMaE7hZ*%R)!r+7yZsL9EAr7%O5#e0S4Bt+GJ>qYOL6Y=c+fC- z{+VjmI#VN2z12}^MsXt&D0B~r&lYlDzWi^c(&Py8K=6D)p<)H+_G0yVlH(tk(rm6r znqL@WSa3Sdir_IE9sPDWHejQ$PjY4&eKPpf|hJ+Z|o)&UeA-Cv?DRlKE|Vj}Vj zQDl>La+lmAO6EJEZ`o3wpU~;Pt7m07o62%#%W`Hh{$F7gF;n8-gz(P{@c*0f&!inj zDZlT8@ttfHk~^uF`gfv**(oS<*C@#FRw*jpHbG3IHoaie*Cc|y1Khar9NB>1%B}!# zX5nnaXGO7fJeHClTJK#lsFC(v6Uy!9tF7i5^AsNW_Hr~Hof(3^n{nie z9_&9$x2fzzy0FKf+Av9`v2%MTZHD`gLtXW{^rifXQNDL0buecIj%1YD%crZt4IDkP zBjxJGjdX0|a(u+!2g^Ho^?LG}{uPp57)vL-B@<{SSJ3eOgAs;rgB#e#$zQ#9VFG## zCK@thFz803BuNdn>AkFwUYt-?8~!BR-nt|GWQld)fj(Kj=ec@>}@H>-d1vq&y9@nE#w&7oW|f5!5I9K$KV##WBj11 zG5&j5&UUh#9b`G%GydOT+#t(q^lpN!`V2sb?r)+jjwfi4vjNZoQ zG-7$%KP*Apg&gn>$G}$YE>P{PmirV)jtTh2E+OAo83i%l5G@LHoC_`OEk#QBfIB)t zidpKEb#=&a_1S}~)zxQ)|7!>~jpfG$h~alI%`s+;dC%0E?<%%)#pO5gRf1LQ=*WaR zqqc>}yCM0Vqb%~!@GfdZ!9`e(-<{~lV-H_5-ZSXv@ZjSual!w6ygjNutUy}G2O8k3E{QFA$`$h17TjJk~@P9kN z{}to^c7XpNvAW%r22e)O&vGHJ#QO0biD;~k*e%TQFd}xVj%cipm>1^wB_ifkM>JMP z2o}|!RJy2b#kapqHVrg%%4c0D$tatwwPV)pc-Ff=Lz$mH1rjxAVhap5)tY_$CHQIpd9-l!36P@;c2ygjE*2 zk&r0GVs@?;?5W^xmp5wDr5sM_mTNqUvvx6;IWCSz2bxE$jk(Zv}5awG;FKiK3H;^S8Comx_mcJCVN1-zxf1 zt%H43&Z+(=&|^-@kWzd~+SwTiG0{V8f=$g#{#HYgChZIU=l`P}R0}w!_gzR8LWGmO zo|V0>i#|k;jL0^RX7KvnSL;jaTb| zVuFXK-WAKMjujFcivv9pGJ0JMBU|nxuaWZvge#bdvv6giYhM(dSN70+9+?&lo)v3=IR@tStcs_0#2(XIbT2)vTZ&uq^{Ymbu27=Mc2haoTJ@9dB!^t} zH-x+XruY2>-K%2Yu6A111bWp8n~I4{u5FstdXl)eXcKs1tt?29h+b(=QODErMy+<> zv0(=o5Z)Lpb#7FA!PE{8)|PM;nB+@}OB0Rq%a>G5^L%rBMC=oC{Evwckk6hja*Vrl z*c>cl&(JmPZQ3(C{?b6uB~O2P%2{z2DZp@o!@Kwx{)hp>R=IVyv zA9$CVj4gtAC?PtrNR|nhr_YFRCU}RMFD8sqlYTOu73_?+c(ZkKkUKwE6B~3--#gfU z|D#3rIsWP3NB&FLo^CIXxoi-5o{u+C5*8CX%Ezm8&)=`MKkCxbjm|0Ep+<1Tdf+l> zYm;=Y#GoPjF5PduEvdrjx^;Co2rfJtz<4~8Mhv)ULt%7+xG13&yipD`X*KoE+TCy- zpD%+GL#l|u#2Yze7*~0jHnk+GjwmW3=2tAz1xT`%NMBw1r8Wdo;;Mtz%mKAm)$E=j zkYv*e!4Zt0IUd)25X*);=@Ex1D{co~+;Er1h%x<}FnTs}E?2WYt^GE}7@4L`-i1`TBD`GdxJ5&PdV`}QdV?iWZ*T!) zDa&$}%W^7=|4pdCj+OYA5&mNX{5sj2+>-#`~OPp;A@>#Dfmn+h8qAfXOZ-jye+9pn>e2e}73$nVg8EMh!6CRtrx?HS=--7019 zzj!O8y}a=iL#l&q?@OjhgM7UYjbrUFI85)qKys2%KKaUkp%YQCU_^pBm9e2H<73|2 z`ka=;MTmgtOsq!Hc4C}VdXq{hGN@NbC;e5OPC9gISFfJF;>tnQ(>bW8-@S79Ex-?k z)JdZrUnk^w3+(^>wSNEatHl3d|1Xvd_y2men*G1xG+R13m{7j(JL}m3#CYX(Q@96s zL9hqNJmKBCJwW1N@5wztGL8|ezBbQHO8-@d3S6HAbQ^S@W7CMvn{8d+l1Tmx392wT z>Ro|-CWzG^U5b)m-w6!^St)S;Av#uD@`+HFJXPE1+uTlbEvz04qoqtGD@$b>KbjLp8FF>oRIlZkejb-9`Z<9ZAeohFd?~AWH=}5S(1)Cei{zM}6 z5JJii6LJr5lENobSCtHmGCMRa&<|WA(tkQaJ1Vy3V38e=6_yEi`a9 z>~w<^d)tU^Y44_6V!bKE&1?iGCnYT`68S!pa@=WBjyqM#ai>dp@eF!q%>FYYg5xSF z*quUx-Ks#ab6Buj71_`NZ&d3}omg%Xr-V#@BaCO%$6u19ku5~bsmVak3mNn8vTorUm?vF^DI}x619jH)uAs$vBpM{@eMXfj|3|Uo=kFS1g*%hK#_)F%RnC7|Ef2D` zs-wL1Rl}hWHOR8qD03L3m_@&NN|vb8feFs+D!pfyBj)&mqQj|@CvhI$>s}bhiG%HR z7m+pDmcJz0@N&lxTk2~0wlLVM?~Tl5!9Bd|&#X(mXerK$&4O)KU^~Q>m-sr>H*>Yw z>{NYo!j_X-p6}1huaT*EdmE{6ye-8+*80$tzNMTehTHEx^Qu7wiZ%!oFJCp{{qEVx zVfVYyUjL9|@nSg^FX1ux1;*e-atvNbWALJ23?_IC0^t2eTCRB8q}b@Cqruxc71}M~ zT-ZOW{OTrca;%$jbpHx62qnGaTv5C9Kud&eMg$p6*$|7`$TOq5meM+>D<9dFtymE5 zTLi*5#>mbvjWJ?og6(4EF^$bI7D+a-PnafGn`R$LSS{X{%v@N++0pQJg1G4a7jwmz ziI7GnOBykyair5}k}@_^o9SNM#$p%ScCw<}9HQO{o2>(a_AtDp0Cmc5#h!|-(VhxttizR}Zxezln!T8l zwVWuMf;&+xIpxPWqAMI(w&|r%_>YEfdVE*Dk{16@I!3l9i;V%9P+RX9r5(Sa9+Z(F zRDb#QLIhK$SF|377mm+KHYK|Q%91qbkrHyMLt9%VA+n9K*(<(N5+tr(IK+`%Bz`v9 zI6`ok5SLsLYH*qiUbk~?OIEho88}z~A)gW{G+Qn!8=7(ZG_lf*%VKQHx|m44i3Cd^ zn>rAlc2Pl}Gq2U>BVuTZL|;^&YlvzMyZ1J+4^Q z#6-7+lFU*yw?U5ix8$8yOWyfiDaU+|d1x~z{3^*qze7Cqs(^p3N4Jqfuu>R8iLvqeCmd6shXnhW|nZ#$fuhr;k z)Qc%Yumpn|E|06{140iukVcK{qPT!V}m(H~PtY}KR$yqnL3w}Es??O$krp<}arurTGg5VE(d*S1C8M`O8g^RAJ|S5QBfF-jC$> zJMn%@x%l0o?3#`#FB>urvzeLldyQifzq_0B0DaO}XI${+91-GCMvPmV4wwH$1 z=MlM;GvsIUPS7wZ4F5a4x0K@}PTs}I&~^cOgZ~XK9~kU--;uflk`rn)9BO@-(mLdR z*)4iWPU*}*N%Ry9l&2Uli$;z2>sbccMCAF3?j2Y%DLCgaSRVE_D40SPS`fYm;9i5l zkh}_`yT_V>qhsA4Dq4swmt%iA{mUN5K}`^ZiJ*NiP%td#Zg>m z-21AB?K!)yJr9Z2`GFC2X4OF3L3C!tsBO&Ib&aXVR645HYUl#Odd(WXUSE!=Ub$$! z{wreHnQ~RdX4O^fe_*m-DSAhHnPI&a)z$0BXuW1#^NrhUEc))P+V)yhSFLeDI&DPb zusouwxV3Dds?5J>0o|;(yj#C{dE;x#>##>&-iP13ys@?AO&GqsBctVwtZRoaZ`?Qd zKJVIZT;9am^8WJ;`tP7`Ufu?^2{fo9^Mq^T>#`ZbB#T=~d&VyKdZohB;kO zFFUN);^FHxGNR7b5_RRB+VQ-&u3jBMx}aW8Sg(VJuh+*_TjNEg&A z9@cB&@bwxQ(PnFjw(?$Wy%yHh3$)DXf_f#wdhI`ay+%gd*;?YRyj@$b{p;#ADM&~4 z!oFNmA4ZNGnTXO75mDd?%o=QRSMnm-A{Dm9e#5uL$ON>iwt#?EdB3(T_N!|P$Zec1 znA6i?z4jTtUe}JOkE-VM9Ywv4s{Ez4V*AupY%)5D(v650j!f*S;)OfZ%CLI1%+(OK z!-2!M!yDh6R;S?e{#@G(2i7%1XOJ$aS0=32LBrRp?YeJVubp(>hOe&IL3Q=I!cgg` zUI(wQe?}($HPwlKb#mSa%NrSKHr0`49Sw4MVlkzSqIM^D-eIAKMcaGt^|UuK%i?kP zCxvq~-qdhP=1Pr;R0?Yys>G`|<=AK7cVlOLu$)cFKa=f;{jGQ!ti~Rc%m9>r1Nm%=+pQ@|h`v6U?-bsFzRSCZY1T9Hb8pjrPGs>nYls zZK`wKdjY3jk1ID)T->C`N9P`3uY5#~@$||rDK-<_IYpZ2V=CLG$Z%;jL{UDRvw?nO z0Np=;iWe_<5eQU@o@k2R=*#Tr%dF^2cNEc161ZP9#Xiv#-;%(^(G&+qUk;4E92CvF zgM98NpS#NE_VTIH&6Cgh63GEkB)duAz7Zgu=E$$dhXZu%K#)vHdp6iQE+-vxXn$LN z>3SKgj7{O}kfZxcVz4T06R*kIVF6Ngql(KXEw_1+ln$L(T2>#N6i?;wy7>JP(KrperwTeF^$~mw~1#){BZthOYu8c z{JtIIQ(05R?=ow5+&pCNo8!|z1+Zw$W$;r$r?9fUt)_^k*Z#PGWi{yW2eg77{Jzg>in zTKx}>_+C=_+!JBC%5C*OIpVvBn9UJCMR)^-UxjcF!+(tMc!pn%a4*BJKzIVfK~myz zFF^Zp^gReq;^?1q^!)%Gz|r?5*%$`V4di;EuLz? z5%;MnIOJxlpn`}J%Pz7G+W7l{b&x!oNV!r@ZsE4B+-gOE*vp2UDfZZoLishn-NbJ{ z8Fy4on!*yDt&7oWJILn>`6Lr2Jv{k0#b)y&2@4PQ1rcO#7ryORm8rby`@@E8iXkF9%6BmlNEj09#=#JO|rKb9#o3i4+~X?+R?>X7fYFU&-;Ex{>w12)@_U zwieGZBCS!mPSma?sq3bHN2>N5vt3M;|1BDlP5A~r#~hs5&1w@j<#wRL{)57{VDt(( z8Kma1s4m!YV*8ROHt#Ebl5+)h7XLiZn$GsbGj9m(R}R9a@L1hgaW`DG8Ac(Qy8xC? zaC_X3$ULW^_@rHG(_3Xc!*7_9Qwg)Fg2}#Y)-2i3vYo3-pCQ=oHfc`lB5#yvN8P5R zwqx8N?H2b(8={>F8+`3XOOxOg;R0q=gBh>ldJsTe zQ$}gxxmg_Luh;x)44-0;`g{%X* zZ1Re?A$kW!1t+n!z%SXT;9*CdyE3(-F{y@aa7axZB5hFIUT;y2O&&#@s~Zx*FM}H-JJq??_4Th5;Blj&=zx z1W>FV+az?O0D43OS_+^`A{eFx&?6&hrv}iYB56AV=u$G;F--4xjLsPbO!5peKZQxp zGQ=LHdvAcBMNA%y{-Y5Cr&pNNbhG~$W%Hwxki~XIzZThwn=%?cm4*GEn28cM~2UBkx3xXN@ zfmphTAKc4-Py9qrYmbTFD;i(h_O-^I3wD8wd=O;h991H(x60=jWBLCh?K|M(sE&vC zwqKKVl6)siwodNrYc>`(Ckt$0FvbRqO|`M`q}$y*b6jpX!Qug~&+Dl~9tDeoZCszXSt`O+%V z5t3MYYrQGa5;@c@F!pjcr^`@D-Eah73psM#cA)^!pdo7}*` z(n?^8Ze5KqJ+nqxc|R`UO5hfmI@P{Nk@VHugwWVf>NKlcVP$v*7QBz#`%@f+41NL` zrz>>XsC7D?LtMIjt*0Y@%KhqRygrf=;PY%cyjZsA$Yr~^7TP@$tf z7zi|s_948|-I-!2Rycy&4;0!krH>IPDA^@&q zK#T!Zuck;dNV^m3qo&U=zoLI zTN(O!5PBO!(c5nGptm#h3lF*vK<{8EPDP|6UgA3${7JCjyBPYZ2jzBam)t!CcPr>* z3=8or=*<$H$>AsZ9xmgnV9EC~^y?t>K8B9*P(Bx+_hZ+RtzLLod#QLt8>GP*fpon` z*8`lj-3P`-_%k;`!b|uNCq&=hK@-6bGI*>HjQQ6E8WDXL9MDGNm`GY9f|nnv`)m8x zsrz^0Jd@5od04oXxb`uO-WR$*Q6c9$@Y5KCoX@Z9&LE&D!P&{OA=0C|$hWh&=bL4N zOf1$v2CZJD{-E1m&{#oQ&O$9mYn|Vf(Z9v>^taX4U>E#3qBu?C7ux1;9YaoYu3fi} zLz}J{nuB6#hQvNvausIpnE;I%txM*_g`GghM8I!981C_KqE0bK_p1w9~08Cqq#7r!A8 zzk%WxRn+@EF=^KU*|%Rs4v8?G?W?IhP*XeAv{OaC_bA^yAAALV%~I_he4u>P{p6L6 ziUOBWsy%|K6#noNc2gZdsSfZLKb|l-RB=olmOwUjR*rQ{oxS*QQ5Zcj6Zk8bD6;_U ze>9iaJmQULGlb3^=>^A-j&g(lCgtP?KMyAUBA9rC7o6!Rt(X^XFAIOm+K0k0jJA0( zq?d+qct2TDggL0DBU!LQy>z7363(VN?B6NqWMgG#kIGMR2eo4D7j+1B_m{s%doLey z&k)i198ujm)YJPvfpp_!yhl}`Z$?&!jwTdcR>s0SK_M}YuHILbBC!V9Fsv=n*C^p9 zx@q_}9sM7LL_2RPEW$a(lhpWFVH8M>YJ(aMTdzRYCDyC-jgP*s@qXtQK~IcFJ*;*B zwkmEj0)uuqcn7R}J{Ah-Uhy6VC9_QCUnaz`wIRAo1ouBnlTrEXjmn4nbX=j{tXg{_ z{i37SaTiwzcqov8&7W^(HIc7pCge@gv)dJK1x#b4A)9x)_Mn3d4Y%SJ^Z2C$bEvZ+y@$^x=QC0b=HK+;A+J=im1%l_oHCeat zjMGdn8)=tD!Az2A(70Q>G><% zt0CM|GW~!K<2PLPdc};7=SnBj3FZhVc>CBYT;1*Ab z%ek%LSvahig8JojOJNs?D-??+1-G3t3@R^-fVaZ-#V_#I^Yoko_^k5^!;Alfpa$e@ z3nb9M3DsbDc3F74vheo4u;_)Yq8B!bUKr(G*m+|)5pE}p`8s603OPH<0dhL!N^-^r z$w?wPX4pDF2K2@VbRmrD&mZ2uEdCH*SSW>7p%fa0Qi!rr=)AfrIVct&;J$!XLC}H4 zABC8pc}URo;^Cokf@T)?2r)qukf6rm90+O&=r4^DPRdGj1M=G`E73{Fcd^ly?@&2kmW{OhSe5euV<=yv z%K3mXn6LAqs*E9>srxi$qk)WRMaD$r+!SQYp4kJDE8WPIe0EP{Neo%ih%6~)w?}@A zMSj$0i&{cY7>mh9Ac7&ZBoNvs5L)VnaN}*8+(SFx$H=Wc+wn^qzf5RKN8Gn)&vxFJ z`;8b4q3fnWYp&i0M5TjXxpNz`wLd9z=2B5`eTv|+CAiz}j8&pF>IL^r=6X&Z2_-bS zZ=>C}FGT7MA~lU{@+fBnP|`7YZTDVL6~k*Cynf5jFuacC*J1EFo?q+XbsWDYG9~%S zz`m}$can=^Uhh3rJZ%N->8 z_@4+^!L$idC`NjRL6C0uNy%JD&s^NMO*Ru5j>3!-_SNIUe^PT>t84HsM)IGgs8#%@ zR^dN2R{BrXTqm5}!DR`Hpbz3Xl3T$$-s*4)yyK~F_k`%iMqCYqCm>11_Uf*a{qg{& zzkLHm@QDEHrUt*)WZzQmG&T60Ci~WMpD9)0Gw~%}6)sbt?GE|}e z9jzSVTnf{?7jzyzl0TK1u85N#$g`L(v)5rQ=cyR3mZpf^TJi8r0*f8wB8q0N@s_gR z<65Gl*=xdm_dHjl(2>d$WtWyf?v;3#mvc1BhKf=Zx#y>Nz|uU&wnCfCqHosdX*iCO zqGWYmL>Ki_Z4kkk6DaWj>=1MAxPD@ihoejQ%H0S*IzGW(CGp80zZDgb)aDh|cgP8iO zs*N&czR<~hp_6$nXZ|;5{+Kg=BCxs0Nq&)&{1#6B9Vh>mlm8%+UyP})ckT>6{7Uaj z!|$<8dgkK^5|{{@-<@Mur5E6tA^Exl;v%wj6;8|dVjjALh~aqb6TvuWp8)D9J+5Q6 zFJY=IO=>ZviW=!cK{L`zJBG_nMBgQDDm?e(Qm9c+T7Q5?etQPT96UIsTgl{crPWuW zfng`b;q@vGZAZd@mzDASZ2aJ#j2B-(>$RK?JR>+gY1%0G-`;fvWQ7;2 zU?H&U90(S-4-u^3L@q5v;s3sco??c|!;;i3w&H?C$?6h2siJ9_&`U34ThIYjN)wFj z30=3=;+*eJc*sdakrSG3UEu(#F{xfo0seGmdMaKt-Aa9o*&0SsjQm*I97aaM2x4R? z2_t}!gMpv#6RR|By3kRdDo3~~`pIZ2mfc;;Ayc<0w88(a3(fFu9>)6tO2;v^A+ZS z!=3Z`y0Z_o3AzTZKf?D0O+0me7Qd0Jbr}$%bbCj0Lx_Rad#EW0+2S7|L&8wHaiy%$ z7;Xq#{WukAa>}d$fWP1hvn7qDnVXp~^U>1vE(^IPJz-Lluqm_)wn)TGMC=8)g6wQ$ zsA->tWQCJk?3pl=TTC4=Uo@QRh&E`6D501QH|XNE=eJl+Lbcb>Q?q|XPu)Hj3mz<5 zv7R$2Ta0$j+NV=qBc1C$WwX@B6Y)SDW?t_Zg;#YtmBqQg)|rVquSViQSs(DJO1Djm z-KeyTbf#lrS?bM7mr{Vf2Wc9N^1esJB7HNu&)F<}!xF=iTXZ|b3@hhceHctrHBry) z(kz;(-fJd)4W|~z2SILjkA#74R3twN(8~`<0obL8Z*HLY&1jcdpMSq;6ETpJ|0_GT zvir4njNVK!Q=jGaV|bNCUM|-K{uZhz+$u~W)GK1pYec{7Um-xI$LRB4y#~n-NT^wF*bOJHjGmR#WJNvLF%4LJ=k#0(A0>tDP1~ z`OjfTy;~|>U4R7uE9DQMVP80{(-Uuj@*Ee%@vUbZ~Bm} zYvDnA)h^?23W=sjQ?$5}HUwM;aj~X&CH<2MRkZx7!thGqgbr;)qnaHiTQ^7Ph8-$2 z-t#mo%}0dJy9b|P`!P(TRjIFIxRD!X*!M^AvKD(+^yD%LtqKwoI(C;!FC&#VMS0~M z5oqMXhJ81@wG}4xJcyOGQJsytk&7D^m8(;^2|Wrvj1dV`R)yG(J>}AyRqBawJ?U^^ zB3G0Sb4`X4NkD3gr&sG0P+~jIR!!>IgTE-m%n@Xmj9+It%QEe!;NS2BS2N})2CLRWoSaIiJkOY^j!GpL4%xJ6Q+8K9y`m!}m;M?Oe9vv8 zr063glA2zQaUZ*Jqm`r=cWg(4T>9FL!(IzsF?L;){jtE$Er6fIo-&P8{ID8Zz>8Sc zeVJ?925i%<&)_9a0fH(mrYN)(6Q7+|8NUqUmx=gErT%J40{5lXRI%A922@n$=kOPy zGL@wpq8%zY9|F#olGpg;PnH%+xJS#i+Z0^AyoDj$AHTCUS*Qe^qQV_?NP5<}w$b3h z=V@6d98z@l;JL1Tu3+p`zao`OdtKu+Cr(5=mke+N~=85NpGWwcaWYeVvpjk7IhTtz$2y7FYdI_Eof7uA{u8P_;T(YS$^)SGn};03&2Id8ugc?52Q4acrfrU?{??oyo2; z9?yL{jj*_%1NV+@3H(W&LubY&)wL1XUZm4KQ7|6uhTUJ+>^pGmhw$z=KmLAy9T-l@ zpS#Cdx_dbqq*0UkEKAgT_$_G~${pWrF4Hx`Q9ZYXPPh1|Q`(hWYw7-L#N50}OV@ly zKsRM{)n0`Ae2m<5!=EQ|?Z9~q)w>!fqvR%(mIo8dws+&&&AxnXaxb(BPnpmQ0Iqic z^fF(z?n7DW*#lP^JRo?eNWTF(r_&gZV@U)?EdxiCS=p0h8bRzmiJwitzrA$2fZ$$~ zdo>yB-w$AW>$Eq9czTxah|pS@b80HqKYGB-$qXO%ZD#na;x=jYEN&NBS}KiR#qU7i z4Gw`f2#RlX0QBOWH@OwA;c~9?iaOGwugz#H&j`_u@`$0RNtP_Up(e}nbqCIXxV#zB z(IhL-4Iah?B9G(01f~qaXe&`fr#(ZtBPi}sCoXENYy^89&o(x!2FM%JX~R+6q+DRT zi~##&DSx31Cp7Cx8b4BvdVd}w#EJN^gqp*f=va6edXImPRx*=7nI_&HE=^b?#h7~sQfh%m1bdIhjeE=2B zp!F>Fa-oBH5nvmhi>vaca=P<`*DJ-$bZp5SU3@D#4}SZ@uLQr7#j}V<2By2MJD?B6 z72laUEn&qwR43WQPFo50&o?_UZN8XeRJ;oe2f1i}w|B`Sr=-soblOHVJC;G5G&@}J zHp0_d^(YQhhTcM#ZHPT~drLcB=A6q-eHTUiCP&2S1t&)D|HVRtYy>rE!EN0?PJlQjx0FgEcB@R#$1qcho3nUc2G(&3+$v!v8T*LTlH%~crQh4k8LgNWQ-~p zM!K%hl1=MOns)-1{TC1?F!7HF7-GP>d`)N{&8B?Nj79VFe>aV%`e=Xl zX}Co&S~~d#KK@rfsZLcGYVQj{e$DK#?lgCcwLMIh_^uUIIu**^mgs#Mn5EfWkY(jD zNP5p_QMy|dcURc^;(XeEbe{NBlW#bD3DU=Tgk3dBnt2%CBZ&8Rp*EgfM!UN1}IYm`xiMLs|EdQ=D0++Q(oLgv9bO&Su&NQD!Vk5f?(-3~lG3 z;j)x$q)*_v9r5&~GM*|n?hCOGcDNZW;<(CJ0tueL_92+$P$ykHyQjEU@>OD= z3A|g5Q-hjjPYL0rY4L=X+ajUSnwEkE%@T$rhhe+Kb@ApkjHZB3kEdRUJ0P#IprEcVPM&M%=fyH{Q3_WK>P|E75*rL+m6Sc%yR<maFY?i8x6=|P!4}>EnQb`+_XuzkE7&_X4s&o|_mI+QB(VLgd!ILFW z-e#2jNQq|8`dr%UUF&Hjn2(&3;(f=si97*}NUhy@4ylZ?o5- z$}=yD_q;WX@5{DY@a!6@pVmk9je#-%-0Xs>XZ4L`@JIwFscK5iwz5%vdb(UmsJ+M-T22M;$cNnV;$=HTc8L?6&R_eagR1|ZrcM^IV`Q`~aFmb)Z#PN-KA4Vjo z69Sp}qm|MFZXfN%{JuU4b>HOGJ;^@`G#6q@DSne_ISt;#$lPDA1 z@bYm*j9Fd7L5hrgE7+}0VxrWS-rz<%g4!xBLb)~*Glg$&(D`_4 z;7)kWGxk*)(?7+D3bfVOCHw)B`3<(!52E0ePP)Z$FlmSv&{G{K4Dh(-)uc7AanWUA z(4&0WsLuJl&Sg+%r4+b^5L4jOmm*9BGH1NRr;6fE4HOq{;^Dl_3^%CON<-3f_!)z; zflXu5Vo=2jrWEp$qkW0K5trSvR-lGZv+tksia-gns}g`J_$op5RDSuDJ`RbifkD^@`!8swvpKeB9 zIw8=EfxGZyG`7g*CFl4xKZ@i-E{C#q!Lm+5(=|KaDXXP`<#ie9cwx)zmOiG(L{R~1 zMU8PCoW9;*l{fp-fm^#r$Zx3NMA5^}L=nBrmU|yjP-TM+NNY(KK;d)*fudwXO?{7u zM30I@v@(^lKkD?|CxE5}D1*Fyen*w&+M--jx_gcw$+?Mn-U@xKqi)-bujPrDNe!;=p99mN0@v-Brz{g~CWn}@ z+z3{m?%-?&;HzEuW{dcV?obje;$#;-Uv9@)U=mu{`aCM}J!FRiY@sK6Ng;be!mMSu zyDPhekfb)%y%z@Mg_dE4+*Hxh`rDkj8>N&V2fF>&r15FFzG9!t`^z=l$A;e+hCatQ zqNCZzcB+D>j`I_h((v0W+e=K*-CQ>5Hi46j!e+j-O16q-ru_`o{wkS)z7o>Iu!x2` zhBlp9E+H}9C${2b!#1~#blRhG2%Qx=4hE3%N&6JkeJOfGWf&D&#MI~bl)6Y80E{vVKvQ&|Q6cPuf5WSNSV&|%Rb)K1GUKUU z##4hCd2mNO-vvB(^Ut*;1v^2X|Mm_?PlH7sX%drU73_`?jV6&7&)R+~9jrdWSy;*= zxda%6!#+}QJcd4yV1%nAJvERtiY5x4s}P)MJ2OmnMYB6kO^ro!)z}ZwamRf~iojmM ztw)GG_^U7A#?Cg~dJ>;W-Tn|-c-<}m83JEf%ipZ+{Gbk)&wL%=oYUyKSJDr{*qMF^P zPs^jy^={mn?VLEhw4pp*i<|6gH%j4+7rMPVF1hE!;8}Eg;CIcyY@}^EpK&J#pY_g1d`^z(Wbr-H5Gp!E( zA5lo+dm)(}56_-L6Z}81Fg%+wQwPMd39}jgN6mCSJXEvgfLKBW7YGDC%u5VzGR&Sc zboWf~b%57iwB`cWSN<*}wHB`@mljElnJtBc+1hmh&c}g;br^j|^mU}TXJj4f(i^5$ z5dEdjM{p#&TbNic;_4ehs$wU>v9-=bV{A+AKiM1=c!OJ@Zs7iZ>*x6STuEjPcs~ne zoycGeX6yvcsUL}wLaPQ!+Fg!UhKHq%!PZIQSBuxBa`WzK$Gm%5d_er81E7}~{FOyc zSrcP)q=RL}=&YadF=yTY&qUZe@O@BS(L}Sur39d1UxZ&ijU+Xwbu-Evn|{)+Slqjqng|pGORDL=JjW~A~UL^Cz`#AO{X&jx;TcKR(TVc7*k4xsoz_3~{)yJsErgUS-o;_zLLD!3p3V`9eG%%OsT{I@ zuLs-USu7YL@o8TyQc~a&o%ShGK(R0NM_m?(y1cB&=R}eCwErOTQDCh~|kuNmBj)+4?EQ8Un$5UH*~4#(xyuR@>? zBeTn85p^woA-N7&emzd9zd)|$n4H~D)Vr**%#E|MmlMCZOsQ+=2@?K&HtOA&t}QHsbzlPIKGVd@gmO6^vc%WF>kz@C;7<1rW#)ATieV;$-{y@|NPG1wn zt`j{2pZ0^IXHeiFf8b$%;1N;$J*Y6SO=uSGR$&_`w1ak|Ay;m) zZa;?4dOc}Bj&gBAj8?$Nl&4Jc!mAXB?H(^GnjQEB_(U1-^#C%`dO~8|yo8SZ-wiGA|y^8DW-7 zdF5Z6#W-d{?fC=4u&K~p0+`lwHN*btEc!4LI!m9tvL9ha!T^}TQZIAoIFfN!?4KY7 z>wyALNH38>@O%GpmKW?l?ZEGYN#}k>I@fxJI?p{m(q2JyaV^zdINwCF zg`gR@1)9^_|HK+wW!Zidy^ZJn5{F5%y+Yz%A&H|b|3b9iM?uRr8}roe!zxMZ7NnV8!!f4ha*i>**5eZE zO=^6_S>)%i;NHM>3wd4y!Sw7U?Y!3MbFAl_Hk&H&`A~?{GbBzQ3E`orkNx80K}ekD ziyYR!5%eFSa469yV!(aZae?0z;=bMitQUZO2hi`#Iq9@;dO6CGYQ2MP+4Ctj*k`14 z!1;L>NwD5TA<}sYM^dP5e-Fg3an{w!v>5v^8Ve>lx`X9jSvk?s9c+q}UWGQ` z<0WpBXdxoX!i$jqaGL8-qS+A!jkBqadfemjrp|jjSSn9K@rdTv>z%l~O}GC`+VOL2 z=#^lBBE&-^OB2Iw_*&pGqTiZ)oc(t={U~B2LN1VMKigcKm(^Ckm z+*HMf3Srlvl;NANQyFA`jn-bMDZ)J>pVCY7@4>I1Sc3Hp$~B&yo$&$qTTnX0cDF)Y zcF&8SEAb+AT>6A(#os1=JrbVwTX#sA~z|JL_nxyXpK-$BRy z$9O}WGp``i1yx57uUu)0WM?!;Bu!C+TkGO`y*1F~nAaI3LDsh@q5Z9plVs%~kQK=< zD@nY)$kCHAY3}YUBdyS9pT(1%Cp6C1sGIrTa303tc=16tdR zZQ5k!8+^i%f4d?}G=L19gJP;DPK%;r|qoAGZRKhpak&x?D=9Tpq?5SB8 zlyoG(0jnBm8N}c9gU6qVxhhs8>lO-t`U8o`opZZs^wDw<62bG?WVTJ)qq)0Bu zS(Jh@vEou4cS zrN9_<#rxPZRw9Q?oQ^Z~# z_%&NGaN4a-?R*JZP7xy|onlwP;YN=2>BW$fXn{XbnK}(+D!J%XbR$pV|C2t722&7y zhJB=CEaJrawNR+DLh48-zhNKcPjkO7%~4*OWBh4e^rbn*Nh3@lb;ZAM(OxxdOxyOC z@-Md(j-XOZ`*?qv&wXi*_tG5aPb1&wr8&+^Q}U;2@TDo0VO*LDk!sc9&#`eYmkv=w zVl0xS9pQNl&DovkjfbPecu37BbB7^2N=-(+A@A+-Aup9N+&kPd(;b^gmx>@x$GYD~ z;^9=GF)U{EOXuF_d`0ps*GN;eDYkBsGwrVOqQGs`bs2Xio)@vH>;4gh#FWyA``rRn zkY{puqeg7q#IoY1s_U$Z%xk^O8e|^dWb0VQ7F>prQ((AJO34R+$HZB&(#d+&Z68qP zhRFckdLPG>gjmf05xQyp7eIcrX>mfzu#Z6QqZ3RH<#^jLaDx>=Xnn#4iT~V z%t7dS*N)s0LgU=Hts(S*8@GLSah;}uPxBGhvmgHJgMZN5J?Q>bp$Alj9_WLLH8Ue{ z5EBO_#X-5$p`QN)@dr!}dcge>8KpSu)0n#!sJWvKVF1;vk7;1w+!`?uZCsPqm)kU! zvU3NGwc-J9sTmab9~`eBdWi;&Ri~!A`7WAtotmQ0yfKra;xqu6bz0c^kdaG|qm-Q& zFnfpX>o9Ewgg#&Bgm#C}0ZX0G90=WFI-#u~^oARnlwIglS`UPfMkM1t%A;SM2F}z6 zTsbFe3?ysRC|Lr435~HV&q!l6o<(#V_FWjs>vUkjXUGCgG)$dAPBz%9rh)GB@`jKV zHhBAd1WlT#fy;|T09ixp>)CZy!w?aJ2>URU;dV7#hl6DtJB70f&q;AOj-VQvcRgq% zg{(R>l77v5um9j`2X1Se85*@@PDHBQXK?`hIwZcIqC@;>kHr>3>SzXOk*>nv7LZ`V z28^3wh)q3qoH{lbNRD*sb9G{PtCpH|)_AGs0&kB#`fE-`DfWF#ylCxj{KQuID_=F6xIB&Fnah`J>JngGIJLIPFop7Hpyu5V$t5{A!r@vYa zzSs@^SPWQ=Mp=n?xU1Dv4wXoQ`bui|mxKW;S)S)TI<*9Z>WJDXd{uptafx=|92rXwosP-_rGGJUaQsP;iM$m}d@e0dSZH z6XaKVTwx*n@9sViUF5vp(~KQ1%&If)4zH{uG(8NOXauB?!wtIiIlwwkgM2DEplIP2 zS77lzJ-=1hr{*(ZpOzmL_9^-Lu&3iYRV>n{vOzWFdtBTaOmTi%eS_Ix($Q_H#dPqR zTAFo=bX>xu8==XDAf1qZqXOP&=q2@GfEhI7!F3^Bp#M04#Q5mQ8L4Oy2eC5F_*RwU zLXn1tae~C_Af6rLqVFgX?*L}h?*>grg=rE>usEAbMY9(C#=);0el^QC@=>vZ=))gy zlN8Dsp1-h?#&w#}VdjEmBsGy0SUgP%?)kyhgx9)8P8)>ocSEBg^r9OYm+c6OMkL!A z1OVzmKr9R9b@#*0jsqX+qWi~1_m6iUzG>4YRX0rgAjlWj!eTH|oe|wJlnx=8gmGLX zz&`sn&~$=0qYUS9ifg6HjZOdZtUL&P?uI5q2)zUjO@&Z{8=98gzMSOwi~4xOZy|=xCpvPfueEQ72bt8CPe6TO`~UBR~|LXB)m-C9lV=VGO*EVeC=Ux zJBBx62f9jgH|``)#%UDL081JL@W{l+7VXC z;=+TCC(b1?XBRPH~FUEve6^}6^pY(8dj+Wig+1~VQaE2jo8RZib4My3-L>^BB za(&jjs!h`}O@_4VUQE;dO6hlxIy-!5E#sHutdyP(Lcfaf3P;aX6}xqJ@Vrd{DbO_M z$*+npIUhM+a_Gf9=G*!%MvEdo5Fa}6X}1`>^nn7c7?_RwhT`01H*q&1f8bu|6(^2&b?OpMGW?aaj2+xLp&QZDGgGdmR zIWG|?&V;zKKjL4JgB2w0G+Br%zN6m7Kp+9S9&$fzDLZ$qP{SZ&h>nTGk7C? zi6SCV#FvP!Vi@B~Bv_w_`V!II31d0YMobiw6ETm;@Qw_I2ePGQ2_33S1ZB7|WwoYC z>c)^g&R0;Bya`cBBoa&w9!k*IAks9fIfB?Hf(d&E zY|69;X|Tt8^!N&B6!DEtJUAk9W0Ra{vgZY)(*aZyPl(&8Jn>EgB+iuXn+0a}zaMq| z6O_8M<&bmW%l&vLnK+ZIS32Mw{st{eBSQQ1gy@W|$A>9=#IB$of`4)32fvJk5GTLj ziMco2kBH|eDY@lpyMzaB?jZMmh|5{(WeT5z_t5kqWcB+f3Q0wrPyZp6HNl|c6hENl zbOciEiC8|Twk`5~DPCuGHYlmZnT(oOQrS?evRIrQlLO`Q<4WE1ANYML{D!09w%J532kvqoOAMIf5ba<3q3%v^$L*8bd-(W(r7>zF%vp#mvD9(bZ^ow5of|36$a`N zOQs445)ri-2@|yl?xLm&9|tWG1}!406h)wt!D^uv?7W#4yk*Df=24*qNd6jQiD)8* zi}qvGHqhNC;S|Sqm>XQoC@X=ey**N_pr{rYKn2t3Mxw)w_jQ)|_|`;x%@KkK+C?HQAE^>P~)N zjHn;u^Ks{z23(Cm*EA?=j!4G}^`)&J3#?IqG4^AT@mpso{#F3KaRA>4z;_OSUNW+h zY_{r=2!2iAYrky0i`$V(Cp;!O7ew@A0l~iiV$bQx;p^uL-GYhb${LsUtdsAZsGDyy zSr*8$H391E`;ry_jfx99S(SbXd^w5M6n&-OrAFkj;|yBV_iL*1%eKl^3cF>tL$;Fi zl98?9^fFp5{q!->OkD8UFFMU+#o29)%1OFOJ{jw;2Wu-f!3#?!e|NyYQ%;d$&{;#P zWt{raW$Q__QtRbjBzSyYo{+KghPd|y*N^nNv_xRkn&Zqb;L&hJ_~8-Qc*JD!awM~* zbSt8X*RRX1eV7RsY>p!{DIJ!rwz#;QT^{Mi;4cn)S(Y!V^z37JfU4JOWY<%xIpqz9 z+GzHJY8w%#ZA3?+f{>bJavYI$wib+&*eArB?N-Si?e4W(=tSVcU7YFs-uK*2yvw2B zulO|rski2o=4>bxcLFWh&_t{X;{6Epc=_<&yO{Fqzq8HPdK~wLuJ5 zWlco+qB=$t)O1}II8SRih!Es^$t{3|De0U!;LHKay`(Pazg>Wylv-j>CUeMzHJqzPSy%wS)o6xS=I6V`DF`WQ$R6k|g;adxnX3M^>20PlyN;nJ=&>Bx_; zrQ+FK5nx#&5@45{aP;o1z}crz^6~t_lKM_ z4EbEeQKTQSI6Ma)*|eK7x4B~&57>F3h;iwv6_><$OARPXq+7-Stch+XGUHkBDK?-l zIzF{Ho=`6i(;ofF37-&;Z&Z_0-U^#b8Z`qR8C+(Fy1+ zKF;c8oXyI~n4!#Sz!SZgoy^DS65rLQ03)(vWX_}i+8Q0lWdeB}7#hh&j8q{)Z>pZ0 z{I;R!OFCpF!vf>PHVE5|$Gh<~Fe;1t@Bu)@mr${18qS*5g9Lw?3GMNz^iM868961w$@a%_ zuo$0e$3wv`KKT=W)O#Z8Q;Pc3AN84t`huc96Bhpe91H({0`R>9pqJa_-XGxEvpZUQ zO0s7TdO{21v`2C`e4mA1Wn?>tnrH`3Y}x_&D;_g}?r3Jd+_No?uRoC8J~_^t zJ2w*Hvmrw9NDwJ%#&t6JXqX~5ou7FBFm4_j4!wFjv35$F_E8WfoQ7sl6nk2n)&QaJKcbN3 zmzKg9xm0*^fQbRY1%W3#kcZCM5x8LFcc_*;NjjDE-mfZ(Io@u zrY-)!LtI!Xug3nuQ2@G*K-g~>v>KA%NCoD?N{R$8tNF6*1MxReJl&{}uD1?B@Xbm) z3?V<69+yjZJn6P1q`jHbe&$PyMcl$*G?~&341QP{y@~&*m}8&v7jrA8|J;{;F96@h zU|f-r@}Rdf^a~Gq0zmH|Xx>BGa8say_QEh> zsoyNoD8rodiob`;`Kqk=dl~$-4~zud$KWv@0p|h~@AL&ju@@fJUSKlUhae4F!0E78 z;sczu-3ML`M9boUdBys(!urJ%kYfS*AVPr#Fm@v?zPQsN?jerbn8Zu9$w=^1cfHbN z-GZ~WzB<-X9TiERu9&rgcAoUK*UssfBh8~2^|O>x;-`)Z@?zDVUED(1p2jlIPGKaAl8}9HTXia9ntliB`3#6`miY3=-U+^t9F9_4Ivqi z+sLku&;^_r5tUcrW8-k}1Y70dA{Uf1AFVe$JcS}WEUY)6$vZER=)xj`z5&p_1%%h& zu-jTr)xxgd9t3I*X1S!?>(x!T%vynGVyD10+{l$s>0xUp$kyK&gjzeZW4-N2wt;Y= z4NijZ6yn8TcrL|sPO4bD7~*_(1rqhVd zJ(O9TSQ(x_p&rX@M2%`5a^}O1Aa@Uws2on+q(-M) z&OA7ZFgQ%`U?j@gn^eG2%!Z?aY*=2&23!$Gi)!TFBd86IM1I^Js?i3iTJ`rY9YW>E zU==yJ+$|@e`WWni9R@r6{ptsozlR0oOO-xSB(RtlS_y@Mi4(953JrkALQL;N z5)w?WkHG7Bea90A@PEuqPntH%Ovk5#d{;j}0TatpyHQT%9 z%lMqswHMCGeoTSM(}tVrT$j#)uER0rB?|1@rO+zRzAju4ReX@{Iwn*e4r0}PuH;0) zkZEJ<+)b^sm!l5$7R|KS6OW@=9h8WF#|U*W3dLg`Ra9b)P@)#P*=eDpStBeF8Uf)m z*3pgDSbI9ww>RLEjIKY?Mb?LBYH=SvikG<=DkDWfaT)+X?k3kLNTjWE(kh!zJIqP@ zM#xKh95QZWNU-ivV%=2@3tk;Cf+5qz8;TxnryWp^UkAkF#`0$ zsvhFrJP<99dz!T`a!(U*s(r@UKcF&Mzinu96xjbm-4|V-s*$od^9P5)jy&97o2cg6 zM6t#hJW<7mzIPC?N63<1yotitYpla@ec7l1Q9sSiSsF9U{a}hY&&F9b-v?8ipx?+? z6SfJ%rxrZ0t9Sil5cpgY_#^%?=$N36(D2?7=}giQD?A;6mq)w+zcYyaCm@G`#Xmwq z9~xL8a*tcV3h_ijZKY6%Y2@#ED(ytpi6;hi;)+V0*m;~=yQupyuX(Xmmpc94C$m(0 zLhbvpSG_7*?O6SOR2)Wts$KQtVDnP_DmSkKr>c7&hxW=f3NBE;0=e8MIj9NUd4j7u z)04YTc4Jcl^G9oA-dr2=E2W`f4&(I!Tz{!6=1NypY|F(hNGFU+I?CA!7pH{o6F(1J z-3F=$*-FU)`CC~oe~Y12eopdt63JiZ%|z@fm-Pm)drZiI$-RB_e>HM-11=2Uqz@8Z zt2`1{c_WAmU2}vFz9h9o?)?e&)z6g8jUp%UC~`8<+bc$q(bzN>6SgPwC~|Ue6gjDK z6p1-hxM-M*`{hVY~q zG&>B>Wm@7{qU9hYA<_`B4#t;oL)bcmX&L3x67KuCM@v|?#v?7qQ+XKC7?xN4oM^c% z(CT69P?|jra|GZpsRD=RYU9vW8;Ad>L&xDNb!g&0TTX{JBme3U<^OW2hWw}J3DeKd zrsr$12{4S*=F?Nk5c!nt3)cTaEwP9CqqXIJjxuB|wNZAPN#Ib^*#sP7wQ+b%9x@Im z$z{F&#m%4)uZ_aYp`-A1Xy9R0u*Y%JpWkfKW+&+%Hk;I&DOl;IO~)MAft%0o&K^t) zl?!uC2OGFpSDTC9NJCWOk9_G^AM9b@@}*~uRG2E~QY0EFuKPVe%EP^sbliIr2h#aM zM7$L`>ILQYC>fd2pY>ZotiBtgXmX$8(wT_*oFflh)i)mncJ{bvz!t}}0pI9tNcan~ z#m`d77RRf^!_X)%qtgT(b2g~2aiExA*2&I3+o7}X9IV_A_+2^RT%rZTtDZpD!nzQ@ z3~~b2Y*-!bd$7g`0!yMR+0uc_-sFaRzph$r@2eK4c#(_4T<3{8e5U0_sYQu?U zdytxKxnocq<`@)*dtL=Mo6&cn*KA-1Ewr1ID76w6eQ3L=A&<_5E7)n!rugym-h>(^9)>ekK2ZH%&h0Yl>WxXeYuy zMNN{8`eB5-{c*_At8y=cS@mN7vtux}RH$XQ6s{f%o?)UJUasM@+YY3=ZgjLj=_7cP zS78sZuEJ$CcsxXf77HNxs{xRtIuKlZ?c1Q%1a0Eg?Z~6gR6x6Tsbly0+&ylsaNk8< zYk}E2iS!>?3K)TA??r0BQlQofv!xIg@N(W1r_@4{tcl7z-+$xe@u|erlJi)XcCY`Y zyhyqCcP_W=sEmiQuu*W9OA;6b-XaDMTy5RP)$s2oBVZF?(!jb6JdTsUmHu9(Z>2Nk z-b>U0Ka%o?VoVC+d>Pe#vC4Du8T?4OT<%3^OkQvM(%%yh*0`q z`Fpp_gz6*I0}Dc(@0Go$y5B1=R?F6E;GU1OiMGp`ww>kPweZ#gGId3nj;r$dA1TF* zU>aOW)&D_d(;$nK9xnGH6zqa4gOpybR(}5HdQCeHP3lg$UhWo}(5$0eL(c;n*3ki4 z&-%4X>mP{LV?0_l+{Z$+Ud6Po0&%>?5l6ZAT6kS7AUs{YxbFs%wQK1Ab@ZPh*CTK4 zsbMxTZ?0nA+(`IdEqId?%LQ&^-rT4LY^JN!$|-D<77T19bM595ffoKxZnJM-xxiI! zRe|LK9@zVC;P7nS8!peTR?F5)tb{>o4e{(I;u%>GuS$Gk!9>vS|C4E0xy9?ix45HH z-))2@{*Q^z*|Xe9<}_p+2EVPvZw*f7ZYA?fbA$M3{guSusc|)Vv4w_{TU6J$b!!rn zx)=tx=~i`6Chbk!Hn$UJZWe8mM@@JdRdhQy&+WnHxv8>wW_-_+xMH-L3}zUa=_BK!=nc*jRMkh2bG5rXldLL)a*o1g(rPbe|2d@5YuN(T}+~Bw6o7Hmv75e8d zslVRk^;f(w_*-azZ$LnGGMDcm2Hc~TPevdl1ucGWQ1uV6Rurp{jlKs7@4HoAkT?aK zdoQX5Bck%E2ZNlsORZd!nBb~Q7c{w>Fd4gtqyVDlr86C2Fvjl#Kz8XsX(mIO6sOrr z6#S1S*GH?Gr_$9NfJHt~-veHf^77*0bYxn6I5!5KT~FXjo$ugZ7~FTAo|!KEo?ZN> z?6ihZX>JMKk4a8cO05ZK6x3?e zCMs(+0iQ939ChU4fXyTK-cSD@2=dAv13h;AEO}r_D?UZ)a3C?nN@uKflO$7vk;vwn z68U6kND|pO&aJ(Qe0A$S^sBNUwS<^35Q*aRI?|b&I0#;Ds1OF9I!1N1)X~en4`D0} zdf&qyH+0#Wirl!H%EO38U0(HYP#qIHbXLc@P{+f6aD*W@Zu9u|@4ygN-EVzAa9bB2 zgvdq{)!$t%nhDcq)_UNo_B$vV(3^gpc(+<+zi$Ly|B7_tBcu~M@g@a5)wKhA#E*Gx z{FvLueNPa&_&;joh8xg}@$3@=Ixw2d#hs}A9`ib`o3;B?$%z6*`gpM8q6xCM5MQ4u zf_QaWBra^n}l4-W&n1Q>Y*SbTA^{Qr)q9+$v_X#O!M4*r!n_#vV7 zH^IS9GF7O+51E4>208fGN)C3;brBGC`$f~f0-xse`T%nkyklrof%kpCl&S) zE1r*ndiSrac=i>FM@)(S-I3tFf2rgy{N0moH}1T?e-eK9f5tnKgRn3q++LK!w z8nwuMm~e}9v<-k5*)rK)K`ogt*+DZZyPYWC>S(OUl${`2;Q55>!(!q}m(^D|3ml1H zFV~FkOM0$_qfe+0=bf1=*oc>N4TKB2mS<+Tvt4bDBO6dLLicHlJ2`oHt&{~qbzMAiR*^iL)FHx7>e@0fl`Lu~#h=$|R*M<~#b4^%!7(l1=b|(&6+B<&*?WjBI2!dtaztZCqZ`MJ zS7>y`2yis&gX|7dLT0xtM&~zu2qSj(aNu+2FC<#DF#x87<4d)0Ox473^3ZU^S!k@d zbc46?tZJiF4qp`aG{of&l6@h5rNP^}N^=O~@YQAEYancc@1T#*rzZF!{G)yy0J9_I z8nFS^Jywf#%{5u~g)}7A4Zx`MjDo{crT+iI(<;JEkQTWYsbxFBC)a&@xk<=s@I2G7 zOJl$@^}tovA|8Vqc!S?^B3jwESKPDtTk6{h)`eHGUEJvExF%M5jUL?yIj=8Cc;kP* zxtdaNq@b0uJnUxa=wlF=*Tc1dn}H3xx6qZo8OsFg$`n!AAav!n*uZP3!W65^looI? z609zl2zBYY82$4c6q7EZc0I5;C-)aP7?;D)Q20hOn9TcxTYX?9ga@u_hk+PKO~HAA zhH|}%2VDP-c;C#t{{!>B#pV4-=6#FDdpGX9zEMO5{-4oL{Als`?I!D9<3<7BTL;DW zX6AbvQ8+^IeYUriwvGAT7UX+#6~1?qYloGWE~xiD>$GStj!e}^Er2uwe2zr_G$#`i zjnQ@rb#VVi_ehmy7hnH?=RvEsQ3Ql~1!08%tQW3njK4^7?ctY%D9Wu|Zy^wTfB!yu~&1Mng~?(>UzI zPbi_Jt5(u(tpT;-fh*@JpM1`>tJ<})d9K@mj~DP+V9cjI^;FjfM8*V-H+M|b2J_8# z91EaDc#IbUxIHpuH*)qZ7C=i2Sd`|*4ujr76GkzV5NF!CirG4y5S{Y7jx zk8=?Pv)Stu9=O_f3p|VWXF=UHzFc=rlbyECXo3CZ&%v*cS}CXTtZ;r%ZJyyaFA!!~ z(dIiKXX*6c-U7FIA=u`bDs6tSTf3-x^OJKKZq~_O<{R4%m}X`0wHFWlh?!JiAN<}7dr#-x32Ra?ycjnt zzv7k(3a$eSzZ3XluMmy4(v$Hi+-O@7JGKywwj(y$`&7nO+-O@-quu4m_!Mrm6GWrk zMTgonMb}>zCTn4;*H}|M<6uh?fBa9k=gpgaE1(Q7@oAZa+W8&_#45S*z@BFK%@V&0 zad-0!lajPAnS*ET-wdE<;D;HXF@nEpuM()l@ zpbPv~3U>VlN-JK%k;}VwRp{l|uERNgMb|b8?$i-v3(yeOI^)bqfxQr-d9MpW2 zh*8>;0cSKv$cVw=-&!00OSJzF{CC#=Z}@W{y`o^OE=Y8EXdZ2n>6({%y4OHY)|RW0 zwdLwTb!c*x9~&T~TvPg6ART5rg=dbh(e*{Os+4VJoAfA`h;ZKwkBG2r?Sw>pO&`fH z0{218&;r|ki3r~Q>+JrGuD?yGipFMkjJMTBnpXSRqWKRA+DduLlalf zqu0o;auql{x)~fIwQ)Fdh&UAY47qlMgsY3@ggmBH?=56xj4X`wg<1=BzEE37laN8) z<_mN_5(h{_VN`Qrt6(iE{5=8{c7Gv^QvqTW=!j`$XY^#V3k@ z?Yjo-+TTV3wl5|Pe6M&r?AX3tTEO;g1;NFG^%g*wxKf~tBCey4*PkHb)OIs6Jx zi-l+QkcGL8=Gwm7XqC1vp5Nj;op&efw|y~e!>{;}>68is^h~XW?Te^`?Yk{;V{46V z-<`2>Hc}ZF0k-e9TEO=0(yH6OcbjDUZsTe6ZCs7sH;d#3|C8<8Is0NVcRT+SuzGhy zD;Iu;ir?M3-{5^6LK}2mcCtYa{;I*Aha$g+rnm>#KVReLV1C6lN+f~_p9W)RDTP9oa zXXPxbIc~9WTLYu{L&OO9qxdlJab`0Ec#DfixNmz84;a9AMLZrSgKc{;fNvihz`Lpq z;H$K%Xl%xuX|0V$*O1ZpQgs!Fqd7L?Zj7ug#P_O06yj?n2ZM4A!biTGAys8m&2wMa z?yJG526d>6dS0oD#%7#^w%X$R3+4aPp@fq#Fa&F$^o{)gffAd9q>uzQgE0wf zU~}XUu_@Z$Ix3M(!u{QFK(K@ns-rEnvm^c?Ma6b3HviS92}Fc_c3Qzm_HV zI{bSYejCJZj^?)n4}s7r8gEEGMGO9_!S)1(Ycl^{RlN7j{feu&+T~;k?%TCU6?2@= zV&wjg0f=9~Xrl8D1n;OhycewZS%TOZ<~pOP&l03oNa%e#d(EKB)*@_%da?k7KzqMY zFao!1?Hn9LsU374MD>6ri1j;`pxZFF`cRw4`iU^~nSwZOE_FJv&lF?~&Awec3{BbE z4KX~HO2vpqQ(m=8u-g)bCU;xY873G5{9nH2#Qul|52KuiuhhnHL~RV8SBHk7%dnrQ z4jvAxUZ{;oOKn898zLe?GvJ8ImnXIQAar|D@FCj^E{Uv;E4@yIN#l}$Ie79-jUVP67rVj-Zo~$j=t+ge3rZO~%#@RwoVk$I> zGY&D8j5SdzrVKGGh`m)VZ_Y<+H|NOO&ACDzT5}fv^_|l<*(7=04f`l^$6j|RAd|!m zkxAl)+B#YU?QD{`vin3R*xCJja>&2GHuMA@3jx> zd{B6oX3Cz#h+T!5 zvOBiUIaJ1;Y^LlPG*cE-F;j4=Y7QGH3q5tR&@)hWBl>o843vq}7P{YPe;%+=UW9*- z!S4g{1A|p6{#_U9~_B|yjSt5l}N#Qa>mg{P?p@-BoSUa$9Z-shYq#W>Qd$x)m`%vQHn$9v@* z<6*w58lqREWQBc7a8hnX*li*a!a}{fBSToIccq)DG{?XMT&Q<i=5+eM@M)a zrnDYwM@iNt-#in+_~F9u$QHnOn)fOhPbIgJb;&4<)U+!}eV_U$q_%g)C^sHx75y0vP9=lcF<@H`9n~bu%q*mhom=N0V@ z_3TeipFX$P5&nOJ|Cgu-dy%B>a(nD69_Qhy0#;(!;k${fJAHg=@eY*IH&hoU#2I7m zb_=PeFOMgBdZ~e=Q7=sfUDH}Mdzl|Z7YAM4sOeQvnOY!~P5wKTt3)1Dt^+E|1mls+ z>Ede0Oe>Jg7sP)hlgT=ugqLX?%i>gLButGS|L8P%PfbPSX>tdZCmAF4uN3H3Im309 z{7zrgS#p%xE2MwDN&hlC7@@upgSGZOM6tm#|OrH z-~(iRjS!;o#+ZA3uKNnTDHq>YFc@FZSVVlCuD7l%(HqFs#^%6wV4Uqf2cA1#p9Akh zJU-^;aW?VTPxE*`#K2!aP$VAvF^~PJ{re=3JtdF*naBQa9{c6NW0Oc8`{~Mn$0sz8 z4r~XW%%8{mh{vbgJkB8=AJjZPwLe($*h}&_ zlzANL=5bISJZ44mI7n9pJWkR)IoIj6)iN|N%JibOeW@{dY`Dl$eyhuD|Gmno@ z`#F-wyCjc~FprP8dCbm($NG^xX6wp;$Elh}2et#x<-x%{z%E=-IB);^B8jTIO0kkhrvwDqj?;mD+3;1&^$V@9hja!k0Xi484i#C z6KY%^!#qAdzCVVaiS4ID41>*^3d)W9++~8wy+$SdL#ci zMktp@rCj%@G$yZ6NfVUPEJRO65%7WY%CvhC0F;LTn|tMGnla%ZpNnMCD&;r z%;)L%1^S(iF5xDl5W(h40t&Xs?MuN<(X~Vh)Wj={(Go^U@CJ2SeU zb4}IHbA0+6Hn-y*Km3QF@IM}Uskbm`gX=Zwfw}ZM4~1X9ut8-G3*mJl^i?T@ekgoD z)%ZHg;dQqh=Hw;(`2aSWETZXn&C!Q>Mbd}-Ng8fk6-imIdlWH5K%;S*IO$|53f{z9 zkhbuuIe)6Y_FSc)A_#E0svs}VZ^6o+g1i3{1^-VXDN`UpY`FhLB!wAn*@D_d!!2^7 z(s1YKS|SbCL9d)o;4$!Srps<$^+nAmDr*0{z!~@WO}%dx=9d>Rdkcw#Hza%aIbvPN z94>ToxF9dFzNN+5t6;IF7St|^waAT1u`bZHM2gixqrPkL(|JACy^+5x7e&kR?ZRZa zh#5gEEnloB4z2I`O9)~^mx)l z@5?Up>37QG^W^x^;LafEt>j8pKw@cFx4wf8`?|u$kY&v5N+M{vWcC3R@@}eaCG)$| z&F`|jguFrtIlF%vzH#!MLOo+@fdq8=&jc8ucgZ&wPC;6M6tJHC7YZr{3f8mI1+|NM zR^&#do-Nb0MCzG?<}rtfG30m39bdRS+I|Dtepfm6`w@xdy~6Bw74x^2Xjm=z>yL8% zf+|?cEUtC4xGFEXu2FIwTbH``{X#mH4LM%|P{2iQT?%-Wt|d~y4(i@_xcHB@X z_d@K{cD&A~-`}e27+;k8CH!~g&jk4RCi91A%MTT1%j=lm4MfuilHUhul0mg?V3s$y zSzecyz}Gvbw7zJQiqrxLIO6#a1O%7T3EYo-wE2Poe#V|;@n>O1oj)m^{~t)9w*M|{ zvX_6`toZ+j{m_&qcli>4ieKc`rQ)yCwL~hugXa0ZikA)ATZ{B9A4J|i6azm-VbB-tN;^506eZDk2;bxUAl9`ZLrTWBD` z_Jbj4H_+WHtZ)SQ7=mYoh?U<*{+N<5L-07LOfg1e7gF>P?j^=BF9mNLrWVM{U!JSt zCF>QBqA!w~qAj5Er()REQ4vYNm?$yI=o2W>d9-=CxzO>ubb-Y2UekXfu4vL>bIX^2 zV?D2;b+t>nQCH*IC3WDu-bZABEycLsW49^V-pXiu+vc`6`~(heX5e!Xuabpqm-hB) zk?d_7^Zyx9_=)8IA?$!fRNH4Pg3sI{*p^oZY|qQ4wv(Rhz@+ckrnWo%v^~ zslhaz(Mo!2WcSRitauC&!hXG zm-YvT-2MRd^j;`@f(+=0^an?a=E9g0qSUxJVO4&@OM1^&t<}XAzw03DT_>lRLVoT zmPn;^&^-J?Ezq~RZohCiS|^?RxW|1__i?{1%r6{g{!S1L-$?!jJM(}O%;E_*i^ua4 z^LOMA{)ZaB9FG(lq3?YK-%?_`&zA%gagp1XB0jEbi4?Je7H}W;8(-AkSZi(TCmmbI zbFw?(|5gw>zm@Yx;`(ckYl)PugSz)*fBRG0^3RSuD;S~Q;VQj~VTLIJz#j_u zLjr%w@Glwutup*AfeSLcD8us@LaRxz?tX{6Rv3XbIOR3Nm}q#z7bq|;Td~E3mGdGH z6Br7D2*4aUV{DdRc=1C4W3PwEW$T*+$nug`#8%J6l(CK6$=_14jmel2$bl-tNQ;?P zzma!rV|VWFF!x6u%#A65JA}x{ENP^Mkxe5f=o7KwznFm}(6xS&ezUfjoMD-PAN<0q zZ3SSJnvre>@oH=ncLV>!24)dCm=YL{95r?4`5yDUOnERR@Ca5{Cnp|ck$VXnhr0iO zx|1)P=@rc2MTn-Sm?@V%>2(r3fmfg)#;ZVlHk(D%S+L?3*+mz97OaGYTAB#I!J38n zVJr+3OeCV&8ig50zRjX>6uC`l9L04lk;dVm z1)T-MbeF&BVyL~NBuk%JnhpQ>BoaM0G^UiLKFMi>Qi$nPWO^Q$#@xUs}^0?fZs;%l9o{t zKGj;fc9jQhLC7s$+(r~~b2Pq4D z>4jm_Ov&)1_Ph)vr$a)YVlkPcT!LLG^mF6*xHvsGj<2_;=f<0p856yU-f*Tvu-6EL zP+jjaLWtrApffGkL*qoQmmeCJc(ItqC;o9h-&{pk=lXoJ1Lt|4uN~-PN4LFJjkedj z^|yIzlg>8!MUb9eLu}X8dRou9CgrSOS6=0%nVCth3SNNfR$UD@NT~ycU zqPlr^QJkGQoD+@EweG&T;;X&vN02?kAFfX#tAi3ZjKCQA3<#p}#+drV@z|*^E#l zhmD)Gr@Qit7(4?YK4QX696n4VFjn4FLA01Lrit6n5ff40WszU9XrQZceaXUs^BCVV zK7RM?XDH6MifUMD?n z$^HeGu`uoblKQ4K38)SIwx!>8D6Dhj4KOj(#sdrH=G#P`xyMlMi;z3hcl2jnW2iM2 zDlIQs;zi&RkQk?`aB$lQ-GFucrMoAeZ}GKc_i+<7+e*5RM^VcrQoA>?2f4}JK`q&X zxIfmG4;vRu`f{Tqh92P?F4v!gqk&AYjPyBN zz@*>6`!FQJx}6G|^h;2BN_uZ2)EO?5Qzw@NqN=Bu^MdnQCJm(FJQS;ZzJPia9#up6*xrR5<9lVRJjfO=(lC%K50K}1m1u#=BoAVYX zcQVZ2TaeidF2p^RVZ^u*`p7^be`sLBB4qplBlHPj+vs;Yr7X5N_a4G_6ZW>mz9j4m z!j{My4ik2WeveSfQcSs>Q%nYvgUe+06O{3L`aMb6m&=qhgq^0}pD1O8O!Ft_l4NqiLcUOa?603YLN(uoG0Owqd1Pdr;*9tMP_TipfT>#^$nKai82v8v7Wi zXYISPUj%JT33Npnu{xK@es-I@LrjVE&Vihg;7vxSPW}mN?u|plSSX%G*VR)?&tdFQ zG=M%3OU=dFL6vy5j41bjYlJt@U9Zm_bwb;Xdh z$z{l7?0MBw_gqk{%nLS08q=gbrA)%6=LL_L=;i#0-k9L$P)$r~k76-U=d~;SG-g@! zsjs(G`>DieZ1&5as(2jn$np3+x2e`rB@Na*{Q6>SF@N@3J7D6QH)Yk+_LOlhO2;s% zN#4LoTUd$SU=T*#+*}ZdKl_8LuEoc-__&sFDAq3ncY}<_VvWgV-14ZNYCuIMlpl*7 z#7<|}1hi~fYFxpk9*ruMt@lhHXSewT2EOoSk{T?sWoU z$_vV>Yk*2WgbFi}e6tyRpVfRVs`)yKo55L-G3BAlp7a}x&O*oV;OUk^pFpq-f}D>L)B*~O0geoBU@Qi{KrW6JV0kkvxluhs zjzcdh;6(|{Q~*Ufn86U%5PAuX310^SG(3UAnuW=anZYi=bM~Gc>SZDEX0Rks^X!0B zkX1@L`iEP9|3%0@rNmxQugcl|IOlam3wd_G&^_0fW96{{Fc*o# zlWUFn)h_dBqA{0#=hN@&^t*t5-=N<&u}l+RVGq{jOC;||Uj>m&)LT|z=U&nZYL=cW zDr%eRaV=eo>v1iO=CNLQNgf4`d|u1S_g>f{E9zd@+lBT0BIa*7(Xd$Z_n31pY&o;I z+|A;myu`YM#JZGzmsy1!9!M>yaTIQmTUHMm=~`S58fi4&dtr;+^0dThpAd^lo+~VU zPIL+U_X6WO3;)BtLJXl-?Y#>bGD~oXXY*G=cugA2xmS@G@UmQRi2;l5cQw#xHc581 zMW_1TpFb{3+mFp1~d4+Fe=C*9zmhIBo)w&wandq|tN&Rw3Ycx?Ga`Qk+a6UZ_l)?cWmhAf~ZO>kSacaQe>*Ko{FG=jJaG< zBvZOT8oFK`4a$y5K1r65Xn~MEh)@;mSbV`=Y>U7peAkS=mP!+6%R44l=toLH`jKK^ z>B{WFx#xq=`ErkYbVX+USm`7i{r?JGO`;t!EI4o;WA1zSs$rjNPvf1)F#_j!xDW6) z&hdcDk08+sZpOsMMrZ?EC7ZM|N^fX{wgBwqM3|y)#bx;P2g2};}I5UQ9pK2_4pIqbbh^W7om)GH+IaqQqooCf^aYnn{!Yvt|r3Rh= z3FCo+3OrrK5ND$p?nL5yGj4=-p^jjbC!t&O#xqk*eD+r17*#V_lHaXz9jr?4fn3p5 z)HMSS;?y``1_nS_y|%YTa)yuUs$Sc!p&HnYr4kIP`?9KUuO(;6ndvIuK7=ZmOj|jS zLnJO~gQd+b+Bw;66IJkAmTtG?l~P8f&=SPGv$U7AAth%YE_00Ve%=iWe9kMal_>th z79H{kjK!%hNdD=ZI(WXttk^JkJ46C7>SWN>6jNT2?s;iVy##eHun~&JS`|ywv8*z6 zjFfb9Pbu6c$8|$Wa5@yj4Ky<~@EGn*)X4r}hum3UkpxmLVX?phOL3QBG=3D^41^)R zr>k0kz-(&-_CiBDSPjTZnZ;r1taxYjOybW>_U~DvnrFmFP0t?pSrHoTVD2fVil!3f za?cyTu2G8iTFyf`+%`KVkgZbb5dB)PjeU#O8SDlbXwPE=l=)2H{Ot$Ss_!WEE?kOP zwZY!L$C0mkcGsQyJ)@NEe_Hv}jtkyoIAO^Jb}Sb(t>BZSH7C*N)AYi+da6$?u4xT? zt)}7B6*L&h=|<>B9J1W2-C=QP?7+`yhab2)<6Oal{wK@5$X|e87C>+Cvu=W+M~u)f zR^;M;QXRczQzQK;BlIh#rnysz4bG8bddVFGzCfMrV1_P|GyfZ1uZNBy<$OVBl~9do z9RdS~Sc-a?Im8_6wdH9i)5gU{)4y#BfURe8oPiy~JTe+$_Ij51HI7!b`JRR1_ z40iNmw&H+F=LFcZ(O8|F->_@~mc#08WWC3CQRl8PXe@BT2g!gu?O__);B1tz_;)l{?4Yo4MW@w@-I&|gsI@? z{_aViFsguOMdW`V;$LByo-VA4m%uHi)iI8h701$y!2h6*BSzqR48$?p2%NweojZZT zhG;E}wlw@hyrC#{vx;{SMmLTlO?ZZDnW1Qkv+2w;rs8z(IQ)-;3@Nck-^7_(DP}7K zx*VH*z3ON1H*nq9%ZF7kEjSW{5dIPKR{V#`WNqUk0*D1iVCpHV34ckZ!`DN4yg##= z;SW58haFF2dMXu8jXjF5El_o3WE&9$gHJ>E;nZs@o^m`xZC>Jhb-~wQd%XnRx=Qp0 z#_O8XRL%HdOI1SV$D0+kKV}KTnvv=pgAMX+O34N0YFrCnX-Itl84=ESBo7(<&GfX2 z;C~X=gpvzB2^=K(5`CGKj6`1qjin`x$7-u8BATxK4)?fhHzgKT;3rf8OPw9?$~nnq z5C7Zpda&+DESVW6YfTlj|0t!*vcSYMIuUIBw9PkiFr0+9Xyp76_ehs(J*s%QewqzJm0CZREaf6w3i?DKSr|!!H1Ki_(NUc9FHSiDBKXeEG zr8*dC$Nrr@ooOGeY5PNV+aHnL_NVN&KO?%0`t5oM-_iVXzg=+k+j-q@f6IQmgrfdk z_0>O8=3aXJ8J{VwZM)8&oQD6WX{mROO~-j~;A&9Vku$8su)_^(Iv8W~ZrTL;avIfz z330|43?kM}we2gn@>0U}0nM6EOTT&$4c%-a9f$@u`%r2QVMgd$ga^bHvVogFd4Gtj zBai67Q&8CVIn79X7p2;Azx5nC~Ns=NX&26_1$ovf?S6Xoyqi8L!jTC0c=h zZT0eG2et#kf5o#miJ)6)?(-ZCN&h^4t$%)f7QUIIe|NzDMRc&#Gc8C0Ezu%7lIv)N z!e~^O3v0#}*p_H)E-mmG$Az_JBW&xIMYB9zSR2QM5goS>9c>&J#x%B~-_}KPVfmBC zF0AO}5gqKp+SrP&2tp%Wm_uiU`d4u#CldzYLQ{6YS*SOj3HQMFv zzp&x#q0c)0D}s_j{a5~!bT1ku5&la{q%`_3B5V7z&S%{6^Zy|lm9A>39;e)NWqMQ%MITKd|=-70)3kl^` z`n}DqnE4zKzJ-mmD^c7@8t1d94mVO`UD-any4B$p`^rYuXD~VwDiP;Fb86gy0J;g!! z=L_dR9Z$SP)8RUv=)igG0hrbJHa#uQ#4psxJ@en6t&icNiFLOnR1&2TeS-6L?);POeNkPgddJFz0 z;d}5O2iN$4pBxDB=6>Y=yYP=M?ZuBkUI+hw3nwiL@0`(uCEjm@i0IH=j!9$V{@`p# z2B(A?dOwZ`}0~9d4$tg>~1JCB{W~4+qY3 zJ+>Dt_@Mi}Vs|+H!`W2ngVpe+$~_RJ{mW*0Po)p}m5Tq=jl*5Z;<&pKlMX8puT{E! zdAU-9~xo8_`CkxO>=9-e3BqoveAUo0?WG&8vFmDyrL~&oS7lej@X!~i8K5`H1K|7y4tcOS< z52GX+7q$SzN??iT)^Au^CvjD^dm?8yj*No#qJFf-cU|TN$2SPN|jTV522LDG3 zK!-3RG{`Q>0x*B_cmY^+@`w&z01mblT@i!^zjqdZ5dyrXumxbg6ygG~$mHpdh3RTs z3qS`h>K@hrJC8Ns8q%8~j@}HEdkDM+%(h)~Z@P|L6K0cGa@=D|K5Ig31i!#Vgb%fO zCHB0tr-cdl5ia+TGQ`evO-O{zc+puCMo?1dnlOJ#ZYUZh5o&aC zK&qbz&iMgLgm@4i&4XiYRah3K!Ep@}3IktQ4}4A4z?auO5~l(j&cczy88(OaNHCn# z9`7+VPRaQdDywdU+xh8Mcc3*6OnA6{tWBrvlR1)ZgfKKO)5!&lX2zIaj?Kd}OO#qa zM&?gVPr-&TiU(R!@l*umsAH6Zq&jA8+wgMD6ql`BYi80>i?O;7Bi{w~s2%k#uyJ-F zXQdxy-})43Tdwr2)17yLJ;mEXgIJc+pA--(Vtf5!3WP8!3K=OXy?@zS3^>#z;}{6*={pOyanS-0km&&!`riuC8> zb#>s+i)nxEz;>W`k^K1t(#Hh9-qXQ#`8xh~8{2sagT$Ki2`os%&jTi`%tR0mMswcB zv#c*L2;S!flFf7UI}Ih&vaqA~Q&=me6X8>(R?I}Lc$sv4I%~yrw}7VDc|5v|1o1XV zYv{DNV>ekT*Ca7b=z?ERF8B!J&rAGyjq}uPiY5i7Zi!m74r~WX`sI69==@7v@%+ak zjn|iD#fHNiM~R;~r@yH=mE@d+1-t7pat7Av4Zmp9y4Ndu!yxhj$$qA-pP#_bGvge- zfUBa}(HDNz z5rNML%t8??ph__z$!Cmtm1J<-B?Dg|4QeXsV?6F?pS;OvL1dKn%MZwx@yid$mt`{2 zG#NHNg{{bd>B!6US_!HY6Y%@-uMrvFxyY~s<^25p`0t1eKAwLC8TS$y<^6KEse)hb zHdSOYN^3G=!gC!mVvN8m&Y}|&aKmXXk#WLBMogfRpEsON5E-5GCZi?|?3J%E~ zDj10?85gL^WR%fl#D(WMWW*Wx5z~yLC8$zNNP_Ww9+B~*i;TEHH6$aB@wlU(3Ppyq z(^=gJ&DM0$h!A&lo;#njeVIq*V9h`uqzpFUK zNO(DOx=e8@%e<>OeU~`pU#zMA7U1_?#qV+#zaJTj4(4}-i{E9M--jf>SYP-Z#qSU| zzX88K-B(MF@3;?m7QzkG4rY+^b8xa^nBaHy6YEqsln%e4dre+!84=gRVYn?D&Y(>A zn>hgJ%Y;ZqCkBiVUd@X4XWrr;j)(W?`ITZZbdWDI)rbk#_R~2&Y$(-f5lhjD)6^bR zA0u4nvjeW32V_K0p(~EFsbV72=Bm@&Rg<(a0oRWhQh{{mEZ;^g6P7*7%#l4&N3yTu z=d*lBMHqib_Sd+b%UVa*KG3=bQ%7*$o2Z?&wq6^d>~a17KP7uA99nPV+ra5f5OH)g zJZG(-J18GPLS(1tYwnZ{R2qLX?*YO$qPE_^06kgnofT(iw&VKkU~LPZf&rPWV?AE0 z^mwh#A8+`fGdAjLt_wP25q8FULNpCjVKiY}d78U&>X3D|e77q5yN|VOxDP&X>Hk`- z|D&b;V+-Mr*x!AK@%73Ua?uv(85w-86raEF2J1o}?OCrLE+Ns@PL=Q)7o6$ynVnP9 z&EP$_L2lJf@FjQVjDc)?yMfQ55lli&ytK(K_?aBM&%D{defIUd&u;oMEQ@N2^9Jid zfp~w#s&%{gE0(I;)ZeHDWcOE$@7WID=~UdqugI_G;aTBg8CU=KzQ;50pOs0a$~5s% zShY^CtTGg9QMZ)8VtSKPf-aiiMCv6fmytowBzm3a47iar)kv=3M+}Hz z&Ptn?pRjOYApML7V`3q*dUkE+Q66g2eTYOp{*x>vvP0F^c;{uj5jcUXM40zOpHlmw zk@o@d4P+Ce?gMVp_2B}X>UHh|I>ck*XF3tw-^UU25PS}DtL}gHf16$YZrVB)eYlMaXYoibF9+~M2C|^pQ#)Pcr1?lvcTBrAO z_I(IU1T_uT$Km*ZR4y!&(bO1&*MSD;a*Ys`2z?H}eyP}*Wk9QUu~zRSg*(<=m6m0% z!&TXP%q~NhOP$8`Rx(q-6p;?yO*fOLu?~Hyb!ckzp8DCd&Yt>CT?eYhms&L*QjE(s zQ?N~~HM{hj5q0JhEmzi=-7cNksdZ+G)EN|6cpvM@UX1VI_!k)eTBXmTo&k3nMSWi|dK7DmUtIzkWKHn>k6+TAI;cufQd}7FHTDDc&Or>^_ zi12ZTyvdPy${Ha|N~xQ`wFS4}P4%7`u_?N2l2_F}C9-5`Rnjb#ksMLjY4e+?HXV^% z8!3_!5rq@IJ(9eUt>se&UsR$C(UVBt9@HKly<)QLO3-<^8J-mUFt2>kN1m+4MO@;p z1v8A5m7=1|2P4s0RT@=%*$98DS;pqL1Y*G#aEu>}BgWTg>n$byMhGv1o$;>bS8Uk_ zc_?WtpMyKd4SY?Rj}xC?>qZnF)lluZSzBm?`wsO3rr{#{8E2rmQVHzreXoll8I_{a zQ0%x9NniNc;MHZP6i{|beq|#bnP$3R^!w2v>iYslKN3_j+W^}HIk3a{;s>%?NIan( z*evP5BFDgaCjUo{fd_SU=*vz-4s+NO>B?Vys_mZr)ghO^I;j2COVVGV7{Z6yM;*oZ z5sv>4+ro;3H*%c ze4f{xWZgWao!D9F#4sVNJJ0LRYA5z9XUAYT9@q>2LS2BrjSi8%p255`&{X;}9s$wW zAXuMQG5q-WAezcaHkDG+RH#*YLr&-?tP`I^&Cb}Pbxcko zF+zA9%%%fepvr@N{NN(a_hid2%lRG&g0s_nZ!-%W^b#?A925!4Y?S?I9@JE?ZPg$n zV$noc!O}=8_=T;2gvdfAE0{%7!3EsfS#1UL^E?ywfrtMi?ck)Y5bfZswu5XXQf3Sj ze~UDdA8hwr@H4G5Y$rdu?Bt}jlX=okkbivQ7H#7+#!qqlXN>=(>|{{_J%GIg4?3K~ z7H`Pj2r@M3H}HmVt&T1@R`k2g&-O>o6EE0>&lBHeTY0A_^F&Lm#x<^?>X!3@l{`;; zg>B>lEBznZMueYj1QW7uWg9_^ZRB6h{;#%?zo`fCx6x9bRQ`ok%|eT4h;vAfpOqHt z%NS%BV-N^jk4cwxStEpTWkTh_gf6lPU0_B2MJh5;i;sPJGs{Mr4wiO1WvZLo%EC$K zQ!G1%E|)q36TplIWL3Shx2USJcb7p$*F20pZ_8tQ*t?glrOwxKFeNYt-?p%uzApD~ z0mkt+8wW{`rAfvymyF{bHV%Z@IF{$NPFmvO|47@opzA~Rr+S_F?gcG@%PD6f=erl} z$ocLrtsiU`zq{<>g0_og(k@Um;lJ1x{>1nn9RCO7my}(+=N>-{zt()OKd&_sW++Ve z*R$?_P_#7?jPPQ&q3V{p{}}837G5I}RYu6?SGpf7bsrNlLPjW7={+6_q8xEjn<+;N zBNV4{z!KfY__jEl@cI3CZhsAq6u2ld{iMuT2o^;hR0Xm)x#X41ALs!!!A+Br45x+A z2b>tIm1M0{615Kc@=IqOWauhTFJk>JpXs!WiE;i2pK1EtK68(jAL|D8oueC65$VSJ zQa4ZnVf=x3495K&w=j-kCf(TR){S^aH;U(}8}UWZjcu$OTZ^I_20cr+*HCp!-RQ`3 zhqde%<5@Qnv~HA=x`7E^b#6Hb99^5qtkeWb3M0eYw=oJ^VVm%qSb zgpx4xF72;Vq=qA(8EuR)Dau_J<6?9;E{5L#Rn3qX9+e9hV=a$oEg!BbkyVfvUd}zm z5PM-s9GzGP1;^^LwxC~3X5y1swk&Hhh{wrmZe@cgr43>;8$_hf#CN#vi1L~7x;9k* zQf{B=&>Q75i}{t$#C`RBT6fqkio5J0UfadT(k@WM;Uu<&5*SZVwy?u(3#pDRl#Z~4 zENu&^YzzN5^X#~Ye~*ZqXQNQ|kU{XCK^qJlObr#M+pv6#$8F=PM{ys;_V zV#Kf&5QAxw!DC^?T}Ec4I4a6kICp84`&KOrZj+26>mpl21-1s3Y(;GiPm(q4VQZ+U ztzlPQbBHfI{2yr#sk%P2hl-KI0TQS0oqw)%g>}BPOXpLy&hL~ukIaV4vCfypcp0Vh zpC|Aeq$~U7`=Ke)+zeGAQfm6?wN4$(P*u7P_|@O@4A?Y`CS5{>-w-AB$ITO})3%`2rj+z&|@`^JraB9H5rkYe=H(Y(aHq?K3Vwq1O<3myUD%_Sm0cJ{7x#=cmTk?FZ zyL13AV?1s=7n+P>ROZ6SOMuEpnY-Fjf~UTF)4@ObWcb#+EeMY#COQy-=b z)cXDKa}@r8aB(3)h|^F}dAJ5i(^*NF=hOFNKsV_08NlKtLFdv1`qV{`_a}6v(l7gE z_!agI{KEEafx06Yn>bFzetS&C&V`|#!!S=1j~x-R#0ZeX^ko=Z z2qg|z@IY)pt}4+nSEbh0v5k+Z*rjnQRz+idA62n_P_vh6nH5&C61tXVP@>rz7z;s( zDKjwE{!N9A9;agK&#Tzsu!@y?T*VrP6{VX;Dy-hWD)wZOijCE=X9uZR`yJrX0vLN9 zgk6WR zY``#PiF=cUXge2UFRWIzJoCN~uP()yuY^a&N@lCnk()rD60m2oO9`<6%ygS*ctG_a zKB>(49)((-rn2eK#?&7%w&E?Yfl0*qSS71!ud390HYqHatYS~-`h0^Gb~K4&zl(vN zs&>DBl(oqc6OvVlz;+=z{DQGDA1jW&=p)3t=P)*YgOd0;E&F>UN0vA}R@D;Un_H{u zaa!9U=_@X(B&!moblGlYIChQ4k;}(rRO*~075lcdYU3x(WtU}I6LpFAbQ?G8*q-;5 z?yl6aip4#W-}qFItmVyRN(P7SR$(rK$5qs)UV5`cK^^8m2p6|u~zf(Z+XsFL6m|17?F;#5}Q@*^GzyNL1Sxl zzPcLQp|Kxzi3J*Kq4OQqm`}%MUQ)3Qi-nl?GsbSvu|IUaN*Wvd3uBfT7}EA(DCut2 zmN&QytX@566$3{p8MHm1u!?h4?5RyE_LuIr18Y>QTp6yfg2>RkU6fV<^nInM+Pa8i zmYA(;IrNQ+O_G*eMXb(cy{{nVFIFWQl=jGcsV7v4AGIddT%|qDYEG>nOrWYPd5c|r zREdilR4jgzDlt5y+TAyf+pQwzNeYUKf5x(gS>ku?{}zr_c9c7p?H9b+2o(!VHvVJpWd?5_%{wcWdv7wFYPVJ|$Y#+mA6lqbCLJx*;AVZTdz ztFp_!P_Z-Rm3Q2^Q2FBG(n5C|PT4!9k1Z~mgN62^SnESV#ttl3v5-#Pb5dceSE$%6 z4TZR_F~*+Qs<7(YRIKk-m3qG}+x8@56~rCVHx(DLy4@+RjkBh6?;Xu zyJoBE%Qo8Yj=D?9bl2S~HZ@80$GyW?|H_C@!CRnzDI+RCi3e+8Y~sHvb|}#!V?Qrs z%o5ig=aHniIG5xRhknLbwO<9rN{YRvM~-xzm#8uC&JilMc!-L<^Qe&HVDTkt9IP@z z#fBz$WGvOIV&&gasa?0JSnHlDHrG`7_Kabyq}aJddB+8l)F@f}Gc~$Q(<9D9^Hpr* zDiy1{UPH+#Tx3^l9#mS(sPvubgaD|_vh&u&uzNw zijNe1_iE4ZfLHmym(D6HYo<%|Ev8aCA6GMgJ8P)a4cDs~z+_#Y=c1Yce7HqnwO&@5 z^W)v@eZU%*D~npA$H6zXu8ml&Z1CILRV-0!_VXn?Qe)fC%? zW3S(;Vx_mM66vdzgvRQc2kUmvYOHy(ioL4a{qZZ+3tbzi*sppddHsNDBk57)>$-(i zEL~%dX>30D&KqJp(8jtX?yV}~$y}BCr#*0+BdY94?Xw@& zGwxgT-0T2w^e1t2-6Rz|vsig_&)W*?q*MK4R4nmKoo7@N-_ysf^eQ493!AQnJ+lMbOL6bTB_A@qQug_01`9)AB<&x`%cox8i)O?K{_ zv*+G?$NamnjenM+Rbds;=@jtPKVQmGn(jf@i!9FSh~49dW;>}B!XWmUKYfnX&$v4t zPg`pbNSb$h&EI8LsjW|wGka{%J|_P@{Y#E{NUJ2R7jwwN|r`KKq}UiYk*jgXck}%T@h06LH3irvs-8yyJraq^PXP5d5@&RM6B)vc0D3o+E6{owx=2g9d(<=m zDdjn12`ucwH;%ibbDvejSe$bTS-!W3S(N{j7N#Z4Dmv8rR26U~kz@U~v1=-$V6;|g z`Qwnd-5WRFTyl@7Dod04`^ZU?AUqJYnfxAhE9DtPv;8#AA?EO<7~ny*gVXifU(2Ub z9ABz24qAx)^sE9l46MfxWsLr22tz(Q<9k-0a(^6@?_&;mRpsQ=<#w4STMW}$QC6L+ zZQV5gxpiC2?1oy{9krH3P#>!I#oxY)sjFXNsE<2;9IM{Gp{9G>LU^ghoN#}a7lWaV zRlOILiSnJBeuU|^cx)xAr+M?&!ayL^7T%d!NPf^(>o#J>`-iH|pm8RuKjozw^vabe z7Wbg?W)Me~;kSztV_zmv%3cm?dZRDZvQgB)hrcF5@1~i(Do)bB^8{`GMeCE>9ZNyI zPcBb4D&NrElTJIer28R}CN;_aLQ`ZH{*A!=Fp!Xw16OR*sr8o^!)5G#Utx#cRC0^$$*h-k(>e6Ja(6fMwEb_*U|)Z0 zY@IWSKe7f{ZH8Q9W$yknCUl&9GKF)n`Wj$m|40V09&M_&uFBU5deprz4iClLyxsP` zvkae)-T~fRHW?SXXT8CtUET60T=IxP)am8DSc%iI!!?oh(;N7a#;N0nn_RCTXs$KO zElcB@-4zS3_UE32bXz0f+6X^{7Z8*Vw?)t)Y=PsTLEXT0J_M)&6=s9zfJnbF={U7v zI%3b7Z?FX%gnVNAv)2He4mEnA79Xf45DY3&z1J>19Y((6l(n@cgb)TwRX+=P5KL6B zD$CC%iWo}(GC*cCjMrPS3W`e_`YcCM-o`#dvl(je7-?4A=!KY0) zdudVlvN9U~*PkBX`L;TAsjTy z9hN%?WrP86JkT6|9f6)Q)A&UYfINxuP~N<)pHSQQo&6}qRc(_N{i1L75gc#A)R2k39JFWieO<{lWa9{s2h{ax;2kKV*qs3vMN(jPPA+#Cvi%AFTuO@6tl z_uwC!T)JD(#t z9ZLAegJaUhzof|y0ioyp9@^uf^ST2nu*ZJ1!*ds7nI-*Jq`_?|D$@60Z%2bK)2O$h zp`6|<4&)!HgpYrxRFHcwzEg1uynu{9L_Bho24pC3L?g z6B8%iO!_p1OJ zueNfVk7V(0+K>)kEW40mZLM0HD)7-6RA{5xlAgApRn=DbuWj%Bh{>3>=IP7g%GC5N zDIjDIRdvdR%xUHB)v9z;m?=-*0q%Fg=ap{>zdXu zOWNZ#mq!y+NFxWWOMf!w=OMcQr)b~Cx#ZM->KLtu`4Ns2FTCc5;J#lo@VW*JQ=MAV zjkW=@%rAaC&w2U7Ys(i{^P~LjzP;JUC)Y$=VhR=a?_1qySc~~`Xw=9DsAiJ&n`#~1 zWl6e0c*`Y}lF%{cRj+Hj*Yfhm^429W_W7FB$EED?@LB;`IhNF1rA&lEe`a`G{+mo! zER(j&2hlr6^XnfbXoO5*jlGGcg(D^gLH9_K^fvpP+T0yE|9QsLCx zd0s|$Hn=~I$%wMOFcp%{lc#y}Bh7M40{E|U41OEape)K10o<049g{_V6ertF` zb^$>*&OM0UcT^eh>I3^$PE6C{kJPNK-%7iawds5tJR`?bUewBZx|D<$7txXaoXIcS zeR=aXiY7!;$bAe-^QPS0*84-SmiB0VM?Tt617LE$;kUt^4QU&MwtQadU_0cO3l~r> z5K`@;0Nnor7j@YS&O{U!%g7BA2dZ@7W*|~AroIu8+2%#x6dOZY{e@mV|JZ0f# z1FY~7oLLS*y=8lB30!NbyqMaap;10djF!0V^ypecLh24HTn@NQ)beddSR3kk7P&&( z(o+AnpOUsj@8I`eS*a^(r08^P%fCn%t^6(3{ebfAMSZcXoNnQ@Yx>UjpTXZuipA-6 zF(xzIbTt6WHkC>*zX%~em`t))6OxwqTO`7&^mQ>eQ?#TCW?22&qkv=u9<~=pdZr_X z4}|Uz47EWDUCY@q!LDKhN6jJ|#|`|6XI+XcesX$$dDpuVQ{}Q$)BBVTss~eXZT&Y7 z20LvMYoDla=H08f6cr*eYV-B+mpI&S2btg`0!-$Q<^9vGTk^ffL1M%3(BF>*yPk?~ zJUDQSxnKS*)oWRl=11O_RNLh;nzois;CZMhi`>A=YUDvge(ICWmk{dC44SzYj{#S^ z5I53G7r3{IMykzC;cf@_fnF7*slLk`G;Ou*KnQmH_O+k+X*pf;v~3no0kt8ntbd+Q zcJ>hH0KV+(4Ff9isgwB-)8!c&u4hjG0wE|?zpte}mAF9Q&|A8oP~>f=FVEnh1FM*^ z$(x`}8!cVarE|sQ7TPyvmH^jIecBM~7SMP{VQQThN%}w~rs_|1ShzTC+qZ=em}(cg zKxUEiX_;7O_Vg_)eR#nub@m7WnS=bkx82ONJ0Pzctyx9Qs_hSvi3urN6 zH~);cWTkGrj14%7=sR@_4Lw&Eb}I4eYB`Vx8f`b9^dbok+*AGx&Z z6<(Z z!_**UC3)_-{C>waZ&gZn*L6%fi=}7 zh5=LYVyWs@Ou*5-4W>$Vfc|~IvcGYu*Yp8FmU}d9F$PklshDX}jDfx>{8}aWC7P}Ja?HtO{$a90 z>iko}OF%~T?a^l@N`JY5@Q0H1s48AyX^t8Ec-p5Tq)XejPWvYA@h{S{Ih?`$epaaE zC`#Df`etln6>Lr_KpN3J#P;VA`X8^mAb{~_i=~sACcGf)WzJ>g)={O{YMdnQ z)bcYm)jJTNkI_oYiP?-ck;qKhww-J zX;dc4{#Pta{bm-d>Eh+%Wf9C3Y^ZDMd5}$F1k}H(XeROfCcb$D01*h~s`Xgr=bnRe zWnWaSdRa&eiFyD<&zX`$i$4p2Md+>bPW`vxS8p*Bqlag4`)+BkOJkYbv*;D@V zvB#utV29G?TxDARJ3)Y9VH#XY6aFi7I-&#nbqKx*Q=qwnPZ_N#6 zX@C4_<^L-mqO&)CkzD-An0Fk&r`ywIvrFZWNPW{^^1CW`5!9jYWGD9@!-p!w5a9$P z;D?>laY2GDu;R^vrHh6ZT(aHRe11-%-;d7HJ*9NoJLf15@L(?GIiyy+T(w|V^lNGn z_9oEF;5qy;;d{BN=w8TkIaOCEUluB=OM*_8c%TEokW;>sW(o|0IuT20h=4p|QE zbX%t=^fsJF#OgP(j^5}v$wK+ovTIGSAmsY=v0D~n{blt{Rd*1Or@V+;Iso?iLzcul}mOt&U zK>~;Uss{Z~zWMFKyZyLQT3LZU9SHlHXL&7FSIQOA@0a++O9x=a_~tHzGv)Nb&FKUZw*+a}8+Yrk+e{j8F zS3Gnq$ghg}d^l}%^hR;LKwpWCAC47ld}JNlylJauy+t6HFZ&pTaMbv~#QlPOWklk)^LS0*CjENmIhOQI3gE7kjC~ znKIG3eznqai78TT9FEV7J2s38hDrT?vfr%@?s1rm3}*iSrp)(ngL?x1>s=)mYfRPC zPer%HKg537y?Sc@_ZiHqPC$cqB(%=6+)<;Pxue8x{}Czv5XJLcK=q4u*wodO+`woS zyB*Uvv7c-}7>u)19hUWo42Q8n{X;3iAFe|LW>L6q@KN8=^a_Q6a21a6j3`Qlns zF%eO~saTeSO4}S8xHnIUYcgr60B2*pm3DXQ>aAG)q&ouqi z@oZr7BByjSo*eb5KDPgv#7ownG3r)4|11y%DvB@ZAoBL;jNQ69otsipFs`NN`sJJa z^FN6f;mrBOThWbTeJfrG;+U|m9QU6o{xslYrW&V;Xq7KO@dZUeGOw$2Dt7qq;}b2s zQHvc=N0kK?n!Wz|7V92@=Gn8t_&=k8tPVPU&h^aa1f>|){f&@eFD@x6Vt3}qnoVx} z$BOOPz*9vg0+}LDu$V*L3^%{E;HNp zMrO|O>=^|7$kZ8cDo0|^`-FJ(`mDLrD03!hQ$d|MvIH=ym^p)TdN}U-qtE~rA{i$= z>|Q9qR(!-=3>`R(k$@T=g%udUTp!5tUVQkR0mEjcmh&2YL^`|TVr$zVuRJ(q3A z>06p?6~wCYp%v!?uc(>R0h`a}{eWGtR)R0fcuWZFY**_!-w`6YoEo+2-wJ)}r#(mQ8Hv8#8r|L8pOnDZ zS!5RWT_DEd8a5KmRr^;t=&;s9)Y18@iovRC{m^D5jCBHU_@p!_-1#CYZXEH~m)sxY z84ZDZ89i$K-qesZ;vm;VFv$!3;u-|Veng&>fr{H?_v?&IbCfZTnHvurpnScg=1O!H zeO@L6J+l32>)iRFP})2;q>sCY0BmLbhrV_kdG;@B&@I;-OcyZNcfLyBgJWv|(3C~rwh*1pp5)XrzM z4E;F&Rw6%B#|Rp=dFt2@elMi!ne9x@%%C%Q{HQ&M$=2BwjtAc$~c;I0??d zqejs-a+LT?X!k5pZCvwTQmh;?zi+(F8`>9|QLs`%yc?uaR&p0t&0;rQ{uI#}TwSrY zLQ>uLn(I5xeJ(y{d`zrvu*e$#;rq>JZCk8iewrFdt5Y~1+bK0%2U;mv55{s{eEwI6 z9O+vN3U!t}qX%5sIUV@e_2@z;Yl01dQO+8)Y+DXLW@SJp&b_RG6yk(GTu;@IjoZ?TX}2`1ly1Pv&xAL=MGht$c}RH`|EC5}w( z7O75cubwJIA2EI=UdugbjzPC9b9~{mhBm~Xl1|mi5BQ&dxmP>m!@qcW=U^b9>J1El zu=>oGCyg;1vWvq{R9~Mem`vPp50#H6d2b!%Sk;BU4cJ02+Iz%1#`~Y)QEuSZEiCV1 z&%Lwos(Wn^&FZsuu`z0%nZtyqa$s*REHv>rkVrpd^0_jN0UCW20SK?o`y4p$>FJ|( z`M7nu737n06}Nd9oCFwWld)EX)cRWY%9N_EH%{V1jlG#_?cz)B@k0w{l$lSr4(An> ztMa15`$FH+j4#+PQD{)c#qgc58kEnG&6p1TVdd5L`z^P}B4upjl;u<}*>m<$$JJS< z3}g0uhf!CCaa3G2-L#u@=Ylwmr#+{^smE%PZN&ZtqDs*-FFX$M%g%@5163lGoR_3m zYKSH6tkjkQJBkUrA~`O?R|$q~ z-Ti;YrQtH)+2bqhW|}T4TVK2*p=W(X&99Y`tynPK#2W#vdtL+;y6D_P` z6nXzS3idiB`(af>s~z_EIoyu5W)LJ%e0NB?7t1yn^igIPVij?T;JglC^4~aR zU8dgAXj!c@vtshJv~%YIO+Vktv3I2rhzmzHIje;<2-QX-x9`GexxOqh#D|MN^lA5% zw-eaz*)j2QY2S|y^}7tFJSbIU2*0)vJdn$@I9_E`=xt>M;UL)**AgDA`xNs^``D0V z;GU}6gOe;?Dg%3ebI>Q#EJj>gCkKWNcF?rdD_jp!cd9o7ow=}Ct9O5h$~!4(#br3R zKHpNg)6aGTk!i2TC6&IK9?82bw6G+M@oxzKU|^iHnjvRhHh+kG72MqdL@4Ed&boVKn#yzFAKIk)yt`Hh?q7H!Q0}T9Z&L*7x_yd{RXwSc9@ALn z8w#CPDmZmpl9?_Jd{OKJy?)B1`91z=?Uz%T7tmBAwq1Ym7+g`*sa#BieMC6RnWIW{ z;QcB808RoagT(p(SBz_Ajs@)N+b5vi7B(z)8XY>7LW|#oI@`qUxhwXz15 zjF%|5p&x~RB1vN+O8=aCe&@>Z(0Tvgi*oPeLMg3V-ze(rCmz9S^+76UfvrPiVmcU&wFb+C=$i;MLu&={VFCaS*!O!4ZOs%E&m#1!5zqSc5}pesl64!xI9CU7iK|-i^Ytq4^3?CJVsVK z-|)wZP?K7 z>s=|WC)aV1yX8~uI!j>(vFz-MR|MDPt~t?)y|oEEuxTmR{rk{odO9}D${am?fZjN5 zUw-Y0Cg4I;LF5cr#>}vupP!$$mjQWT^V4Rl#1pWc{<}N+e7-wBlccY|>lT(0f26`j zJ&N6{Q;qxMr_jXFC^|KbQq(Z0+bi>gs$3JD3_nUxXCCX1`$q!Bzef8I2?YnfkU9Dh zXW6OBlJm3Anm*jWjKPN`c=7Kr-#E46r?qwA+(KJ%}b(0b+(tM|?iB?$dW+cXl;c+4cNmm4+W5RJLfUL+ay;|NM0dI)Mh!ENc-^PxOCiNHI_PF-sP`0lSjk6T%Aq zJ+a{in@xg|{h^09$C20FIP7}PD2G7!6pO1D;DS5!9nJ&6sUz6a}&-5Bl62#O!H;ufQy+ve|eXG*p>u)<3ZMTDl98 z$<{9afr>m%Scqa<+I~3X>))FgEP!A54_5GlH!5S&^|INh4^*A1KB}|V)_yIlq|dl_ zZ)`qu5zG!6O`NdZTgN-74CZtet?Mt3V}vyX!iRB5(v?&F!rq9p^cK4dw^$m_13L3F zRXl0j&y*h2PZ<*S7RCE57+FIKqDS?bmadFPfr!NL<~Y*Uo`ST-@;*j*Jm)PP<4Sm7 zu7%0A3Dx;?i_pwCjIe}j`zo@C_qFo?G7*Sgtq|(|!UU=89I*>JhGlz^iZ{7=6j>rd)GCzfO zz?#Dx7F)?%wX@?nIOd@ssa6u|Sur!EA8$>KxvjJQ&iUPamgA1qX=ER0aq6`BE zNW_*?@(&wQK9N#QBH2y4k{r7lbHL25VG$h!OF|1;V1BiB7zZ9c7=~I4h!@q9@O~h> zeHb*;SbwCfnf_BW#gnoe;oJu9jyV1%T}B`VAA_79&eR&1Z;DU;C5;69>Xs|2ww_O> z;QVAuN3B1BQ$_(q&&5My(r!;Z_7pm03;q=UNOJPsZgO{y&BFB^hrU$uiQsvcrjdaUox%C3I9){K6kw*F2EDb!n9PFi2d&ya(xO zFrx15@dS~B*}N}TEPdommxtiM`|;)>n5};MyN3^>603(mZHw)o!I1l( z!g6?unN!YkFbTdYCHKjVn~F!SV<_mfRc_pIp9bmUUfLM|(DT~x zJv3#eb-Gz#ZdCI%z5hb3G2!eAg5sc5i*XssHi-x>MkK0Tr{o=s60&%X5K03J)OkfP zLa7JFb&q0vANr%HdU46(M2XmSnoTAqtWsP%Uwi!eR@19^YyIfGwA4b)ntooE-B>ZT zpJTj=?1RtZ`>x17qh#otDpUJBMm-clZ#?y!)QoG7D;RM$=B?pR%aONqDJO84 zjGF+T5gIPG=ZD{w!ASB~#2@9GS(anf&|15tL!2}pYyw&xzbW^%oNcs3=GJA5^ZCK~ zvzh?A`w5U@F|E;^CTkVW1L}^4wCBe*woPO8oW+x32BV5speYvVrzr!dw3+}E%GinI zPwydASQZGyphP@Sqs;@Pd8*Uh2Th_K<&f$?e+O1UNBTu4H7J7xa=xJ6?lt~l&SyIv z(Gw(U53hVOx%j6`R27}Tm^D=*J-;20!QH<^48uzM~F+!$LT+> zQfhW%&^NMYn&lsi)D1u#+gu-qm`5Fh>9g5BLqo2N+CMW!_W515z+}vwuSG!+tM$1Q zv)uTt)Be4q^&`H5uB8={@ndLB@2IhSL>s}?dVgmiM{eO%+|hV+bl2k=dAWZfC4b2m zY)ve*pxI5~k-%Mq^49?iVGF6T*nNq0a(5IId=>B9+g5mebAMN`ZtodHHVl8vE>}sr z%nUNonm~hp=vI}5Q>=PI%RpPFrY;BcUp?`&+0q>Lp~w^i1g`fT*?P0gxf%I={%n=x z*}XAi$OAv%sDO3~s9#<)X-SY-0xVEuhx9r?g# zF|sX0of2W!*BsHkR0+a{ce@Z2Db9rHMO7$enVd5ut0oGsI%gY0&3HiBh(YSD-96Jv zYey1IVJRdJ!YPg*J#-8M!cTXKceMSBpaBIDCF^te0mtX6!+mGYt{ zoPb$}s&_eRt2KCFTjo5*v>jTh+4=~2LMh36#yaeTy2$!r|sL!{T?XiY5XFh3cWmTx#j z(A~42`^!F#+n`i~4$qh>1ng`PkeXQvfX_Qe-59l=K(U*iM(|7?W5=42%~%qRB-ABh z-4{p29CuW$sozb$d$-KWzmB(IYb96+n=~^_$v$Wu#)hjSkh!%;4T$KNXz&pVzp$XQ zfEh0#oayfbm5C1esuX(%Jxbh#okDqy&p1Yg->IpvpNEA!F&;vPjyvrl1Ysoa1uL03 z2nDsk_?ZCHlL906)4@M*cJt%hy2W4q^bx)IZA5Ao%jXHU@Z7?}m=7K`3Or+9V_QtZ~BpM`ym;6&jR&io|4 zcW7Lj?25)J`Zq-Iax}l!DEqB2dlj1~-S04ga$jrUA}#&l+f(4qfgJemET&11Zc{X% zx0`Y_e)aFIQYK;NzP@tfDMB#i`gWgi%N3pgyLcQmuBT|_z*}9s_GCE#`9meU|Ic!+ z9TS+>PWc>c+nw9JbuHXgD=y^Hm^M*=Vfka4J%q&O2>5PTY)$XNSd{11cs2SDT5K-D zQ@*{6yp>Gzb4JquS)@v5eJR;{I>E;lCk|$dABf|zzO?IFCnVpP>apYe;NuZ}?290o zVTm-=Y7t}UM&*s4q+o0Nq+yNIb>G-(k=ogzb+HA5Ls#;02iZuUDHjw^m+ zeV;Pu)g7x6phM$n?ol?q=5PT~%&C9ff|IC5H;4(#flufL8DS&Ct?V>JN54aB?-*ot z^ldL7BbC#Zda`Je`?{a^Pd>M+8H0dr+;HQ1Yo+KT zb-z-cM_ZJP&ui>mCST7j?sc?MmaqIxj-3^b)@c^&C;&V5N^v0T0fKQRsHl09`?q6$Vny#?V11x41dor1{R+EI&AC%kz*uWnQ8wGlCRN z=9l=r(ocqXl=OC4{k6AZP~W%9`OeiGG!5ksvrn))qQphW40xZ-xZYjez z!?=uB0esZDPDg$C!Te?bB z_bi%ljlrp&ikX&k%!PZGO(s+Fws9WK*U#_mJ=%IBFZa(;X`Yu~5_mVe^6mX|iP4pi z%iR*LAsso_lO5GJgjX0Zv*i`{E?gnb+8pKcC-2eIyq0Ddr=f8gXWv!lVj1Ahz`Y04 z)7V!tj?>XNFEMuWymoFJ-s~~HDmW(?ZFgO(UV(}}^7pQJ12yG??Mgtlv(Ivm5_V#x zFOs(E#S>Dvl6NH5+4Tn(1I0PlU6b-sZeo9AWh7Ewqb=|17z^E)y~*jRyu|5JNSG2X z19$Ci1z9q9@sC(v5QD(97_)A>Y(MW)3f)j77ItC5u! zEXv%AJcV7VW{np8*!k-<#LAEQ=~yp|cckXU5_Gh)k=eAcr2N z|HsgaHYJf!(2+u6I|evXphX`=|Ks%xlN+y_1X`mdg=(qF-nXQpg@Iu#tr;YveFocW z-TGcNxPuOhnz!4RLn+-!ZK)iO&Nm}FEQOAY4qy3%`Pp|-ko_X*mH$W-eiz~OGe>Ew zCqo#RZF7;TT2XOv#4cTk*+WXrnL0Lg@o}xd8wu~g0J|>GH(B!rrNR^hw$X2c*dG!x zi&z|10x9=|ru!28-iKsdFm*8PKmHP0Kf7DRcl&~*#&b}Dvzg*FOmnwlpW$&7+Drd6 zRamU=^z{o_okQ2@FI3Yoj6y4OV?6)=R+> z$~}GSs6363(pVUxQD%uN8`NPRuC!@>>nkDE`HqqnF-zFw+|#G~p+Q^ER+@2CM^sD3 z%z$P@-Vu+!kiaG8OLl@B(P-z{Oyr!QpJW|#?q6U_!7ud8lhSl*#1;xCII1Z{xSFh3 zX6+#56jZ0t>MFTNXUIbbQtBoI(DB4xe@utXC zTJRj_h{!)+JUSLsiCXV9bYI8sFg6b4nbgSGEj5$>i4~ahAaW+Hm(^{ZyVNG$sFXzH zrVpM`yjIjT1U^#a#tcu%GD&U04x|-` z^()}>O2EkbsJ@->+*+b3>W>7!J!C2{P`|oaB)!d)B-j#xIBC^)BoXUAs{D=!w6cU` zB`a&5uTpU^w~r28oA{MsH{lTCV%bRTuIuN8|_TOtWC_6ms ztUy(WNpj1{>vrl?Sk3FIR}%srHT&*B9xy++&uqttv(B3WXU9J<3g=!v{#>eR828L*>>s_un4Ex*zF)ZfmSYZHx ztP8}F(qeWAj<*^PQUqJ?x1cm+;DVX5XN1qZK(%PmYnwOb(c^WQ>Q}#WW|}7mn*S{_ zp4IHm9iBb;OzZ<3nH(}48XhfQP5wnIcKha=NcAhWG+04JH5yV_YQ{v&B6a7j#p3YI zyVfa>uV42*ay&FTf$<^V%IJb#fFGh>VK3FNr~FaE6rvx zOB3p$Q;Ocbv{%_bmEK3|cil(*FroqHpGz^26wZZe+9_S%qn(W;(pYm_FS=}l#SJAT zGlij4GndSTW(uxu%KuEB$RhH!st4Eo8ctTodu5g&!hEUa8bZVoY;82FKSXXV^hr)8 z`G%}=aS_&!uDHiubVWUjyXd;!Thz(WJmdBDNr`BPbgTSq!Qz!8wDQk%79IXe`^*rX zA#!I!U3M}l#Mz#ii!dYBM=OV|HI1T6J@DMUz#rdsdNm1{riCWBZJM#z8TRtBPsp%`>!ClO^nltLv zxCE^Mj$v|I!Ma0Or}ESmYVL)Mk|^;!y90&jc-l>PMi27+((o*Q=tYeD$7Lsvlz4jI z|M3_;yBsdfd)qPWxGPm}2pbyX6PdhsN^>#gu;4E67@atTo!9XZaST&@QEohh_4+oE zpS(A7w?v+6q4qgYKn|<;H5TBs>#a@y6+SC)PG=^EjqmQ0^4kIpy}Fjd%9Jh;trC@z zRuAP7FZ?-pO7^NseKJH2D127O!A+R-1wN6(maWI;JM9|7=xv>(%e^C_L}?7+zfQ>E zQ4^5ly<@H3;{OQvaBUrGAp*R8_!RF{D!hZV=vPd1yO%Gs|&h(d;nj0)8`eP5$$*_hrF$l6@0GL8((OV zRX^B^0X}S#3pVumlIs6{X(7s$rfV4YI*d9hBQ|Tp_wUL%qYbf+`4fxMqToea=(6FUxTMi8))mM(kAnzbPc5rgdXnk7t#~VQ39+Q}TWTOs!g9^~n0D^=;vHmp zZ_j*Y+Pr2IW#hW+**g|;A?;f?2}A?HPX zhDX5>;2_%lWj9wf%2HI;u36pzf`9c!Ti$*I@O0GzdPqiqN=|*M>?-!J0>uU~poz!! z^n)tfMjYP`WTE_j@mMBWzHZn_F!-+KA)bE{_m|XI7rhn?-LCV=UMmO?U_G?Q&Nxns2cQe*Gt;TrnOqwf3%LsIHJ^ju8$bYpC^QSebO7nBmJ2BZDQ89 zrK!Oj>B60dKVb{;)*NxkkG)UWcrZvOD^I*SmEh{mfe*4G}nk zVi%nLbAlfa5hR0R$!s!|gX#(X_(k?`(geBvfYvDEH=;%E!QGAS6?Lu|7(tx*TJ59c zAW1|DE|Nu;pLcu)e7ln#D7`#NdUjaw0liMj&;efKI)JI(NFNRcqtfb}#A=Z5WD%6K zRC&(5%}A!(I=fq&7+niZ+q6#@`ipyEs0HDs5y<NbeM3iQiZnkE$wXUhmyj?4_hL9 zj0uS|2Q9#Re&3~3$wn4He$eGT$a|><<{<*$;F^HnjY8;bDz2|SZ~LAMzh30%ZTc!8 z35Rv{03{5c#H_IkFWWsW6>$A((>n?rEA85-u7eJKC@-a_s%5Otef8~&Xwf=`xAg8& zm4BzIU%uF{$0;cr1oZ2F!2Np8Jsqi?M2J2}maE7JVq@_BeEW6#>%*;7>(Xrh-&QBB zUw=S*3p9^%jnayhk zrO<%cjU*RJS#e4StuQ%$58$}Z{<~-#G)>@f%}^O+-jQ;83&gyf-LFaQD<$77{=P66 za7I0*0X)!1%JX`$Skck?<2*dM>>nwua;F2IYgf8#*P2I#fSrg2Z!WiI{T?qlV>1^JaM??P|9m|jU~15ESKTH^ zVUqqs+4ko1{*5}8b@_mq`)yJKdl+OOna)=cpB`qqg_V(%wVe3k!7s<}*>Ykq#CYZlV& z_no0A8%@EHNOqgNkx za69}S|8y~`S@>X|@;4Wgs)Jrnoz~>+!rRoK!p)=tK_QzigBOwpL^(AU8HP4 z)jgzKSSNTpIAcaGS^7tx+V4!a1ZgI$e6^*E9oV-H`X&XSE_i<;pqE8}mD?%QGr^dN z@xi8@SIUJ|V7#zan$;qe058UmGLi}dt})tqe;6=aCBI9ri0@*qm(-WO{h#$MWr{mH zpSYHh0_ax1KYY_I;egKY!7sUipxE*Io{9rt+9J<~`o8=ACH@A+jF_qk0fX;m^CYE! z$RE8=!_Li1k_;{uHOP7--s@dawI4NbH=A!M7WIhLvv5w~V6<}fv;3cRJRf4IVKV5$5@JqJK?u4Fpy`&ES6Xq@GyFDH~$J4OYMF$`)=~9DVB6_vw8APb#vJPNAtqe z-<4JSFhfU1evWLH{O)-OvbFAN>1kZBu0{I}N3>&~oIwlYj$d<~FY|rR!MSIksm7#%I4ctzqXn5Y6c1JOEITvf)Yxi}s~^x-t2uv9 zZ(-=*xYUe~)$@2VbU|L-nrN5_D0RX`FnJ+>q~Tr|njEkga}Kt;kY#Z^pB;V4X~Vm2>%oz0ZDl{N*8dw!z& zfr7c*mFFRLcU%3b5z!FbZR%9eHaXXFevov_7w(em{inEgV&HD{aqAX~9a`Njv^>R_ zPs^U(3p^y*G}y7b#prAO-Y5t8=wcP+q<+Sl*OGUn9<*vM_pJe<-Crdo2rx+XSU2pY z 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

?xrd}#~yNQ1?o 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ો?;wOVrlU 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 ZK=&o!TM>hLZ^2IS8lY(gxGy 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

Jy9vRUH_#$6^pQw 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

QUC(mSb)rL8OHXY>5aa*$wS_&7vqg_%>wb}Q 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%0A{osORWlbC;< zR&tq`c48aoN5HIOmyP8P>*cqB0$Dx}*)C%rBPs08L~WE)j*}Q(uq{X|Pt_v58&AR{%))NS_>CXO#sF%ZJ)IR4t9QGM%pG(zfW>@~C zd8!?X#s*YuBy2oV(UMvO!YHs3fx-v$@v8qKXt`OXS6dK|%$yBobmnGvj;v#8l@}{n z)a@SXEpSqa{pond3t1ldQ*!@p+FL%AFEUrXxtwTeBDtJV8Nl~dbs~1tR+;&ZhrHip zes&1(4#`Y)Fx8I8EO*GeeGiTHAViA8YYpfol!s1X{0-!}-RA5x-IqFxKZj%5^5zUV zH{O2P3~V$Tzm*fZ5(jqnEU@|X?BI$HvhL=1O(KFDG!M+;cYJ1y-gbI$h{bf3b0mHB zw7L1{K_garX0=%5Ob)j)_&u&TMQ>M_{b~*6-QCI7)O{JbXbvNz2W_ns&|)VZgSJ<4 z=PxH7-yE%^N$hMbr!i}VPi5I?&K9>VH;DW0*e*5j@0-#^;3Ur=FpH^?_1;WC(PS?U z$S!T+dzEwa*A~(sH33_jZxHU8>KRzQgG}@f?o#1&kQ{etB5c3zCFd}yQ@JKdP4|1M zy(W_${8as}v|;d5Rd$)azEqB+y$3?Kg;IIQWDg&mPvYmQX=U?T)0j3Vbpe*`o0kvhLetSq!tygnM@E&-L=wdz1f^AI<67MQ8@s; z{{xHf30q~Rh2&BrX+LNGe4k6Z&!Sc<)f&fk7Y8HdzlqolzacQ*VFlA(67-`@+<$eQ~c2PoK6W652 z=~!P{g@2H*gQ4F;A{rCYLx+lN>W=T5?Vzol5(D$a_-ie363%at_mdHqUzS9va9XT#F(wTt~`}Au3&H1Ouqw6Cc`k6UYOH;sY zT=29<3exx8-oPwkYKq6B;Bo8vgnb5|3Avm=B!#-^Nb&pFXB^A%(Fk6`u%|w%X&(b9s z#ayys51J#m6@)F;(z62E^Bd7ixF-`ocE%)~6%9xwV?#u(y`ep&Y=5S+_x$R{v}YgS zKILvxvs7z=&Pl@T=Koz5r)VU!`UHm+ac}II1z<`QrZOtxn+GV#m+iO7+nXYWMM-B=FTA~$s#cx&kvCKa~fnj

iy4x{>v9{Q=Q9-vzAd!nFVPX`1`V?MVfOSNkNtN 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û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%0AC)4AF#tG_N@m6j5T5Wann$ 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≫@rPS272h=qJZ)=ToiekBs<%yf)j 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 OgUw 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�L6w%sh?Ct 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 literal 0 HcmV?d00001 diff --git a/packages/Newtonsoft.Json.10.0.2/lib/net20/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.10.0.2/lib/net20/Newtonsoft.Json.xml new file mode 100644 index 0000000..cd11ef5 --- /dev/null +++ b/packages/Newtonsoft.Json.10.0.2/lib/net20/Newtonsoft.Json.xml @@ -0,0 +1,9815 @@ + + + + Newtonsoft.Json + + + +

+ Represents a BSON Oid (object id). + + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Initializes a new instance of the class. + + The Oid value. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. + + + + + Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. + + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Initializes a new instance of the class. + + The to write to. + + + + Initializes a new instance of the class. + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a JSON array. + + + + + Writes the beginning of a JSON object. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a parameterized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Creates a custom object. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets a value indicating whether integer values are allowed when deserializing. + + true if integers are allowed when deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + true if the written enum text will be camel case; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). + + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts XML to and from JSON. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. + + The name of the deserialized root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attribute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + true if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface for using pooled arrays. + + The array type content. + + + + Rent an array from the pool. This array must be returned when it is no longer needed. + + The minimum required length of the array. The returned array may be longer. + The rented array from the pool. This array must be returned when it is no longer needed. + + + + Return an array to the pool. + + The array that is being returned. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Initializes a new instance of the class. + + + + + Instructs the to always serialize the member, and to require that the member has a value. + + + + + Specifies how JSON comments are handled when loading JSON. + + + + + Ignore comments. + + + + + Load comments as a with type . + + + + + Specifies how line information is handled when loading JSON. + + + + + Ignore line information. + + + + + Load line information. + + + + + Specifies the settings used when loading JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how JSON comments are handled when loading JSON. + + The JSON comment handling. + + + + Gets or sets how JSON line info is handled when loading JSON. + + The JSON line info handling. + + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Gets or sets how null value properties are merged. + + How null value properties are merged. + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies how null value properties are merged. + + + + + The content's null value properties will be ignored during merging. + + + + + The content's null value properties will be merged. + + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. + When the or + + methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a raw JSON string. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Represents a collection of objects. + + The type of token. + + + + Gets the of with the specified key. + + + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, and the descendants of every token in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every token in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every token in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every token in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every token in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a token that can contain other tokens. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An of containing the descendant tokens of the . + + + + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + + An of containing this token, and all the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates a that can be used to add tokens to the . + + A that is ready to have content written to it. + + + + Replaces the child nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens. + + + + Represents a collection of objects. + + The type of token. + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the of with the specified key. + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a JSON object. + + + + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets the node type for this . + + The type. + + + + Gets an of of this object's properties. + + An of of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets a of of this object's property values. + + A of of this object's property values. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries to get the with the specified property name. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Represents a JSON array. + + + + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads an from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + + + + + Returns an enumerator that iterates through the collection. + + + A of that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + + + + Removes all items from the . + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies the elements of the to an array, starting at a particular array index. + + The array. + Index of the array. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Gets the at the reader's current position. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets the at the writer's current position. + + + + + Gets the token being written. + + The token being written. + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying . + + + + + Closes this writer. + If is set to true, the JSON is auto-completed. + + + Setting to true has no additional effect, since the underlying is a type that cannot be closed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes a value. + An error will be raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Represents an abstract JSON token. + + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of tokens that contain this token, and the ancestors of this token. + + A collection of tokens that contain this token, and the ancestors of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output should be formatted. + A collection of s which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to []. + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from [] to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Creates a for this token. + + A that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object. + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + Creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An of that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An of that contains the selected elements. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Adds an object to the annotation list of this . + + The annotation to add. + + + + Get the first annotation object of the specified type from this . + + The type of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets the first annotation object of the specified type from this . + + The of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets a collection of annotations of the specified type for this . + + The type of the annotations to retrieve. + An that contains the annotations for this . + + + + Gets a collection of annotations of the specified type for this . + + The of the annotations to retrieve. + An of that contains the annotations that match the specified type for this . + + + + Removes the annotations of the specified type from this . + + The type of annotations to remove. + + + + Removes the annotations of the specified type from this . + + The of annotations to remove. + + + + Represents a JSON property. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a undefined value. + + A undefined value. + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Writes this token to a . + + A into which this method will write. + A collection of s which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not of the same type as this instance. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + A camel case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + The default naming strategy. Property names and dictionary keys are unchanged. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Represents a trace writer that writes to the application's instances. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Provides methods to get attributes. + + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Allows users to control class loading and mandate what class to load. + + + + + When implemented, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When implemented, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Contract details for a used by the . + + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + A base class for resolving how property names and dictionary keys are serialized. + + + + + A flag indicating whether dictionary keys should be processed. + Defaults to false. + + + + + A flag indicating whether extension data names should be processed. + Defaults to false. + + + + + A flag indicating whether explicitly specified property names, + e.g. a property name customized with a , should be processed. + Defaults to false. + + + + + Gets the serialized name for a given property name. + + The initial property name. + A flag indicating whether the property has had a name explicitly specified. + The serialized property name. + + + + Gets the serialized name for a given extension data name. + + The initial extension data name. + The serialized extension data name. + + + + Gets the serialized key for a given dictionary key. + + The initial dictionary key. + The serialized dictionary key. + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Provides methods to get attributes from a , , or . + + + + + Initializes a new instance of the class. + + The instance to get attributes for. This parameter should be a , , or . + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + A snake case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used by to resolve a for a given . + + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. + + The naming strategy used to resolve how property names and dictionary keys are serialized. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Resolved name of the property. + + + + Resolves the name of the extension data. By default no changes are made to extension data names. + + Name of the extension data. + Resolved name of the extension data. + + + + Resolves the key of the dictionary. By default is used to resolve dictionary keys. + + Key of the dictionary. + Resolved key of the dictionary. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Used by to resolve a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the collection values. + + true if the creator has a parameter with the collection values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non-public. + + true if the default object creator is non-public; otherwise, false. + + + + Contract details for a used by the . + + + + + Gets or sets the dictionary key resolver. + + The dictionary key resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the dictionary values. + + true if the creator has a parameter with the dictionary values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object constructor. + + The object constructor. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the for this property. + + The for this property. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes precedence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets a predicate used to determine whether the property should be deserialized. + + A predicate used to determine whether the property should be deserialized. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that was resolved from the reference. + + + + Gets the reference for the specified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Contract details for a used by the . + + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Gets or sets the extension data value type. + + + + + Gets or sets the extension data name resolver. + + The extension data name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Lookup and create an instance of the type described by the argument. + + The type to create. + Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used. + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. + + + + + Provides a set of static (Shared in Visual Basic) methods for + querying objects that implement . + + + + + Returns the input typed as . + + + + + Returns an empty that has the + specified type argument. + + + + + Converts the elements of an to the + specified type. + + + + + Filters the elements of an based on a specified type. + + + + + Generates a sequence of integral numbers within a specified range. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + + + + Generates a sequence that contains one repeated value. + + + + + Filters a sequence of values based on a predicate. + + + + + Filters a sequence of values based on a predicate. + Each element's index is used in the logic of the predicate function. + + + + + Projects each element of a sequence into a new form. + + + + + Projects each element of a sequence into a new form by + incorporating the element's index. + + + + + Projects each element of a sequence to an + and flattens the resulting sequences into one sequence. + + + + + Projects each element of a sequence to an , + and flattens the resulting sequences into one sequence. The + index of each source element is used in the projected form of + that element. + + + + + Projects each element of a sequence to an , + flattens the resulting sequences into one sequence, and invokes + a result selector function on each element therein. + + + + + Projects each element of a sequence to an , + flattens the resulting sequences into one sequence, and invokes + a result selector function on each element therein. The index of + each source element is used in the intermediate projected form + of that element. + + + + + Returns elements from a sequence as long as a specified condition is true. + + + + + Returns elements from a sequence as long as a specified condition is true. + The element's index is used in the logic of the predicate function. + + + + + Base implementation of First operator. + + + + + Returns the first element of a sequence. + + + + + Returns the first element in a sequence that satisfies a specified condition. + + + + + Returns the first element of a sequence, or a default value if + the sequence contains no elements. + + + + + Returns the first element of the sequence that satisfies a + condition or a default value if no such element is found. + + + + + Base implementation of Last operator. + + + + + Returns the last element of a sequence. + + + + + Returns the last element of a sequence that satisfies a + specified condition. + + + + + Returns the last element of a sequence, or a default value if + the sequence contains no elements. + + + + + Returns the last element of a sequence that satisfies a + condition or a default value if no such element is found. + + + + + Base implementation of Single operator. + + + + + Returns the only element of a sequence, and throws an exception + if there is not exactly one element in the sequence. + + + + + Returns the only element of a sequence that satisfies a + specified condition, and throws an exception if more than one + such element exists. + + + + + Returns the only element of a sequence, or a default value if + the sequence is empty; this method throws an exception if there + is more than one element in the sequence. + + + + + Returns the only element of a sequence that satisfies a + specified condition or a default value if no such element + exists; this method throws an exception if more than one element + satisfies the condition. + + + + + Returns the element at a specified index in a sequence. + + + + + Returns the element at a specified index in a sequence or a + default value if the index is out of range. + + + + + Inverts the order of the elements in a sequence. + + + + + Returns a specified number of contiguous elements from the start + of a sequence. + + + + + Bypasses a specified number of elements in a sequence and then + returns the remaining elements. + + + + + Bypasses elements in a sequence as long as a specified condition + is true and then returns the remaining elements. + + + + + Bypasses elements in a sequence as long as a specified condition + is true and then returns the remaining elements. The element's + index is used in the logic of the predicate function. + + + + + Returns the number of elements in a sequence. + + + + + Returns a number that represents how many elements in the + specified sequence satisfy a condition. + + + + + Returns a that represents the total number + of elements in a sequence. + + + + + Returns a that represents how many elements + in a sequence satisfy a condition. + + + + + Concatenates two sequences. + + + + + Creates a from an . + + + + + Creates an array from an . + + + + + Returns distinct elements from a sequence by using the default + equality comparer to compare values. + + + + + Returns distinct elements from a sequence by using a specified + to compare values. + + + + + Creates a from an + according to a specified key + selector function. + + + + + Creates a from an + according to a specified key + selector function and a key comparer. + + + + + Creates a from an + according to specified key + and element selector functions. + + + + + Creates a from an + according to a specified key + selector function, a comparer and an element selector function. + + + + + Groups the elements of a sequence according to a specified key + selector function. + + + + + Groups the elements of a sequence according to a specified key + selector function and compares the keys by using a specified + comparer. + + + + + Groups the elements of a sequence according to a specified key + selector function and projects the elements for each group by + using a specified function. + + + + + Groups the elements of a sequence according to a specified key + selector function and creates a result value from each group and + its key. + + + + + Groups the elements of a sequence according to a key selector + function. The keys are compared by using a comparer and each + group's elements are projected by using a specified function. + + + + + Groups the elements of a sequence according to a specified key + selector function and creates a result value from each group and + its key. The elements of each group are projected by using a + specified function. + + + + + Groups the elements of a sequence according to a specified key + selector function and creates a result value from each group and + its key. The keys are compared by using a specified comparer. + + + + + Groups the elements of a sequence according to a specified key + selector function and creates a result value from each group and + its key. Key values are compared by using a specified comparer, + and the elements of each group are projected by using a + specified function. + + + + + Applies an accumulator function over a sequence. + + + + + Applies an accumulator function over a sequence. The specified + seed value is used as the initial accumulator value. + + + + + Applies an accumulator function over a sequence. The specified + seed value is used as the initial accumulator value, and the + specified function is used to select the result value. + + + + + Produces the set union of two sequences by using the default + equality comparer. + + + + + Produces the set union of two sequences by using a specified + . + + + + + Returns the elements of the specified sequence or the type + parameter's default value in a singleton collection if the + sequence is empty. + + + + + Returns the elements of the specified sequence or the specified + value in a singleton collection if the sequence is empty. + + + + + Determines whether all elements of a sequence satisfy a condition. + + + + + Determines whether a sequence contains any elements. + + + + + Determines whether any element of a sequence satisfies a + condition. + + + + + Determines whether a sequence contains a specified element by + using the default equality comparer. + + + + + Determines whether a sequence contains a specified element by + using a specified . + + + + + Determines whether two sequences are equal by comparing the + elements by using the default equality comparer for their type. + + + + + Determines whether two sequences are equal by comparing their + elements by using a specified . + + + + + Base implementation for Min/Max operator. + + + + + Base implementation for Min/Max operator for nullable types. + + + + + Returns the minimum value in a generic sequence. + + + + + Invokes a transform function on each element of a generic + sequence and returns the minimum resulting value. + + + + + Returns the maximum value in a generic sequence. + + + + + Invokes a transform function on each element of a generic + sequence and returns the maximum resulting value. + + + + + Makes an enumerator seen as enumerable once more. + + + The supplied enumerator must have been started. The first element + returned is the element the enumerator was on when passed in. + DO NOT use this method if the caller must be a generator. It is + mostly safe among aggregate operations. + + + + + Sorts the elements of a sequence in ascending order according to a key. + + + + + Sorts the elements of a sequence in ascending order by using a + specified comparer. + + + + + Sorts the elements of a sequence in descending order according to a key. + + + + + Sorts the elements of a sequence in descending order by using a + specified comparer. + + + + + Performs a subsequent ordering of the elements in a sequence in + ascending order according to a key. + + + + + Performs a subsequent ordering of the elements in a sequence in + ascending order by using a specified comparer. + + + + + Performs a subsequent ordering of the elements in a sequence in + descending order, according to a key. + + + + + Performs a subsequent ordering of the elements in a sequence in + descending order by using a specified comparer. + + + + + Base implementation for Intersect and Except operators. + + + + + Produces the set intersection of two sequences by using the + default equality comparer to compare values. + + + + + Produces the set intersection of two sequences by using the + specified to compare values. + + + + + Produces the set difference of two sequences by using the + default equality comparer to compare values. + + + + + Produces the set difference of two sequences by using the + specified to compare values. + + + + + Creates a from an + according to a specified key + selector function. + + + + + Creates a from an + according to a specified key + selector function and key comparer. + + + + + Creates a from an + according to specified key + selector and element selector functions. + + + + + Creates a from an + according to a specified key + selector function, a comparer, and an element selector function. + + + + + Correlates the elements of two sequences based on matching keys. + The default equality comparer is used to compare keys. + + + + + Correlates the elements of two sequences based on matching keys. + The default equality comparer is used to compare keys. A + specified is used to compare keys. + + + + + Correlates the elements of two sequences based on equality of + keys and groups the results. The default equality comparer is + used to compare keys. + + + + + Correlates the elements of two sequences based on equality of + keys and groups the results. The default equality comparer is + used to compare keys. A specified + is used to compare keys. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Represents a collection of objects that have a common key. + + + + + Gets the key of the . + + + + + Defines an indexer, size property, and Boolean search method for + data structures that map keys to + sequences of values. + + + + + Represents a sorted sequence. + + + + + Performs a subsequent ordering on the elements of an + according to a key. + + + + + Represents a collection of keys each mapped to one or more values. + + + + + Gets the number of key/value collection pairs in the . + + + + + Gets the collection of values indexed by the specified key. + + + + + Determines whether a specified key is in the . + + + + + Applies a transform function to each key and its associated + values and returns the results. + + + + + Returns a generic enumerator that iterates through the . + + + + + See issue #11 + for why this method is needed and cannot be expressed as a + lambda at the call site. + + + + + See issue #11 + for why this method is needed and cannot be expressed as a + lambda at the call site. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Builds a string. Unlike this class lets you reuse its internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic . + + The list to add to. + The collection of elements to add. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + The property is not required but it cannot be a null value. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, when returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, when returns false). + + + + Instructs the how to serialize the collection. + + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items. + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the how to serialize the object. + + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the collection's items converter. + + The collection's items converter. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that it is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and set members to their default value when deserializing. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Gets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + + + + + Initializes a new instance of the class. + + Type of the . + + + + Initializes a new instance of the class. + + Type of the . + Parameter list to use when constructing the . Can be null. + + + + Instructs the how to serialize the object. + + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Specifies the settings on a object. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) are handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how default values are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets a function that creates the used by the serializer when resolving references. + + A function that creates the used by the serializer when resolving references. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + + Represents a reader that provides validation. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the .NET type for the current JSON token. + + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a []. + + + A [] or null if the next JSON token is null. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The containing the JSON data to read. + + + + Gets or sets the reader's character buffer pool. + + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Gets or sets the used when serializing the property's collection items. + + The collection's items . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets or sets the writer's character array pool. + + + + + Gets or sets how many s to write for each level in the hierarchy when is set to . + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to . + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Initializes a new instance of the class using the specified . + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying . + + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + The exception thrown when an error occurs while writing JSON text. + + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + The exception thrown when an error occurs while reading JSON text. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Represents a collection of . + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Specifies the state of the reader. + + + + + A read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader is in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the source should be closed when this reader is closed. + + + true to close the source when this reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. + The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets or sets how time zones are handled when reading JSON. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets the .NET type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Reads the next JSON token from the source. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the current token and value. + + The new token. + The value. + A flag indicating whether the position index inside an array should be updated. + + + + Sets the state based on current token type. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the reader's state to . + If is set to true, the source is also closed. + + + + + Provides methods for converting between .NET types and JSON types. + + + + + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + The string escape handling. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output should be formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output should be formatted. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Serializes the to a JSON string. + + The node to serialize. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to serialize. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Gets or sets how null values are handled during serialization and deserialization. + + + + + Gets or sets how default values are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings + from . + + + A new instance. + The will not use default settings + from . + + + + + Creates a new instance using the specified . + The will not use default settings + from . + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings + from . + + + + + Creates a new instance. + The will use default settings + from . + + + A new instance. + The will use default settings + from . + + + + + Creates a new instance using the specified . + The will use default settings + from as well as the specified . + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings + from as well as the specified . + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the JSON structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + + Contains the JSON schema extension methods. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + The validation event handler. + + + + + Returns detailed information about the schema exception. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + + Resolves from an id. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + + Specifies undefined schema Id handling options for the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + + Returns detailed information related to the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + + Represents the callback method that will handle JSON schema validation events and the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + + An in-memory representation of a JSON Schema. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read-only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisible by. + + A number that the value should be divisible by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). + + A flag indicating whether the value can not equal the number defined by the minimum attribute (). + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). + + A flag indicating whether the value can not equal the number defined by the maximum attribute (). + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallowed types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains JSON Schema. + + A that contains JSON Schema. + A populated from the string that contains JSON Schema. + + + + Load a from a string that contains JSON Schema using the specified . + + A that contains JSON Schema. + The resolver. + A populated from the string that contains JSON Schema. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + + Generates a from a specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + + The value types allowed by the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Specifies type name handling options for the . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON + you must specify a root type object with + or . + + + + + Specifies the type of JSON token. + + + + + This is returned by the if a read method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets or sets a value indicating whether the destination should be closed when this writer is closed. + + + true to close the destination when this writer is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. + + + true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Gets or sets a value indicating how JSON text output should be formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled when writing JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the destination and also flushes the destination. + + + + + Closes this writer. + If is set to true, the destination is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the end of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current JSON object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + + + + Writes the token. + + The to write. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Sets the state of the . + + The being written. + The value being written. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls result in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + An array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + This attribute allows us to define extension methods without + requiring .NET Framework 3.5. For more information, see the section, + Extension Methods in .NET Framework 2.0 Apps, + of Basic Instincts: Extension Methods + column in MSDN Magazine, + issue Nov 2007. + + + + diff --git a/packages/Newtonsoft.Json.10.0.2/lib/net35/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.10.0.2/lib/net35/Newtonsoft.Json.xml new file mode 100644 index 0000000..0ba8a04 --- /dev/null +++ b/packages/Newtonsoft.Json.10.0.2/lib/net35/Newtonsoft.Json.xml @@ -0,0 +1,8944 @@ + + + + Newtonsoft.Json + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. + + + + + Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. + + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Initializes a new instance of the class. + + The to write to. + + + + Initializes a new instance of the class. + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a JSON array. + + + + + Writes the beginning of a JSON object. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Represents a BSON Oid (object id). + + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Initializes a new instance of the class. + + The Oid value. + + + + Converts a binary value to and from a base 64 string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Creates a custom object. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets a value indicating whether integer values are allowed when deserializing. + + true if integers are allowed when deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + true if the written enum text will be camel case; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). + + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts XML to and from JSON. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. + + The name of the deserialized root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attribute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + true if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a parameterized constructor. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface for using pooled arrays. + + The array type content. + + + + Rent an array from the pool. This array must be returned when it is no longer needed. + + The minimum required length of the array. The returned array may be longer. + The rented array from the pool. This array must be returned when it is no longer needed. + + + + Return an array to the pool. + + The array that is being returned. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Initializes a new instance of the class. + + + + + Instructs the to always serialize the member, and to require that the member has a value. + + + + + Specifies how JSON comments are handled when loading JSON. + + + + + Ignore comments. + + + + + Load comments as a with type . + + + + + Specifies how line information is handled when loading JSON. + + + + + Ignore line information. + + + + + Load line information. + + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. + When the or + + methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Specifies the settings used when loading JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how JSON comments are handled when loading JSON. + + The JSON comment handling. + + + + Gets or sets how JSON line info is handled when loading JSON. + + The JSON line info handling. + + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Gets or sets how null value properties are merged. + + How null value properties are merged. + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies how null value properties are merged. + + + + + The content's null value properties will be ignored during merging. + + + + + The content's null value properties will be merged. + + + + + Represents a raw JSON string. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Represents a collection of objects. + + The type of token. + + + + Gets the of with the specified key. + + + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, and the descendants of every token in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every token in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every token in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every token in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every token in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a token that can contain other tokens. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An of containing the descendant tokens of the . + + + + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + + An of containing this token, and all the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates a that can be used to add tokens to the . + + A that is ready to have content written to it. + + + + Replaces the child nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens. + + + + Represents a collection of objects. + + The type of token. + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the of with the specified key. + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a JSON object. + + + + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets the node type for this . + + The type. + + + + Gets an of of this object's properties. + + An of of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets a of of this object's property values. + + A of of this object's property values. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries to get the with the specified property name. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Represents a JSON array. + + + + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads an from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + + + + + Returns an enumerator that iterates through the collection. + + + A of that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + + + + Removes all items from the . + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies the elements of the to an array, starting at a particular array index. + + The array. + Index of the array. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Gets the at the reader's current position. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets the at the writer's current position. + + + + + Gets the token being written. + + The token being written. + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying . + + + + + Closes this writer. + If is set to true, the JSON is auto-completed. + + + Setting to true has no additional effect, since the underlying is a type that cannot be closed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes a value. + An error will be raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Represents an abstract JSON token. + + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of tokens that contain this token, and the ancestors of this token. + + A collection of tokens that contain this token, and the ancestors of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output should be formatted. + A collection of s which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to []. + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from [] to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Creates a for this token. + + A that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object. + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + Creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An of that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An of that contains the selected elements. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Adds an object to the annotation list of this . + + The annotation to add. + + + + Get the first annotation object of the specified type from this . + + The type of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets the first annotation object of the specified type from this . + + The of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets a collection of annotations of the specified type for this . + + The type of the annotations to retrieve. + An that contains the annotations for this . + + + + Gets a collection of annotations of the specified type for this . + + The of the annotations to retrieve. + An of that contains the annotations that match the specified type for this . + + + + Removes the annotations of the specified type from this . + + The type of annotations to remove. + + + + Removes the annotations of the specified type from this . + + The of annotations to remove. + + + + Represents a JSON property. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a undefined value. + + A undefined value. + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Writes this token to a . + + A into which this method will write. + A collection of s which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not of the same type as this instance. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + A camel case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + The default naming strategy. Property names and dictionary keys are unchanged. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Represents a trace writer that writes to the application's instances. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Provides methods to get attributes. + + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Allows users to control class loading and mandate what class to load. + + + + + When implemented, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When implemented, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Contract details for a used by the . + + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + A base class for resolving how property names and dictionary keys are serialized. + + + + + A flag indicating whether dictionary keys should be processed. + Defaults to false. + + + + + A flag indicating whether extension data names should be processed. + Defaults to false. + + + + + A flag indicating whether explicitly specified property names, + e.g. a property name customized with a , should be processed. + Defaults to false. + + + + + Gets the serialized name for a given property name. + + The initial property name. + A flag indicating whether the property has had a name explicitly specified. + The serialized property name. + + + + Gets the serialized name for a given extension data name. + + The initial extension data name. + The serialized extension data name. + + + + Gets the serialized key for a given dictionary key. + + The initial dictionary key. + The serialized dictionary key. + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Provides methods to get attributes from a , , or . + + + + + Initializes a new instance of the class. + + The instance to get attributes for. This parameter should be a , , or . + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + A snake case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Contract details for a used by the . + + + + + Gets or sets the object constructor. + + The object constructor. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides data for the Error event. + + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used by to resolve a for a given . + + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. + + The naming strategy used to resolve how property names and dictionary keys are serialized. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Resolved name of the property. + + + + Resolves the name of the extension data. By default no changes are made to extension data names. + + Name of the extension data. + Resolved name of the extension data. + + + + Resolves the key of the dictionary. By default is used to resolve dictionary keys. + + Key of the dictionary. + Resolved key of the dictionary. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Used by to resolve a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the collection values. + + true if the creator has a parameter with the collection values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non-public. + + true if the default object creator is non-public; otherwise, false. + + + + Contract details for a used by the . + + + + + Gets or sets the dictionary key resolver. + + The dictionary key resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the dictionary values. + + true if the creator has a parameter with the dictionary values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the for this property. + + The for this property. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes precedence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets a predicate used to determine whether the property should be deserialized. + + A predicate used to determine whether the property should be deserialized. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that was resolved from the reference. + + + + Gets the reference for the specified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Contract details for a used by the . + + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Gets or sets the extension data value type. + + + + + Gets or sets the extension data name resolver. + + The extension data name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Lookup and create an instance of the type described by the argument. + + The type to create. + Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Represents a method that constructs an object. + + The object type to create. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Builds a string. Unlike this class lets you reuse its internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic . + + The list to add to. + The collection of elements to add. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + The property is not required but it cannot be a null value. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, when returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, when returns false). + + + + Instructs the how to serialize the collection. + + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items. + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the how to serialize the object. + + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the collection's items converter. + + The collection's items converter. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that it is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and set members to their default value when deserializing. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Gets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + + + + + Initializes a new instance of the class. + + Type of the . + + + + Initializes a new instance of the class. + + Type of the . + Parameter list to use when constructing the . Can be null. + + + + Instructs the how to serialize the object. + + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Specifies the settings on a object. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) are handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how default values are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets a function that creates the used by the serializer when resolving references. + + A function that creates the used by the serializer when resolving references. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + + Represents a reader that provides validation. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the .NET type for the current JSON token. + + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a []. + + + A [] or null if the next JSON token is null. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The containing the JSON data to read. + + + + Gets or sets the reader's character buffer pool. + + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Gets or sets the used when serializing the property's collection items. + + The collection's items . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets or sets the writer's character array pool. + + + + + Gets or sets how many s to write for each level in the hierarchy when is set to . + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to . + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Initializes a new instance of the class using the specified . + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying . + + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + The exception thrown when an error occurs while writing JSON text. + + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + The exception thrown when an error occurs while reading JSON text. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Represents a collection of . + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Specifies the state of the reader. + + + + + A read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader is in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the source should be closed when this reader is closed. + + + true to close the source when this reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. + The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets or sets how time zones are handled when reading JSON. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets the .NET type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Reads the next JSON token from the source. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the current token and value. + + The new token. + The value. + A flag indicating whether the position index inside an array should be updated. + + + + Sets the state based on current token type. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the reader's state to . + If is set to true, the source is also closed. + + + + + Provides methods for converting between .NET types and JSON types. + + + + + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + The string escape handling. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output should be formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output should be formatted. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Serializes the to a JSON string. + + The node to serialize. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to serialize. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Gets or sets how null values are handled during serialization and deserialization. + + + + + Gets or sets how default values are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings + from . + + + A new instance. + The will not use default settings + from . + + + + + Creates a new instance using the specified . + The will not use default settings + from . + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings + from . + + + + + Creates a new instance. + The will use default settings + from . + + + A new instance. + The will use default settings + from . + + + + + Creates a new instance using the specified . + The will use default settings + from as well as the specified . + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings + from as well as the specified . + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the JSON structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + + Contains the JSON schema extension methods. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + The validation event handler. + + + + + Returns detailed information about the schema exception. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + + Resolves from an id. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + + Specifies undefined schema Id handling options for the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + + Returns detailed information related to the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + + Represents the callback method that will handle JSON schema validation events and the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + + An in-memory representation of a JSON Schema. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read-only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisible by. + + A number that the value should be divisible by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). + + A flag indicating whether the value can not equal the number defined by the minimum attribute (). + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). + + A flag indicating whether the value can not equal the number defined by the maximum attribute (). + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallowed types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains JSON Schema. + + A that contains JSON Schema. + A populated from the string that contains JSON Schema. + + + + Load a from a string that contains JSON Schema using the specified . + + A that contains JSON Schema. + The resolver. + A populated from the string that contains JSON Schema. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + + Generates a from a specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + + The value types allowed by the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Specifies type name handling options for the . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON + you must specify a root type object with + or . + + + + + Specifies the type of JSON token. + + + + + This is returned by the if a read method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets or sets a value indicating whether the destination should be closed when this writer is closed. + + + true to close the destination when this writer is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. + + + true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Gets or sets a value indicating how JSON text output should be formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled when writing JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the destination and also flushes the destination. + + + + + Closes this writer. + If is set to true, the destination is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the end of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current JSON object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + + + + Writes the token. + + The to write. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Sets the state of the . + + The being written. + The value being written. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls result in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + An array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.10.0.2/lib/net40/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.10.0.2/lib/net40/Newtonsoft.Json.xml new file mode 100644 index 0000000..17f493e --- /dev/null +++ b/packages/Newtonsoft.Json.10.0.2/lib/net40/Newtonsoft.Json.xml @@ -0,0 +1,9144 @@ + + + + Newtonsoft.Json + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. + + + + + Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. + + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Initializes a new instance of the class. + + The to write to. + + + + Initializes a new instance of the class. + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a JSON array. + + + + + Writes the beginning of a JSON object. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Represents a BSON Oid (object id). + + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Initializes a new instance of the class. + + The Oid value. + + + + Converts a binary value to and from a base 64 string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Creates a custom object. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets a value indicating whether integer values are allowed when deserializing. + + true if integers are allowed when deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + true if the written enum text will be camel case; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). + + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts XML to and from JSON. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. + + The name of the deserialized root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attribute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + true if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a parameterized constructor. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Provides an interface for using pooled arrays. + + The array type content. + + + + Rent an array from the pool. This array must be returned when it is no longer needed. + + The minimum required length of the array. The returned array may be longer. + The rented array from the pool. This array must be returned when it is no longer needed. + + + + Return an array to the pool. + + The array that is being returned. + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Initializes a new instance of the class. + + + + + Instructs the to always serialize the member, and to require that the member has a value. + + + + + Specifies how JSON comments are handled when loading JSON. + + + + + Ignore comments. + + + + + Load comments as a with type . + + + + + Specifies how line information is handled when loading JSON. + + + + + Ignore line information. + + + + + Load line information. + + + + + Specifies the settings used when loading JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how JSON comments are handled when loading JSON. + + The JSON comment handling. + + + + Gets or sets how JSON line info is handled when loading JSON. + + The JSON line info handling. + + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Gets or sets how null value properties are merged. + + How null value properties are merged. + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies how null value properties are merged. + + + + + The content's null value properties will be ignored during merging. + + + + + The content's null value properties will be merged. + + + + + Represents a raw JSON string. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. + When the or + + methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a collection of objects. + + The type of token. + + + + Gets the of with the specified key. + + + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, and the descendants of every token in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every token in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every token in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every token in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every token in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a token that can contain other tokens. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An of containing the descendant tokens of the . + + + + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + + An of containing this token, and all the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates a that can be used to add tokens to the . + + A that is ready to have content written to it. + + + + Replaces the child nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens. + + + + Represents a collection of objects. + + The type of token. + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the of with the specified key. + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a JSON object. + + + + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets the node type for this . + + The type. + + + + Gets an of of this object's properties. + + An of of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets a of of this object's property values. + + A of of this object's property values. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries to get the with the specified property name. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Represents a JSON array. + + + + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads an from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + + + + + Returns an enumerator that iterates through the collection. + + + A of that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + + + + Removes all items from the . + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies the elements of the to an array, starting at a particular array index. + + The array. + Index of the array. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Gets the at the reader's current position. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets the at the writer's current position. + + + + + Gets the token being written. + + The token being written. + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying . + + + + + Closes this writer. + If is set to true, the JSON is auto-completed. + + + Setting to true has no additional effect, since the underlying is a type that cannot be closed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes a value. + An error will be raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Represents an abstract JSON token. + + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of tokens that contain this token, and the ancestors of this token. + + A collection of tokens that contain this token, and the ancestors of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output should be formatted. + A collection of s which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to []. + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from [] to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Creates a for this token. + + A that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object. + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + Creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An of that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An of that contains the selected elements. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Adds an object to the annotation list of this . + + The annotation to add. + + + + Get the first annotation object of the specified type from this . + + The type of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets the first annotation object of the specified type from this . + + The of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets a collection of annotations of the specified type for this . + + The type of the annotations to retrieve. + An that contains the annotations for this . + + + + Gets a collection of annotations of the specified type for this . + + The of the annotations to retrieve. + An of that contains the annotations that match the specified type for this . + + + + Removes the annotations of the specified type from this . + + The type of annotations to remove. + + + + Removes the annotations of the specified type from this . + + The of annotations to remove. + + + + Represents a JSON property. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a undefined value. + + A undefined value. + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Writes this token to a . + + A into which this method will write. + A collection of s which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not of the same type as this instance. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + A camel case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + The default naming strategy. Property names and dictionary keys are unchanged. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Represents a trace writer that writes to the application's instances. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides methods to get attributes. + + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Allows users to control class loading and mandate what class to load. + + + + + When implemented, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When implemented, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Contract details for a used by the . + + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + A base class for resolving how property names and dictionary keys are serialized. + + + + + A flag indicating whether dictionary keys should be processed. + Defaults to false. + + + + + A flag indicating whether extension data names should be processed. + Defaults to false. + + + + + A flag indicating whether explicitly specified property names, + e.g. a property name customized with a , should be processed. + Defaults to false. + + + + + Gets the serialized name for a given property name. + + The initial property name. + A flag indicating whether the property has had a name explicitly specified. + The serialized property name. + + + + Gets the serialized name for a given extension data name. + + The initial extension data name. + The serialized extension data name. + + + + Gets the serialized key for a given dictionary key. + + The initial dictionary key. + The serialized dictionary key. + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Provides methods to get attributes from a , , or . + + + + + Initializes a new instance of the class. + + The instance to get attributes for. This parameter should be a , , or . + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + A snake case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Contract details for a used by the . + + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object constructor. + + The object constructor. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides data for the Error event. + + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used by to resolve a for a given . + + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. + + The naming strategy used to resolve how property names and dictionary keys are serialized. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Resolved name of the property. + + + + Resolves the name of the extension data. By default no changes are made to extension data names. + + Name of the extension data. + Resolved name of the extension data. + + + + Resolves the key of the dictionary. By default is used to resolve dictionary keys. + + Key of the dictionary. + Resolved key of the dictionary. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Used by to resolve a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the collection values. + + true if the creator has a parameter with the collection values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non-public. + + true if the default object creator is non-public; otherwise, false. + + + + Contract details for a used by the . + + + + + Gets or sets the dictionary key resolver. + + The dictionary key resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the dictionary values. + + true if the creator has a parameter with the dictionary values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the for this property. + + The for this property. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes precedence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets a predicate used to determine whether the property should be deserialized. + + A predicate used to determine whether the property should be deserialized. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that was resolved from the reference. + + + + Gets the reference for the specified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Contract details for a used by the . + + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Gets or sets the extension data value type. + + + + + Gets or sets the extension data name resolver. + + The extension data name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Lookup and create an instance of the type described by the argument. + + The type to create. + Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Represents a method that constructs an object. + + The object type to create. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Builds a string. Unlike this class lets you reuse its internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic . + + The list to add to. + The collection of elements to add. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + The property is not required but it cannot be a null value. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, when returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, when returns false). + + + + Instructs the how to serialize the collection. + + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items. + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the how to serialize the object. + + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the collection's items converter. + + The collection's items converter. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that it is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and set members to their default value when deserializing. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Gets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + + + + + Initializes a new instance of the class. + + Type of the . + + + + Initializes a new instance of the class. + + Type of the . + Parameter list to use when constructing the . Can be null. + + + + Instructs the how to serialize the object. + + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Specifies the settings on a object. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) are handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how default values are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets a function that creates the used by the serializer when resolving references. + + A function that creates the used by the serializer when resolving references. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + + Represents a reader that provides validation. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the .NET type for the current JSON token. + + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a []. + + + A [] or null if the next JSON token is null. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The containing the JSON data to read. + + + + Gets or sets the reader's character buffer pool. + + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Gets or sets the used when serializing the property's collection items. + + The collection's items . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets or sets the writer's character array pool. + + + + + Gets or sets how many s to write for each level in the hierarchy when is set to . + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to . + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Initializes a new instance of the class using the specified . + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying . + + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + The exception thrown when an error occurs while writing JSON text. + + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + The exception thrown when an error occurs while reading JSON text. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Represents a collection of . + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Specifies the state of the reader. + + + + + A read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader is in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the source should be closed when this reader is closed. + + + true to close the source when this reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. + The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets or sets how time zones are handled when reading JSON. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets the .NET type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Reads the next JSON token from the source. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the current token and value. + + The new token. + The value. + A flag indicating whether the position index inside an array should be updated. + + + + Sets the state based on current token type. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the reader's state to . + If is set to true, the source is also closed. + + + + + Provides methods for converting between .NET types and JSON types. + + + + + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + The string escape handling. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output should be formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output should be formatted. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Serializes the to a JSON string. + + The node to serialize. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to serialize. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Gets or sets how null values are handled during serialization and deserialization. + + + + + Gets or sets how default values are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings + from . + + + A new instance. + The will not use default settings + from . + + + + + Creates a new instance using the specified . + The will not use default settings + from . + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings + from . + + + + + Creates a new instance. + The will use default settings + from . + + + A new instance. + The will use default settings + from . + + + + + Creates a new instance using the specified . + The will use default settings + from as well as the specified . + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings + from as well as the specified . + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the JSON structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + + Contains the JSON schema extension methods. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + The validation event handler. + + + + + Returns detailed information about the schema exception. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + + Resolves from an id. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + + Specifies undefined schema Id handling options for the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + + Returns detailed information related to the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + + Represents the callback method that will handle JSON schema validation events and the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + + An in-memory representation of a JSON Schema. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read-only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisible by. + + A number that the value should be divisible by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). + + A flag indicating whether the value can not equal the number defined by the minimum attribute (). + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). + + A flag indicating whether the value can not equal the number defined by the maximum attribute (). + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallowed types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains JSON Schema. + + A that contains JSON Schema. + A populated from the string that contains JSON Schema. + + + + Load a from a string that contains JSON Schema using the specified . + + A that contains JSON Schema. + The resolver. + A populated from the string that contains JSON Schema. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + + Generates a from a specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + + The value types allowed by the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Specifies type name handling options for the . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON + you must specify a root type object with + or . + + + + + Specifies the type of JSON token. + + + + + This is returned by the if a read method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets or sets a value indicating whether the destination should be closed when this writer is closed. + + + true to close the destination when this writer is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. + + + true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Gets or sets a value indicating how JSON text output should be formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled when writing JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the destination and also flushes the destination. + + + + + Closes this writer. + If is set to true, the destination is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the end of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current JSON object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + + + + Writes the token. + + The to write. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Sets the state of the . + + The being written. + The value being written. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls result in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + An array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.10.0.2/lib/net45/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.10.0.2/lib/net45/Newtonsoft.Json.xml new file mode 100644 index 0000000..de78eb0 --- /dev/null +++ b/packages/Newtonsoft.Json.10.0.2/lib/net45/Newtonsoft.Json.xml @@ -0,0 +1,10760 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Initializes a new instance of the class. + + The Oid value. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. + + + + + Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. + + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Initializes a new instance of the class. + + The to write to. + + + + Initializes a new instance of the class. + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a JSON array. + + + + + Writes the beginning of a JSON object. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a parameterized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Creates a custom object. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). + + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets a value indicating whether integer values are allowed when deserializing. + + true if integers are allowed when deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + true if the written enum text will be camel case; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. + + The name of the deserialized root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attribute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + true if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that it is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and set members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface for using pooled arrays. + + The array type content. + + + + Rent an array from the pool. This array must be returned when it is no longer needed. + + The minimum required length of the array. The returned array may be longer. + The rented array from the pool. This array must be returned when it is no longer needed. + + + + Return an array to the pool. + + The array that is being returned. + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, when returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, when returns false). + + + + Instructs the how to serialize the collection. + + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items. + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the collection's items converter. + + The collection's items converter. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Provides methods for converting between .NET types and JSON types. + + + + + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + The string escape handling. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output should be formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output should be formatted. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Serializes the to a JSON string. + + The node to serialize. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to serialize. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Instructs the to use the specified when serializing the member or class. + + + + + Gets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + + + + + Initializes a new instance of the class. + + Type of the . + + + + Initializes a new instance of the class. + + Type of the . + Parameter list to use when constructing the . Can be null. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Initializes a new instance of the class. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to always serialize the member with the specified name. + + + + + Gets or sets the used when serializing the property's collection items. + + The collection's items . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously skips the children of the current token. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Specifies the state of the reader. + + + + + A read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader is in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the source should be closed when this reader is closed. + + + true to close the source when this reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. + The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets or sets how time zones are handled when reading JSON. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets the .NET type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Reads the next JSON token from the source. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the current token and value. + + The new token. + The value. + A flag indicating whether the position index inside an array should be updated. + + + + Sets the state based on current token type. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the reader's state to . + If is set to true, the source is also closed. + + + + + The exception thrown when an error occurs while reading JSON text. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Instructs the to always serialize the member, and to require that the member has a value. + + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Gets or sets how null values are handled during serialization and deserialization. + + + + + Gets or sets how default values are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings + from . + + + A new instance. + The will not use default settings + from . + + + + + Creates a new instance using the specified . + The will not use default settings + from . + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings + from . + + + + + Creates a new instance. + The will use default settings + from . + + + A new instance. + The will use default settings + from . + + + + + Creates a new instance using the specified . + The will use default settings + from as well as the specified . + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings + from as well as the specified . + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the JSON structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Specifies the settings on a object. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) are handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how default values are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets a function that creates the used by the serializer when resolving references. + + A function that creates the used by the serializer when resolving references. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Initializes a new instance of the class with the specified . + + The containing the JSON data to read. + + + + Gets or sets the reader's character buffer pool. + + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Gets or sets the writer's character array pool. + + + + + Gets or sets how many s to write for each level in the hierarchy when is set to . + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to . + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Initializes a new instance of the class using the specified . + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying . + + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Specifies the type of JSON token. + + + + + This is returned by the if a read method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + + Represents a reader that provides validation. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the .NET type for the current JSON token. + + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a []. + + + A [] or null if the next JSON token is null. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the current token. + + The to read the token from. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the token and its value. + + The to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously ets the state of the . + + The being written. + The value being written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Gets or sets a value indicating whether the destination should be closed when this writer is closed. + + + true to close the destination when this writer is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. + + + true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Gets or sets a value indicating how JSON text output should be formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled when writing JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the destination and also flushes the destination. + + + + + Closes this writer. + If is set to true, the destination is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the end of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current JSON object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + + + + Writes the token. + + The to write. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Sets the state of the . + + The being written. + The value being written. + + + + The exception thrown when an error occurs while writing JSON text. + + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Specifies how JSON comments are handled when loading JSON. + + + + + Ignore comments. + + + + + Load comments as a with type . + + + + + Specifies how line information is handled when loading JSON. + + + + + Ignore line information. + + + + + Load line information. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, and the descendants of every token in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every token in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every token in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every token in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every token in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token. + + + + Gets the of with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads an from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + + + + + Returns an enumerator that iterates through the collection. + + + A of that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + + + + Removes all items from the . + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies the elements of the to an array, starting at a particular array index. + + The array. + Index of the array. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + + + + Represents a JSON constructor. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a token that can contain other tokens. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An of containing the descendant tokens of the . + + + + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + + An of containing this token, and all the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates a that can be used to add tokens to the . + + A that is ready to have content written to it. + + + + Replaces the child nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens. + + + + Represents a collection of objects. + + The type of token. + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the of with the specified key. + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a JSON object. + + + + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets the node type for this . + + The type. + + + + Gets an of of this object's properties. + + An of of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets a of of this object's property values. + + A of of this object's property values. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries to get the with the specified property name. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Represents a JSON property. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a raw JSON string. + + + + + Asynchronously creates an instance of with the content of the reader's current token. + + The reader. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns an instance of with the content of the reader's current token. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Gets or sets how null value properties are merged. + + How null value properties are merged. + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. + When the or + + methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents an abstract JSON token. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Writes this token to a asynchronously. + + A into which this method will write. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of tokens that contain this token, and the ancestors of this token. + + A collection of tokens that contain this token, and the ancestors of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output should be formatted. + A collection of s which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to []. + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from [] to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Creates a for this token. + + A that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object. + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + Creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An of that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An of that contains the selected elements. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Adds an object to the annotation list of this . + + The annotation to add. + + + + Get the first annotation object of the specified type from this . + + The type of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets the first annotation object of the specified type from this . + + The of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets a collection of annotations of the specified type for this . + + The type of the annotations to retrieve. + An that contains the annotations for this . + + + + Gets a collection of annotations of the specified type for this . + + The of the annotations to retrieve. + An of that contains the annotations that match the specified type for this . + + + + Removes the annotations of the specified type from this . + + The type of annotations to remove. + + + + Removes the annotations of the specified type from this . + + The of annotations to remove. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Gets the at the reader's current position. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets the at the writer's current position. + + + + + Gets the token being written. + + The token being written. + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying . + + + + + Closes this writer. + If is set to true, the JSON is auto-completed. + + + Setting to true has no additional effect, since the underlying is a type that cannot be closed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes a value. + An error will be raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a undefined value. + + A undefined value. + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Writes this token to a . + + A into which this method will write. + A collection of s which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not of the same type as this instance. + + + + + Specifies the settings used when loading JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how JSON comments are handled when loading JSON. + + The JSON comment handling. + + + + Gets or sets how JSON line info is handled when loading JSON. + + The JSON line info handling. + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies how null value properties are merged. + + + + + The content's null value properties will be ignored during merging. + + + + + The content's null value properties will be merged. + + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + The property is not required but it cannot be a null value. + + + + + + Contains the JSON schema extension methods. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + The validation event handler. + + + + + An in-memory representation of a JSON Schema. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read-only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisible by. + + A number that the value should be divisible by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). + + A flag indicating whether the value can not equal the number defined by the minimum attribute (). + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). + + A flag indicating whether the value can not equal the number defined by the maximum attribute (). + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallowed types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains JSON Schema. + + A that contains JSON Schema. + A populated from the string that contains JSON Schema. + + + + Load a from a string that contains JSON Schema using the specified . + + A that contains JSON Schema. + The resolver. + A populated from the string that contains JSON Schema. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + + Returns detailed information about the schema exception. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + + Generates a from a specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + + Resolves from an id. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + + The value types allowed by the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + + Specifies undefined schema Id handling options for the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + + Returns detailed information related to the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + + Represents the callback method that will handle JSON schema validation events and the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Allows users to control class loading and mandate what class to load. + + + + + When implemented, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When implemented, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + A snake case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + A camel case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used by to resolve a for a given . + + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. + + The naming strategy used to resolve how property names and dictionary keys are serialized. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Resolved name of the property. + + + + Resolves the name of the extension data. By default no changes are made to extension data names. + + Name of the extension data. + Resolved name of the extension data. + + + + Resolves the key of the dictionary. By default is used to resolve dictionary keys. + + Key of the dictionary. + Resolved key of the dictionary. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + The default naming strategy. Property names and dictionary keys are unchanged. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer that writes to the application's instances. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides methods to get attributes. + + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Used by to resolve a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + A base class for resolving how property names and dictionary keys are serialized. + + + + + A flag indicating whether dictionary keys should be processed. + Defaults to false. + + + + + A flag indicating whether extension data names should be processed. + Defaults to false. + + + + + A flag indicating whether explicitly specified property names, + e.g. a property name customized with a , should be processed. + Defaults to false. + + + + + Gets the serialized name for a given property name. + + The initial property name. + A flag indicating whether the property has had a name explicitly specified. + The serialized property name. + + + + Gets the serialized name for a given extension data name. + + The initial extension data name. + The serialized extension data name. + + + + Gets the serialized key for a given dictionary key. + + The initial dictionary key. + The serialized dictionary key. + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that was resolved from the reference. + + + + Gets the reference for the specified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Represents a trace writer. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the collection values. + + true if the creator has a parameter with the collection values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non-public. + + true if the default object creator is non-public; otherwise, false. + + + + Contract details for a used by the . + + + + + Gets or sets the dictionary key resolver. + + The dictionary key resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the dictionary values. + + true if the creator has a parameter with the dictionary values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object constructor. + + The object constructor. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Gets or sets the extension data value type. + + + + + Gets or sets the extension data name resolver. + + The extension data name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the for this property. + + The for this property. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes precedence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets a predicate used to determine whether the property should be deserialized. + + A predicate used to determine whether the property should be deserialized. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Lookup and create an instance of the type described by the argument. + + The type to create. + Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Provides methods to get attributes from a , , or . + + + + + Initializes a new instance of the class. + + The instance to get attributes for. This parameter should be a , , or . + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. + + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Specifies type name handling options for the . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON + you must specify a root type object with + or . + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic . + + The list to add to. + The collection of elements to add. + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Gets a dictionary of the names and values of an type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike this class lets you reuse its internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls result in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + An array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.10.0.2/lib/netstandard1.0/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.10.0.2/lib/netstandard1.0/Newtonsoft.Json.xml new file mode 100644 index 0000000..f7a4e30 --- /dev/null +++ b/packages/Newtonsoft.Json.10.0.2/lib/netstandard1.0/Newtonsoft.Json.xml @@ -0,0 +1,10467 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Initializes a new instance of the class. + + The Oid value. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. + + + + + Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. + + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Initializes a new instance of the class. + + The to write to. + + + + Initializes a new instance of the class. + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a JSON array. + + + + + Writes the beginning of a JSON object. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a parameterized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Creates a custom object. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). + + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets a value indicating whether integer values are allowed when deserializing. + + true if integers are allowed when deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + true if the written enum text will be camel case; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. + + The name of the deserialized root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attribute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + true if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that it is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and set members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface for using pooled arrays. + + The array type content. + + + + Rent an array from the pool. This array must be returned when it is no longer needed. + + The minimum required length of the array. The returned array may be longer. + The rented array from the pool. This array must be returned when it is no longer needed. + + + + Return an array to the pool. + + The array that is being returned. + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, when returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, when returns false). + + + + Instructs the how to serialize the collection. + + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items. + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the collection's items converter. + + The collection's items converter. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Provides methods for converting between .NET types and JSON types. + + + + + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + The string escape handling. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output should be formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output should be formatted. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Instructs the to use the specified when serializing the member or class. + + + + + Gets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + + + + + Initializes a new instance of the class. + + Type of the . + + + + Initializes a new instance of the class. + + Type of the . + Parameter list to use when constructing the . Can be null. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Initializes a new instance of the class. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to always serialize the member with the specified name. + + + + + Gets or sets the used when serializing the property's collection items. + + The collection's items . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously skips the children of the current token. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Specifies the state of the reader. + + + + + A read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader is in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the source should be closed when this reader is closed. + + + true to close the source when this reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. + The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets or sets how time zones are handled when reading JSON. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets the .NET type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Reads the next JSON token from the source. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the current token and value. + + The new token. + The value. + A flag indicating whether the position index inside an array should be updated. + + + + Sets the state based on current token type. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the reader's state to . + If is set to true, the source is also closed. + + + + + The exception thrown when an error occurs while reading JSON text. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Instructs the to always serialize the member, and to require that the member has a value. + + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Gets or sets how null values are handled during serialization and deserialization. + + + + + Gets or sets how default values are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings + from . + + + A new instance. + The will not use default settings + from . + + + + + Creates a new instance using the specified . + The will not use default settings + from . + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings + from . + + + + + Creates a new instance. + The will use default settings + from . + + + A new instance. + The will use default settings + from . + + + + + Creates a new instance using the specified . + The will use default settings + from as well as the specified . + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings + from as well as the specified . + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the JSON structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Specifies the settings on a object. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) are handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how default values are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets a function that creates the used by the serializer when resolving references. + + A function that creates the used by the serializer when resolving references. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Initializes a new instance of the class with the specified . + + The containing the JSON data to read. + + + + Gets or sets the reader's character buffer pool. + + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Gets or sets the writer's character array pool. + + + + + Gets or sets how many s to write for each level in the hierarchy when is set to . + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to . + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Initializes a new instance of the class using the specified . + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying . + + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Specifies the type of JSON token. + + + + + This is returned by the if a read method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + + Represents a reader that provides validation. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the .NET type for the current JSON token. + + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a []. + + + A [] or null if the next JSON token is null. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the current token. + + The to read the token from. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the token and its value. + + The to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously ets the state of the . + + The being written. + The value being written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Gets or sets a value indicating whether the destination should be closed when this writer is closed. + + + true to close the destination when this writer is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. + + + true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Gets or sets a value indicating how JSON text output should be formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled when writing JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the destination and also flushes the destination. + + + + + Closes this writer. + If is set to true, the destination is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the end of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current JSON object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + + + + Writes the token. + + The to write. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Sets the state of the . + + The being written. + The value being written. + + + + The exception thrown when an error occurs while writing JSON text. + + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class + with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Specifies how JSON comments are handled when loading JSON. + + + + + Ignore comments. + + + + + Load comments as a with type . + + + + + Specifies how line information is handled when loading JSON. + + + + + Ignore line information. + + + + + Load line information. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, and the descendants of every token in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every token in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every token in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every token in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every token in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token. + + + + Gets the of with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads an from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + + + + + Returns an enumerator that iterates through the collection. + + + A of that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + + + + Removes all items from the . + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies the elements of the to an array, starting at a particular array index. + + The array. + Index of the array. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + + + + Represents a JSON constructor. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a token that can contain other tokens. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Raises the event. + + The instance containing the event data. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An of containing the descendant tokens of the . + + + + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + + An of containing this token, and all the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates a that can be used to add tokens to the . + + A that is ready to have content written to it. + + + + Replaces the child nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens. + + + + Represents a collection of objects. + + The type of token. + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the of with the specified key. + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a JSON object. + + + + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets the node type for this . + + The type. + + + + Gets an of of this object's properties. + + An of of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets a of of this object's property values. + + A of of this object's property values. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries to get the with the specified property name. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Represents a JSON property. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a raw JSON string. + + + + + Asynchronously creates an instance of with the content of the reader's current token. + + The reader. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns an instance of with the content of the reader's current token. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Specifies the settings used when loading JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how JSON comments are handled when loading JSON. + + The JSON comment handling. + + + + Gets or sets how JSON line info is handled when loading JSON. + + The JSON line info handling. + + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Gets or sets how null value properties are merged. + + How null value properties are merged. + + + + Represents an abstract JSON token. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Writes this token to a asynchronously. + + A into which this method will write. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of tokens that contain this token, and the ancestors of this token. + + A collection of tokens that contain this token, and the ancestors of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output should be formatted. + A collection of s which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to []. + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from [] to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Creates a for this token. + + A that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object. + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + Creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An of that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An of that contains the selected elements. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Adds an object to the annotation list of this . + + The annotation to add. + + + + Get the first annotation object of the specified type from this . + + The type of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets the first annotation object of the specified type from this . + + The of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets a collection of annotations of the specified type for this . + + The type of the annotations to retrieve. + An that contains the annotations for this . + + + + Gets a collection of annotations of the specified type for this . + + The of the annotations to retrieve. + An of that contains the annotations that match the specified type for this . + + + + Removes the annotations of the specified type from this . + + The type of annotations to remove. + + + + Removes the annotations of the specified type from this . + + The of annotations to remove. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Gets the at the reader's current position. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets the at the writer's current position. + + + + + Gets the token being written. + + The token being written. + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying . + + + + + Closes this writer. + If is set to true, the JSON is auto-completed. + + + Setting to true has no additional effect, since the underlying is a type that cannot be closed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes a value. + An error will be raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a undefined value. + + A undefined value. + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Writes this token to a . + + A into which this method will write. + A collection of s which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not of the same type as this instance. + + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies how null value properties are merged. + + + + + The content's null value properties will be ignored during merging. + + + + + The content's null value properties will be merged. + + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + The property is not required but it cannot be a null value. + + + + + + Contains the JSON schema extension methods. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + The validation event handler. + + + + + An in-memory representation of a JSON Schema. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read-only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisible by. + + A number that the value should be divisible by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). + + A flag indicating whether the value can not equal the number defined by the minimum attribute (). + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). + + A flag indicating whether the value can not equal the number defined by the maximum attribute (). + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallowed types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains JSON Schema. + + A that contains JSON Schema. + A populated from the string that contains JSON Schema. + + + + Load a from a string that contains JSON Schema using the specified . + + A that contains JSON Schema. + The resolver. + A populated from the string that contains JSON Schema. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + + Returns detailed information about the schema exception. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + + Generates a from a specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + + Resolves from an id. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + + The value types allowed by the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + + Specifies undefined schema Id handling options for the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + + Returns detailed information related to the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + + Represents the callback method that will handle JSON schema validation events and the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + A camel case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used by to resolve a for a given . + + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. + + The naming strategy used to resolve how property names and dictionary keys are serialized. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Resolved name of the property. + + + + Resolves the name of the extension data. By default no changes are made to extension data names. + + Name of the extension data. + Resolved name of the extension data. + + + + Resolves the key of the dictionary. By default is used to resolve dictionary keys. + + Key of the dictionary. + Resolved key of the dictionary. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + The default naming strategy. Property names and dictionary keys are unchanged. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides methods to get attributes. + + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Used by to resolve a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that was resolved from the reference. + + + + Gets the reference for the specified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Allows users to control class loading and mandate what class to load. + + + + + When implemented, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When implemented, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the collection values. + + true if the creator has a parameter with the collection values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non-public. + + true if the default object creator is non-public; otherwise, false. + + + + Contract details for a used by the . + + + + + Gets or sets the dictionary key resolver. + + The dictionary key resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the dictionary values. + + true if the creator has a parameter with the dictionary values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Gets or sets the extension data value type. + + + + + Gets or sets the extension data name resolver. + + The extension data name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the for this property. + + The for this property. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes precedence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets a predicate used to determine whether the property should be deserialized. + + A predicate used to determine whether the property should be deserialized. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Lookup and create an instance of the type described by the argument. + + The type to create. + Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + A base class for resolving how property names and dictionary keys are serialized. + + + + + A flag indicating whether dictionary keys should be processed. + Defaults to false. + + + + + A flag indicating whether extension data names should be processed. + Defaults to false. + + + + + A flag indicating whether explicitly specified property names, + e.g. a property name customized with a , should be processed. + Defaults to false. + + + + + Gets the serialized name for a given property name. + + The initial property name. + A flag indicating whether the property has had a name explicitly specified. + The serialized property name. + + + + Gets the serialized name for a given extension data name. + + The initial extension data name. + The serialized extension data name. + + + + Gets the serialized key for a given dictionary key. + + The initial dictionary key. + The serialized dictionary key. + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Provides methods to get attributes from a , , or . + + + + + Initializes a new instance of the class. + + The instance to get attributes for. This parameter should be a , , or . + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + A snake case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Specifies what messages to output for the class. + + + + + Output no tracing and debugging messages. + + + + + Output error-handling messages. + + + + + Output warnings and error-handling messages. + + + + + Output informational messages, warnings, and error-handling messages. + + + + + Output all debugging and tracing messages. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. + + + + + Specifies type name handling options for the . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON + you must specify a root type object with + or . + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic . + + The list to add to. + The collection of elements to add. + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Gets a dictionary of the names and values of an type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + List of primitive types which can be widened. + + + + + Widening masks for primitive types above. + Index of the value in this array defines a type we're widening, + while the bits in mask define types it can be widened to (including itself). + + For example, value at index 0 defines a bool type, and it only has bit 0 set, + i.e. bool values can be assigned only to bool. + + + + + Checks if value of primitive type can be + assigned to parameter of primitive type . + + Source primitive type. + Target primitive type. + true if source type can be widened to target type, false otherwise. + + + + Checks if a set of values with given can be used + to invoke a method with specified . + + Method parameters. + Argument types. + Try to pack extra arguments into the last parameter when it is marked up with . + true if method can be called with given arguments, false otherwise. + + + + Compares two sets of parameters to determine + which one suits better for given argument types. + + + + + Returns a best method overload for given argument . + + List of method candidates. + Argument types. + Best method overload, or null if none matched. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike this class lets you reuse its internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls result in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + An array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The is used to load the assembly. + + + + diff --git a/packages/Newtonsoft.Json.10.0.2/lib/netstandard1.3/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.10.0.2/lib/netstandard1.3/Newtonsoft.Json.xml new file mode 100644 index 0000000..6aae8c6 --- /dev/null +++ b/packages/Newtonsoft.Json.10.0.2/lib/netstandard1.3/Newtonsoft.Json.xml @@ -0,0 +1,10559 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Initializes a new instance of the class. + + The Oid value. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. + + + + + Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. + + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Initializes a new instance of the class. + + The to write to. + + + + Initializes a new instance of the class. + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a JSON array. + + + + + Writes the beginning of a JSON object. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a parameterized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Creates a custom object. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). + + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets a value indicating whether integer values are allowed when deserializing. + + true if integers are allowed when deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + true if the written enum text will be camel case; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. + + The name of the deserialized root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attribute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + true if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that it is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and set members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface for using pooled arrays. + + The array type content. + + + + Rent an array from the pool. This array must be returned when it is no longer needed. + + The minimum required length of the array. The returned array may be longer. + The rented array from the pool. This array must be returned when it is no longer needed. + + + + Return an array to the pool. + + The array that is being returned. + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, when returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, when returns false). + + + + Instructs the how to serialize the collection. + + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items. + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the collection's items converter. + + The collection's items converter. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Provides methods for converting between .NET types and JSON types. + + + + + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + The string escape handling. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output should be formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output should be formatted. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Serializes the to a JSON string. + + The node to serialize. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to serialize. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Instructs the to use the specified when serializing the member or class. + + + + + Gets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + + + + + Initializes a new instance of the class. + + Type of the . + + + + Initializes a new instance of the class. + + Type of the . + Parameter list to use when constructing the . Can be null. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Initializes a new instance of the class. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to always serialize the member with the specified name. + + + + + Gets or sets the used when serializing the property's collection items. + + The collection's items . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously skips the children of the current token. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Specifies the state of the reader. + + + + + A read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader is in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the source should be closed when this reader is closed. + + + true to close the source when this reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. + The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets or sets how time zones are handled when reading JSON. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets the .NET type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Reads the next JSON token from the source. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the current token and value. + + The new token. + The value. + A flag indicating whether the position index inside an array should be updated. + + + + Sets the state based on current token type. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the reader's state to . + If is set to true, the source is also closed. + + + + + The exception thrown when an error occurs while reading JSON text. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Instructs the to always serialize the member, and to require that the member has a value. + + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Gets or sets how null values are handled during serialization and deserialization. + + + + + Gets or sets how default values are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings + from . + + + A new instance. + The will not use default settings + from . + + + + + Creates a new instance using the specified . + The will not use default settings + from . + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings + from . + + + + + Creates a new instance. + The will use default settings + from . + + + A new instance. + The will use default settings + from . + + + + + Creates a new instance using the specified . + The will use default settings + from as well as the specified . + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings + from as well as the specified . + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the JSON structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Specifies the settings on a object. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) are handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how default values are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets a function that creates the used by the serializer when resolving references. + + A function that creates the used by the serializer when resolving references. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Initializes a new instance of the class with the specified . + + The containing the JSON data to read. + + + + Gets or sets the reader's character buffer pool. + + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Gets or sets the writer's character array pool. + + + + + Gets or sets how many s to write for each level in the hierarchy when is set to . + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to . + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Initializes a new instance of the class using the specified . + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying . + + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Specifies the type of JSON token. + + + + + This is returned by the if a read method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + + Represents a reader that provides validation. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the .NET type for the current JSON token. + + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a []. + + + A [] or null if the next JSON token is null. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the current token. + + The to read the token from. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the token and its value. + + The to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously ets the state of the . + + The being written. + The value being written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Gets or sets a value indicating whether the destination should be closed when this writer is closed. + + + true to close the destination when this writer is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. + + + true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Gets or sets a value indicating how JSON text output should be formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled when writing JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the destination and also flushes the destination. + + + + + Closes this writer. + If is set to true, the destination is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the end of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current JSON object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + + + + Writes the token. + + The to write. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Sets the state of the . + + The being written. + The value being written. + + + + The exception thrown when an error occurs while writing JSON text. + + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class + with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Specifies how JSON comments are handled when loading JSON. + + + + + Ignore comments. + + + + + Load comments as a with type . + + + + + Specifies how line information is handled when loading JSON. + + + + + Ignore line information. + + + + + Load line information. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, and the descendants of every token in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every token in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every token in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every token in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every token in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token. + + + + Gets the of with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads an from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + + + + + Returns an enumerator that iterates through the collection. + + + A of that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + + + + Removes all items from the . + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies the elements of the to an array, starting at a particular array index. + + The array. + Index of the array. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + + + + Represents a JSON constructor. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a token that can contain other tokens. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Raises the event. + + The instance containing the event data. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An of containing the descendant tokens of the . + + + + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + + An of containing this token, and all the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates a that can be used to add tokens to the . + + A that is ready to have content written to it. + + + + Replaces the child nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens. + + + + Represents a collection of objects. + + The type of token. + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the of with the specified key. + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a JSON object. + + + + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets the node type for this . + + The type. + + + + Gets an of of this object's properties. + + An of of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets a of of this object's property values. + + A of of this object's property values. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries to get the with the specified property name. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Represents a JSON property. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a raw JSON string. + + + + + Asynchronously creates an instance of with the content of the reader's current token. + + The reader. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns an instance of with the content of the reader's current token. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Specifies the settings used when loading JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how JSON comments are handled when loading JSON. + + The JSON comment handling. + + + + Gets or sets how JSON line info is handled when loading JSON. + + The JSON line info handling. + + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Gets or sets how null value properties are merged. + + How null value properties are merged. + + + + Represents an abstract JSON token. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Writes this token to a asynchronously. + + A into which this method will write. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of tokens that contain this token, and the ancestors of this token. + + A collection of tokens that contain this token, and the ancestors of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output should be formatted. + A collection of s which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to []. + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from [] to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Creates a for this token. + + A that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object. + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + Creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An of that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An of that contains the selected elements. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Adds an object to the annotation list of this . + + The annotation to add. + + + + Get the first annotation object of the specified type from this . + + The type of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets the first annotation object of the specified type from this . + + The of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets a collection of annotations of the specified type for this . + + The type of the annotations to retrieve. + An that contains the annotations for this . + + + + Gets a collection of annotations of the specified type for this . + + The of the annotations to retrieve. + An of that contains the annotations that match the specified type for this . + + + + Removes the annotations of the specified type from this . + + The type of annotations to remove. + + + + Removes the annotations of the specified type from this . + + The of annotations to remove. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Gets the at the reader's current position. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets the at the writer's current position. + + + + + Gets the token being written. + + The token being written. + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying . + + + + + Closes this writer. + If is set to true, the JSON is auto-completed. + + + Setting to true has no additional effect, since the underlying is a type that cannot be closed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes a value. + An error will be raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a undefined value. + + A undefined value. + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Writes this token to a . + + A into which this method will write. + A collection of s which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not of the same type as this instance. + + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies how null value properties are merged. + + + + + The content's null value properties will be ignored during merging. + + + + + The content's null value properties will be merged. + + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + The property is not required but it cannot be a null value. + + + + + + Contains the JSON schema extension methods. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + The validation event handler. + + + + + An in-memory representation of a JSON Schema. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read-only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisible by. + + A number that the value should be divisible by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). + + A flag indicating whether the value can not equal the number defined by the minimum attribute (). + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). + + A flag indicating whether the value can not equal the number defined by the maximum attribute (). + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallowed types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains JSON Schema. + + A that contains JSON Schema. + A populated from the string that contains JSON Schema. + + + + Load a from a string that contains JSON Schema using the specified . + + A that contains JSON Schema. + The resolver. + A populated from the string that contains JSON Schema. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + + Returns detailed information about the schema exception. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + + Generates a from a specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + + Resolves from an id. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + + The value types allowed by the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + + Specifies undefined schema Id handling options for the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + + Returns detailed information related to the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + + Represents the callback method that will handle JSON schema validation events and the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + A camel case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used by to resolve a for a given . + + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. + + The naming strategy used to resolve how property names and dictionary keys are serialized. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Resolved name of the property. + + + + Resolves the name of the extension data. By default no changes are made to extension data names. + + Name of the extension data. + Resolved name of the extension data. + + + + Resolves the key of the dictionary. By default is used to resolve dictionary keys. + + Key of the dictionary. + Resolved key of the dictionary. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + The default naming strategy. Property names and dictionary keys are unchanged. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides methods to get attributes. + + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Used by to resolve a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that was resolved from the reference. + + + + Gets the reference for the specified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Allows users to control class loading and mandate what class to load. + + + + + When implemented, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When implemented, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the collection values. + + true if the creator has a parameter with the collection values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non-public. + + true if the default object creator is non-public; otherwise, false. + + + + Contract details for a used by the . + + + + + Gets or sets the dictionary key resolver. + + The dictionary key resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the dictionary values. + + true if the creator has a parameter with the dictionary values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object constructor. + + The object constructor. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Gets or sets the extension data value type. + + + + + Gets or sets the extension data name resolver. + + The extension data name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the for this property. + + The for this property. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes precedence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets a predicate used to determine whether the property should be deserialized. + + A predicate used to determine whether the property should be deserialized. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Lookup and create an instance of the type described by the argument. + + The type to create. + Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + A base class for resolving how property names and dictionary keys are serialized. + + + + + A flag indicating whether dictionary keys should be processed. + Defaults to false. + + + + + A flag indicating whether extension data names should be processed. + Defaults to false. + + + + + A flag indicating whether explicitly specified property names, + e.g. a property name customized with a , should be processed. + Defaults to false. + + + + + Gets the serialized name for a given property name. + + The initial property name. + A flag indicating whether the property has had a name explicitly specified. + The serialized property name. + + + + Gets the serialized name for a given extension data name. + + The initial extension data name. + The serialized extension data name. + + + + Gets the serialized key for a given dictionary key. + + The initial dictionary key. + The serialized dictionary key. + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Provides methods to get attributes from a , , or . + + + + + Initializes a new instance of the class. + + The instance to get attributes for. This parameter should be a , , or . + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + A snake case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Specifies what messages to output for the class. + + + + + Output no tracing and debugging messages. + + + + + Output error-handling messages. + + + + + Output warnings and error-handling messages. + + + + + Output informational messages, warnings, and error-handling messages. + + + + + Output all debugging and tracing messages. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. + + + + + Specifies type name handling options for the . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON + you must specify a root type object with + or . + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic . + + The list to add to. + The collection of elements to add. + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Gets a dictionary of the names and values of an type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + List of primitive types which can be widened. + + + + + Widening masks for primitive types above. + Index of the value in this array defines a type we're widening, + while the bits in mask define types it can be widened to (including itself). + + For example, value at index 0 defines a bool type, and it only has bit 0 set, + i.e. bool values can be assigned only to bool. + + + + + Checks if value of primitive type can be + assigned to parameter of primitive type . + + Source primitive type. + Target primitive type. + true if source type can be widened to target type, false otherwise. + + + + Checks if a set of values with given can be used + to invoke a method with specified . + + Method parameters. + Argument types. + Try to pack extra arguments into the last parameter when it is marked up with . + true if method can be called with given arguments, false otherwise. + + + + Compares two sets of parameters to determine + which one suits better for given argument types. + + + + + Returns a best method overload for given argument . + + List of method candidates. + Argument types. + Best method overload, or null if none matched. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike this class lets you reuse its internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls result in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + An array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The is used to load the assembly. + + + + diff --git a/packages/Newtonsoft.Json.10.0.2/lib/portable-net40+sl5+win8+wpa81+wp8/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.10.0.2/lib/portable-net40+sl5+win8+wpa81+wp8/Newtonsoft.Json.xml new file mode 100644 index 0000000..9550e31 --- /dev/null +++ b/packages/Newtonsoft.Json.10.0.2/lib/portable-net40+sl5+win8+wpa81+wp8/Newtonsoft.Json.xml @@ -0,0 +1,8555 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Initializes a new instance of the class. + + The Oid value. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. + + + + + Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. + + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Initializes a new instance of the class. + + The to write to. + + + + Initializes a new instance of the class. + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a JSON array. + + + + + Writes the beginning of a JSON object. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a parameterized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Creates a custom object. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). + + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets a value indicating whether integer values are allowed when deserializing. + + true if integers are allowed when deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + true if the written enum text will be camel case; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that it is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and set members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface for using pooled arrays. + + The array type content. + + + + Rent an array from the pool. This array must be returned when it is no longer needed. + + The minimum required length of the array. The returned array may be longer. + The rented array from the pool. This array must be returned when it is no longer needed. + + + + Return an array to the pool. + + The array that is being returned. + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, when returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, when returns false). + + + + Instructs the how to serialize the collection. + + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items. + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the collection's items converter. + + The collection's items converter. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Provides methods for converting between .NET types and JSON types. + + + + + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + The string escape handling. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output should be formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output should be formatted. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Instructs the to use the specified when serializing the member or class. + + + + + Gets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + + + + + Initializes a new instance of the class. + + Type of the . + + + + Initializes a new instance of the class. + + Type of the . + Parameter list to use when constructing the . Can be null. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Initializes a new instance of the class. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to always serialize the member with the specified name. + + + + + Gets or sets the used when serializing the property's collection items. + + The collection's items . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Specifies the state of the reader. + + + + + A read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader is in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the source should be closed when this reader is closed. + + + true to close the source when this reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. + The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets or sets how time zones are handled when reading JSON. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets the .NET type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Reads the next JSON token from the source. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the current token and value. + + The new token. + The value. + A flag indicating whether the position index inside an array should be updated. + + + + Sets the state based on current token type. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the reader's state to . + If is set to true, the source is also closed. + + + + + The exception thrown when an error occurs while reading JSON text. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Instructs the to always serialize the member, and to require that the member has a value. + + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Gets or sets how null values are handled during serialization and deserialization. + + + + + Gets or sets how default values are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings + from . + + + A new instance. + The will not use default settings + from . + + + + + Creates a new instance using the specified . + The will not use default settings + from . + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings + from . + + + + + Creates a new instance. + The will use default settings + from . + + + A new instance. + The will use default settings + from . + + + + + Creates a new instance using the specified . + The will use default settings + from as well as the specified . + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings + from as well as the specified . + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the JSON structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Specifies the settings on a object. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) are handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how default values are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets a function that creates the used by the serializer when resolving references. + + A function that creates the used by the serializer when resolving references. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The containing the JSON data to read. + + + + Gets or sets the reader's character buffer pool. + + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets or sets the writer's character array pool. + + + + + Gets or sets how many s to write for each level in the hierarchy when is set to . + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to . + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Initializes a new instance of the class using the specified . + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying . + + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Specifies the type of JSON token. + + + + + This is returned by the if a read method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + + Represents a reader that provides validation. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the .NET type for the current JSON token. + + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a []. + + + A [] or null if the next JSON token is null. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets or sets a value indicating whether the destination should be closed when this writer is closed. + + + true to close the destination when this writer is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. + + + true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Gets or sets a value indicating how JSON text output should be formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled when writing JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the destination and also flushes the destination. + + + + + Closes this writer. + If is set to true, the destination is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the end of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current JSON object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + + + + Writes the token. + + The to write. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Sets the state of the . + + The being written. + The value being written. + + + + The exception thrown when an error occurs while writing JSON text. + + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class + with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Specifies how JSON comments are handled when loading JSON. + + + + + Ignore comments. + + + + + Load comments as a with type . + + + + + Specifies how line information is handled when loading JSON. + + + + + Ignore line information. + + + + + Load line information. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, and the descendants of every token in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every token in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every token in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every token in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every token in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token. + + + + Gets the of with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads an from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + + + + + Returns an enumerator that iterates through the collection. + + + A of that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + + + + Removes all items from the . + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies the elements of the to an array, starting at a particular array index. + + The array. + Index of the array. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + + + + Represents a JSON constructor. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a token that can contain other tokens. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An of containing the descendant tokens of the . + + + + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + + An of containing this token, and all the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates a that can be used to add tokens to the . + + A that is ready to have content written to it. + + + + Replaces the child nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens. + + + + Represents a collection of objects. + + The type of token. + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the of with the specified key. + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a JSON object. + + + + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets the node type for this . + + The type. + + + + Gets an of of this object's properties. + + An of of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets a of of this object's property values. + + A of of this object's property values. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries to get the with the specified property name. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Represents a JSON property. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a raw JSON string. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Specifies the settings used when loading JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how JSON comments are handled when loading JSON. + + The JSON comment handling. + + + + Gets or sets how JSON line info is handled when loading JSON. + + The JSON line info handling. + + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Gets or sets how null value properties are merged. + + How null value properties are merged. + + + + Represents an abstract JSON token. + + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of tokens that contain this token, and the ancestors of this token. + + A collection of tokens that contain this token, and the ancestors of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output should be formatted. + A collection of s which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to []. + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from [] to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Creates a for this token. + + A that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object. + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + Creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An of that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An of that contains the selected elements. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Adds an object to the annotation list of this . + + The annotation to add. + + + + Get the first annotation object of the specified type from this . + + The type of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets the first annotation object of the specified type from this . + + The of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets a collection of annotations of the specified type for this . + + The type of the annotations to retrieve. + An that contains the annotations for this . + + + + Gets a collection of annotations of the specified type for this . + + The of the annotations to retrieve. + An of that contains the annotations that match the specified type for this . + + + + Removes the annotations of the specified type from this . + + The type of annotations to remove. + + + + Removes the annotations of the specified type from this . + + The of annotations to remove. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Gets the at the reader's current position. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets the at the writer's current position. + + + + + Gets the token being written. + + The token being written. + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying . + + + + + Closes this writer. + If is set to true, the JSON is auto-completed. + + + Setting to true has no additional effect, since the underlying is a type that cannot be closed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes a value. + An error will be raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a undefined value. + + A undefined value. + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Writes this token to a . + + A into which this method will write. + A collection of s which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not of the same type as this instance. + + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies how null value properties are merged. + + + + + The content's null value properties will be ignored during merging. + + + + + The content's null value properties will be merged. + + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + The property is not required but it cannot be a null value. + + + + + + Contains the JSON schema extension methods. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + The validation event handler. + + + + + An in-memory representation of a JSON Schema. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read-only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisible by. + + A number that the value should be divisible by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). + + A flag indicating whether the value can not equal the number defined by the minimum attribute (). + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). + + A flag indicating whether the value can not equal the number defined by the maximum attribute (). + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallowed types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains JSON Schema. + + A that contains JSON Schema. + A populated from the string that contains JSON Schema. + + + + Load a from a string that contains JSON Schema using the specified . + + A that contains JSON Schema. + The resolver. + A populated from the string that contains JSON Schema. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + + Returns detailed information about the schema exception. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + + Generates a from a specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + + Resolves from an id. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + + The value types allowed by the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + + Specifies undefined schema Id handling options for the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + + Returns detailed information related to the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + + Represents the callback method that will handle JSON schema validation events and the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + A camel case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used by to resolve a for a given . + + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. + + The naming strategy used to resolve how property names and dictionary keys are serialized. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Resolved name of the property. + + + + Resolves the name of the extension data. By default no changes are made to extension data names. + + Name of the extension data. + Resolved name of the extension data. + + + + Resolves the key of the dictionary. By default is used to resolve dictionary keys. + + Key of the dictionary. + Resolved key of the dictionary. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + The default naming strategy. Property names and dictionary keys are unchanged. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides methods to get attributes. + + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Used by to resolve a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that was resolved from the reference. + + + + Gets the reference for the specified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Allows users to control class loading and mandate what class to load. + + + + + When implemented, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When implemented, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the collection values. + + true if the creator has a parameter with the collection values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non-public. + + true if the default object creator is non-public; otherwise, false. + + + + Contract details for a used by the . + + + + + Gets or sets the dictionary key resolver. + + The dictionary key resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the dictionary values. + + true if the creator has a parameter with the dictionary values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Gets or sets the extension data value type. + + + + + Gets or sets the extension data name resolver. + + The extension data name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the for this property. + + The for this property. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes precedence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets a predicate used to determine whether the property should be deserialized. + + A predicate used to determine whether the property should be deserialized. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Lookup and create an instance of the type described by the argument. + + The type to create. + Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + A base class for resolving how property names and dictionary keys are serialized. + + + + + A flag indicating whether dictionary keys should be processed. + Defaults to false. + + + + + A flag indicating whether extension data names should be processed. + Defaults to false. + + + + + A flag indicating whether explicitly specified property names, + e.g. a property name customized with a , should be processed. + Defaults to false. + + + + + Gets the serialized name for a given property name. + + The initial property name. + A flag indicating whether the property has had a name explicitly specified. + The serialized property name. + + + + Gets the serialized name for a given extension data name. + + The initial extension data name. + The serialized extension data name. + + + + Gets the serialized key for a given dictionary key. + + The initial dictionary key. + The serialized dictionary key. + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Provides methods to get attributes from a , , or . + + + + + Initializes a new instance of the class. + + The instance to get attributes for. This parameter should be a , , or . + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + A snake case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Specifies what messages to output for the class. + + + + + Output no tracing and debugging messages. + + + + + Output error-handling messages. + + + + + Output warnings and error-handling messages. + + + + + Output informational messages, warnings, and error-handling messages. + + + + + Output all debugging and tracing messages. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. + + + + + Specifies type name handling options for the . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON + you must specify a root type object with + or . + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic . + + The list to add to. + The collection of elements to add. + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike this class lets you reuse its internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls result in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + An array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The is used to load the assembly. + + + + diff --git a/packages/Newtonsoft.Json.10.0.2/lib/portable-net45+win8+wpa81+wp8/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.10.0.2/lib/portable-net45+win8+wpa81+wp8/Newtonsoft.Json.xml new file mode 100644 index 0000000..8a0c043 --- /dev/null +++ b/packages/Newtonsoft.Json.10.0.2/lib/portable-net45+win8+wpa81+wp8/Newtonsoft.Json.xml @@ -0,0 +1,10467 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Initializes a new instance of the class. + + The Oid value. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. + + + + + Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. + + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Initializes a new instance of the class. + + The to write to. + + + + Initializes a new instance of the class. + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a JSON array. + + + + + Writes the beginning of a JSON object. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a parameterized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Creates a custom object. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). + + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets a value indicating whether integer values are allowed when deserializing. + + true if integers are allowed when deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + true if the written enum text will be camel case; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. + + The name of the deserialized root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attribute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + true if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that it is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and set members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface for using pooled arrays. + + The array type content. + + + + Rent an array from the pool. This array must be returned when it is no longer needed. + + The minimum required length of the array. The returned array may be longer. + The rented array from the pool. This array must be returned when it is no longer needed. + + + + Return an array to the pool. + + The array that is being returned. + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, when returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, when returns false). + + + + Instructs the how to serialize the collection. + + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items. + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the collection's items converter. + + The collection's items converter. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Provides methods for converting between .NET types and JSON types. + + + + + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + The string escape handling. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output should be formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output should be formatted. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Instructs the to use the specified when serializing the member or class. + + + + + Gets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + + + + + Initializes a new instance of the class. + + Type of the . + + + + Initializes a new instance of the class. + + Type of the . + Parameter list to use when constructing the . Can be null. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Initializes a new instance of the class. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to always serialize the member with the specified name. + + + + + Gets or sets the used when serializing the property's collection items. + + The collection's items . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously skips the children of the current token. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Specifies the state of the reader. + + + + + A read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader is in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the source should be closed when this reader is closed. + + + true to close the source when this reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. + The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets or sets how time zones are handled when reading JSON. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets the .NET type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Reads the next JSON token from the source. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the current token and value. + + The new token. + The value. + A flag indicating whether the position index inside an array should be updated. + + + + Sets the state based on current token type. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the reader's state to . + If is set to true, the source is also closed. + + + + + The exception thrown when an error occurs while reading JSON text. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Instructs the to always serialize the member, and to require that the member has a value. + + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Gets or sets how null values are handled during serialization and deserialization. + + + + + Gets or sets how default values are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings + from . + + + A new instance. + The will not use default settings + from . + + + + + Creates a new instance using the specified . + The will not use default settings + from . + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings + from . + + + + + Creates a new instance. + The will use default settings + from . + + + A new instance. + The will use default settings + from . + + + + + Creates a new instance using the specified . + The will use default settings + from as well as the specified . + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings + from as well as the specified . + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the JSON structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Specifies the settings on a object. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) are handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how default values are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets a function that creates the used by the serializer when resolving references. + + A function that creates the used by the serializer when resolving references. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled during serialization and deserialization. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Initializes a new instance of the class with the specified . + + The containing the JSON data to read. + + + + Gets or sets the reader's character buffer pool. + + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Gets or sets the writer's character array pool. + + + + + Gets or sets how many s to write for each level in the hierarchy when is set to . + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to . + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Initializes a new instance of the class using the specified . + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying . + + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the current token. + + The to read the token from. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the token and its value. + + The to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Asynchronously ets the state of the . + + The being written. + The value being written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asychronousity. + + + + Gets or sets a value indicating whether the destination should be closed when this writer is closed. + + + true to close the destination when this writer is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. + + + true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Gets or sets a value indicating how JSON text output should be formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled when writing JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the destination and also flushes the destination. + + + + + Closes this writer. + If is set to true, the destination is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the end of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current JSON object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + + + + Writes the token. + + The to write. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Sets the state of the . + + The being written. + The value being written. + + + + Specifies the type of JSON token. + + + + + This is returned by the if a read method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + + Represents a reader that provides validation. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the .NET type for the current JSON token. + + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a []. + + + A [] or null if the next JSON token is null. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + The exception thrown when an error occurs while writing JSON text. + + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class + with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Specifies how JSON comments are handled when loading JSON. + + + + + Ignore comments. + + + + + Load comments as a with type . + + + + + Specifies how line information is handled when loading JSON. + + + + + Ignore line information. + + + + + Load line information. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, and the descendants of every token in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every token in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every token in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every token in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every token in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token. + + + + Gets the of with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads an from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + + + + + Returns an enumerator that iterates through the collection. + + + A of that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + + + + Removes all items from the . + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies the elements of the to an array, starting at a particular array index. + + The array. + Index of the array. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Represents a JSON constructor. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Represents a token that can contain other tokens. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Raises the event. + + The instance containing the event data. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An of containing the descendant tokens of the . + + + + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + + An of containing this token, and all the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates a that can be used to add tokens to the . + + A that is ready to have content written to it. + + + + Replaces the child nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens. + + + + Represents a collection of objects. + + The type of token. + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the of with the specified key. + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a JSON object. + + + + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets the node type for this . + + The type. + + + + Gets an of of this object's properties. + + An of of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets a of of this object's property values. + + A of of this object's property values. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries to get the with the specified property name. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Represents a JSON property. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Represents a raw JSON string. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Asynchronously creates an instance of with the content of the reader's current token. + + The reader. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns an instance of with the content of the reader's current token. + + + + Specifies the settings used when loading JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how JSON comments are handled when loading JSON. + + The JSON comment handling. + + + + Gets or sets how JSON line info is handled when loading JSON. + + The JSON line info handling. + + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Gets or sets how null value properties are merged. + + How null value properties are merged. + + + + Represents an abstract JSON token. + + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of tokens that contain this token, and the ancestors of this token. + + A collection of tokens that contain this token, and the ancestors of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output should be formatted. + A collection of s which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to []. + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from [] to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Creates a for this token. + + A that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object. + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + Creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An of that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An of that contains the selected elements. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Adds an object to the annotation list of this . + + The annotation to add. + + + + Get the first annotation object of the specified type from this . + + The type of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets the first annotation object of the specified type from this . + + The of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets a collection of annotations of the specified type for this . + + The type of the annotations to retrieve. + An that contains the annotations for this . + + + + Gets a collection of annotations of the specified type for this . + + The of the annotations to retrieve. + An of that contains the annotations that match the specified type for this . + + + + Removes the annotations of the specified type from this . + + The type of annotations to remove. + + + + Removes the annotations of the specified type from this . + + The of annotations to remove. + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Writes this token to a asynchronously. + + A into which this method will write. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Gets the at the reader's current position. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets the at the writer's current position. + + + + + Gets the token being written. + + The token being written. + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying . + + + + + Closes this writer. + If is set to true, the JSON is auto-completed. + + + Setting to true has no additional effect, since the underlying is a type that cannot be closed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes a value. + An error will be raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a undefined value. + + A undefined value. + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Writes this token to a . + + A into which this method will write. + A collection of s which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not of the same type as this instance. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies how null value properties are merged. + + + + + The content's null value properties will be ignored during merging. + + + + + The content's null value properties will be merged. + + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + The property is not required but it cannot be a null value. + + + + + + Contains the JSON schema extension methods. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + The validation event handler. + + + + + An in-memory representation of a JSON Schema. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read-only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisible by. + + A number that the value should be divisible by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). + + A flag indicating whether the value can not equal the number defined by the minimum attribute (). + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). + + A flag indicating whether the value can not equal the number defined by the maximum attribute (). + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallowed types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains JSON Schema. + + A that contains JSON Schema. + A populated from the string that contains JSON Schema. + + + + Load a from a string that contains JSON Schema using the specified . + + A that contains JSON Schema. + The resolver. + A populated from the string that contains JSON Schema. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + + Returns detailed information about the schema exception. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + + Generates a from a specified . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + + Resolves from an id. + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + + The value types allowed by the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + + Specifies undefined schema Id handling options for the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + + Returns detailed information related to the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + + Represents the callback method that will handle JSON schema validation events and the . + + + JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. + + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + A camel case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + The default naming strategy. Property names and dictionary keys are unchanged. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Used by to resolve a for a given . + + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. + + The naming strategy used to resolve how property names and dictionary keys are serialized. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Resolved name of the property. + + + + Resolves the name of the extension data. By default no changes are made to extension data names. + + Name of the extension data. + Resolved name of the extension data. + + + + Resolves the key of the dictionary. By default is used to resolve dictionary keys. + + Key of the dictionary. + Resolved key of the dictionary. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Provides methods to get attributes. + + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Used by to resolve a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that was resolved from the reference. + + + + Gets the reference for the specified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Allows users to control class loading and mandate what class to load. + + + + + When implemented, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When implemented, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the collection values. + + true if the creator has a parameter with the collection values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non-public. + + true if the default object creator is non-public; otherwise, false. + + + + Contract details for a used by the . + + + + + Gets or sets the dictionary key resolver. + + The dictionary key resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the dictionary values. + + true if the creator has a parameter with the dictionary values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Gets or sets the extension data value type. + + + + + Gets or sets the extension data name resolver. + + The extension data name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the for this property. + + The for this property. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes precedence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets a predicate used to determine whether the property should be deserialized. + + A predicate used to determine whether the property should be deserialized. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Lookup and create an instance of the type described by the argument. + + The type to create. + Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + A base class for resolving how property names and dictionary keys are serialized. + + + + + A flag indicating whether dictionary keys should be processed. + Defaults to false. + + + + + A flag indicating whether extension data names should be processed. + Defaults to false. + + + + + A flag indicating whether explicitly specified property names, + e.g. a property name customized with a , should be processed. + Defaults to false. + + + + + Gets the serialized name for a given property name. + + The initial property name. + A flag indicating whether the property has had a name explicitly specified. + The serialized property name. + + + + Gets the serialized name for a given extension data name. + + The initial extension data name. + The serialized extension data name. + + + + Gets the serialized key for a given dictionary key. + + The initial dictionary key. + The serialized dictionary key. + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Provides methods to get attributes from a , , or . + + + + + Initializes a new instance of the class. + + The instance to get attributes for. This parameter should be a , , or . + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + A snake case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Specifies what messages to output for the class. + + + + + Output no tracing and debugging messages. + + + + + Output error-handling messages. + + + + + Output warnings and error-handling messages. + + + + + Output informational messages, warnings, and error-handling messages. + + + + + Output all debugging and tracing messages. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. + + + + + Specifies type name handling options for the . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON + you must specify a root type object with + or . + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic . + + The list to add to. + The collection of elements to add. + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Gets a dictionary of the names and values of an type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + List of primitive types which can be widened. + + + + + Widening masks for primitive types above. + Index of the value in this array defines a type we're widening, + while the bits in mask define types it can be widened to (including itself). + + For example, value at index 0 defines a bool type, and it only has bit 0 set, + i.e. bool values can be assigned only to bool. + + + + + Checks if value of primitive type can be + assigned to parameter of primitive type . + + Source primitive type. + Target primitive type. + true if source type can be widened to target type, false otherwise. + + + + Checks if a set of values with given can be used + to invoke a method with specified . + + Method parameters. + Argument types. + Try to pack extra arguments into the last parameter when it is marked up with . + true if method can be called with given arguments, false otherwise. + + + + Compares two sets of parameters to determine + which one suits better for given argument types. + + + + + Returns a best method overload for given argument . + + List of method candidates. + Argument types. + Best method overload, or null if none matched. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike this class lets you reuse its internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls result in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + An array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The is used to load the assembly. + + + + diff --git a/packages/Newtonsoft.Json.10.0.2/tools/install.ps1 b/packages/Newtonsoft.Json.10.0.2/tools/install.ps1 new file mode 100644 index 0000000..0cebb5e --- /dev/null +++ b/packages/Newtonsoft.Json.10.0.2/tools/install.ps1 @@ -0,0 +1,116 @@ +param($installPath, $toolsPath, $package, $project) + +# open json.net splash page on package install +# don't open if json.net is installed as a dependency + +try +{ + $url = "http://www.newtonsoft.com/json/install?version=" + $package.Version + $dte2 = Get-Interface $dte ([EnvDTE80.DTE2]) + + if ($dte2.ActiveWindow.Caption -eq "Package Manager Console") + { + # user is installing from VS NuGet console + # get reference to the window, the console host and the input history + # show webpage if "install-package newtonsoft.json" was last input + + $consoleWindow = $(Get-VSComponentModel).GetService([NuGetConsole.IPowerConsoleWindow]) + + $props = $consoleWindow.GetType().GetProperties([System.Reflection.BindingFlags]::Instance -bor ` + [System.Reflection.BindingFlags]::NonPublic) + + $prop = $props | ? { $_.Name -eq "ActiveHostInfo" } | select -first 1 + if ($prop -eq $null) { return } + + $hostInfo = $prop.GetValue($consoleWindow) + if ($hostInfo -eq $null) { return } + + $history = $hostInfo.WpfConsole.InputHistory.History + + $lastCommand = $history | select -last 1 + + if ($lastCommand) + { + $lastCommand = $lastCommand.Trim().ToLower() + if ($lastCommand.StartsWith("install-package") -and $lastCommand.Contains("newtonsoft.json")) + { + $dte2.ItemOperations.Navigate($url) | Out-Null + } + } + } + else + { + # user is installing from VS NuGet dialog + # get reference to the window, then smart output console provider + # show webpage if messages in buffered console contains "installing...newtonsoft.json" in last operation + + $instanceField = [NuGet.Dialog.PackageManagerWindow].GetField("CurrentInstance", [System.Reflection.BindingFlags]::Static -bor ` + [System.Reflection.BindingFlags]::NonPublic) + + $consoleField = [NuGet.Dialog.PackageManagerWindow].GetField("_smartOutputConsoleProvider", [System.Reflection.BindingFlags]::Instance -bor ` + [System.Reflection.BindingFlags]::NonPublic) + + if ($instanceField -eq $null -or $consoleField -eq $null) { return } + + $instance = $instanceField.GetValue($null) + + if ($instance -eq $null) { return } + + $consoleProvider = $consoleField.GetValue($instance) + if ($consoleProvider -eq $null) { return } + + $console = $consoleProvider.CreateOutputConsole($false) + + $messagesField = $console.GetType().GetField("_messages", [System.Reflection.BindingFlags]::Instance -bor ` + [System.Reflection.BindingFlags]::NonPublic) + if ($messagesField -eq $null) { return } + + $messages = $messagesField.GetValue($console) + if ($messages -eq $null) { return } + + $operations = $messages -split "==============================" + + $lastOperation = $operations | select -last 1 + + if ($lastOperation) + { + $lastOperation = $lastOperation.ToLower() + + $lines = $lastOperation -split "`r`n" + + $installMatch = $lines | ? { $_.StartsWith("------- installing...newtonsoft.json ") } | select -first 1 + + if ($installMatch) + { + $dte2.ItemOperations.Navigate($url) | Out-Null + } + } + } +} +catch +{ + try + { + $pmPane = $dte2.ToolWindows.OutputWindow.OutputWindowPanes.Item("Package Manager") + + $selection = $pmPane.TextDocument.Selection + $selection.StartOfDocument($false) + $selection.EndOfDocument($true) + + if ($selection.Text.StartsWith("Attempting to gather dependencies information for package 'Newtonsoft.Json." + $package.Version + "'")) + { + # don't show on upgrade + if (!$selection.Text.Contains("Removed package")) + { + $dte2.ItemOperations.Navigate($url) | Out-Null + } + } + } + catch + { + # stop potential errors from bubbling up + # worst case the splash page won't open + } +} + +# still yolo \ No newline at end of file diff --git a/packages/RestSharp.105.2.3/RestSharp.105.2.3.nupkg b/packages/RestSharp.105.2.3/RestSharp.105.2.3.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..af89bdafb5db442f9798696e5ac0c734d465687c GIT binary patch literal 1152099 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 @a21AY`tt@Y}8{3Uh#}3cmvNd+w5m>^8 z`{aI?Jh*Se^AI2n$>Y?GX=z0PrwWwtWvJ9%j7pthXS*8aQJ1b|g9+I<78`LFlCfSdm zWGgRh*(Fz1YU;oXRyn%~-K+FL4F?gj4r*Jq7xtr2Xd)SGJX zx&Mg9QQqTGMyeSIMT7j5#~%%Lha!W*(P(O;!og8_U?)pi6!t~io|t7OrS@=@382oA zQb92*%hP-Qi|pi7%@(rWktzq-Dvp=t&R6HQ9cKMyqWNB(N%?Ke_V!FIGt;$bAZ<5n zK;Cna>z?`2+3RdfOET>9E~>qw88h|vF6eF7yEi#GWo6S6B$(YNw7@k?{X7XTbVb@g zGR3;nPh-f$3uOCVCX3lTTLy-_wS>IW-tnnfZ9bm`9#hb~>G%&kG`jw1rd)5^uL9-s z_@UHmE$5$WJ{C&wWt9|5UD4;)FiPIqd4=5`j@srfj9fk=QCDItn_n8m6jILh*a~$l zttdu&I1&k4H)*V^)`aTciYKto?&R0?JT*HkXw{%18^U@fg+t_kp<`cFDPK;$CjIMK6Tpy`#s&wZEd*6ET_R#LFApW)FE%1c_ehcB|JoP zFHX8>fj}!NxE%-Y{2w1l87t05VA9rK*eI;cjCyG%Yi}lNUnXmz=i$3Dqb_j2i7#2C zM-416>YmJ~!39Rm(jp7h-dS2s&J*#U#C-)1uYz73imT_g z2g8n8`k3`69eWc2zB}HS_TEPtD2;#XX^)(#qYDeTdtt%$i1CFr>OQLptdW3g3>1MB z#*ub^bN3NH{$o6$p!){DskX)%G3ApoQ0K(1g;JT}Zg zmS9E}-U6l7-ufn!U5OhRjF^0~{%44?PCq^AQ_cc)Z_j~DMK15E+9WOh4(x`I9k{fw z?_AvA6R-m#yaJ@YjEpz@H}bOcalZUe>W@T(MgvO#&F|q6OJ+o){Xj$6^6?@2HJ`(1 zXiR^XE`@{tFno5uUE~*zXZPF9hIZ<*t~_@?$Ez&r<*>bP+Y=6)mTUEZ+DW4jmR(^7 ziY1JQWx4QzJQ$CKX<0N7r=&aMG5n>SzP_64!=pkR?h(TxB+5mc@QfHEG)02k0TClt zgpAX28pbj31`u+T!p6v-Lz;v^Q6og3pF)+BD-Pc{(Htf~X~dB>r*n?-3R9Yyse~!^ z5OEV(OGD{b&sWX_#T`NV)hIEC*6QX9eU4UUCVdU63zsrsmA@>GFr&ncqE_AHXV7nq zT%xc=w2Gtj>!F{>Jq$|ZAEB>bv~H36jS7P64lLNayvyYe+xP(WRGYT zM~H5xcwK^15xzpPh|>3?twQ_=M2I!bC55IjvOFqFtWF|LIpbH|snk`gp*##^RTnYByPle51g(!Ww>n|4@D8)KT zaRc~+O32*)_3+Q0v(>nskFzdZ`<=l3wT~_VZ)3 zb4j!%ZVe|2Pf|@}Ju8J+{u-jU2^X(ozP7xMQb29j&)?c3#1+fA9nM3y*l|{+c-$uz zUt8}CYlySZzX7U6Sn9fE&Ui?@a2u7=PPc$v%Ez;fBx3+6gh;D$9}C|Ok~*;};OZYs zy2UkJs$H5<8|hmvMxfQLSuP6c4P*W?=*MM@phYbyFBb>hxh5x?(Os#DaSS?#C%G|H zPEK|qBr3(R90?3zc*tT%6)gu$0$p1!wx|KIC9NP~Oj}W?_XtmMo*Sq^XlQtLQj=Lj z9fQSl1^q53uHl?iO01^nrgCwAFSEEymSaZ6m##(A@ zWp653qg0QE5z?AB-Q_J;>RXOA%Do_!qB!HU1)7yck(!g6oh9(%`n7JJP);o(L$Y?< zDzw}fwfJ>ZiZEtq9wDN@fF)&6%3@0!@tw7L6?H4y9`1Sw&juPHC#l?`fGwjz(!2FS zTxGQ+r#M8uDUnQ#i~%M8R&UqB){22TPc^C)htxl6t-wN3bX$>fyqU^Aj8QCU*~noL zMxVrO%ZBps@Q-?9eJ$l)Pc_*^HpU*ZG}z|YPOVu(;aW)>my3L|sR~7&SS+-HL9~(y zn~7TnJ(_O~B;nalzia7tihgl~QM$v^qS}8HR;9RnT*!Z{+uJek1xYr0NTQBV?~TyE z{jgH6mrNWaEUyihcwp>$s*LFLk(@G_RQ8A>(VFKzY3du1@ z(#lZ+4s%Y8b*|6#X(g(G5@gvar`ermge^OijLFgCr*vh`1L)0=70y@ADzhL}Ps{e$ zZ>iJeQup&*XpMNW&W}`vF*|T+QnMt_MRL6(+c>P`Pk8$1S51nW?0rumm3ODGtobS- zx=&L7ULjJvlfdthE9bphdl8r>Se1i8sS28l@G5$lr|lQBn~} z6>f$#5tFWEo5e;-cQ@rwOKH0~JWmnF#~k6g44Quc76j{d)(ioj1@Z%Gw2FdJdtEFF zQ@a<`I=SQWTR1?Rvtj^qoya#WyFYhKTB-Tm9;4hk`K%p+T*CrxXIW;EE48M`HA$u@ zRBjw*p~z=_$GSu01|_F(6gtVIbfd^=jMA;QsRq~t0j1AG!3cB|&!r;YGA%{n2rPu4 z%(EZ>%@jsCWh!-cIZ28O;;C{L4kCpBh1lhC)jM1b@C&!`7EGkh6?_*llq_ z_DLwCnP+6bQ0-UXPuVX-x5CEZ)@T-v($kvDnM9}FZLSz?ju>rL zjNDe}2~l{=S<=D|S2`W8bUGaM>u}Yt!>*sTV`UTfmyo0MA-nWp zSB$VLM%WP}Z1+eAv#uzNx_Tt$N+;$@C+4VM%vHabT@J3nS&S1I-`OW)uC&KoX^%O| zIA*6d?h0dB2|R+wtuXn6u$=}W;Sm~zZ1afxgV44_6&!{J90A>e76*SxD}^;t2Wag4 zS6eYiR%J|SiGwCdjw$YyLaymqBOFEA1K76_zII+6_>KXOQ_8%TnbIVbhp&^lxm~D- zDCkDtqhz@~SpA75z3x)wc4D7bHMNP@ zY(a-Hcgy*Y%a48Ie7SKcwNqTJip3HGyJ&+}+43Vou0dJaEh=tPL7N)3sDgk<`A3A` zj_tQ&`|a3%JGP<<V1t8Z(t;@LiinZ{d8)u%IqswA?=Vt| z!)D<*cnqyR0)M&JFV`A|N?*1{7-L+<8&&JVL78T*T%*b_rRj@d4i7-`_&bJgSlSnb zvd6i-cOm~US~j58Ks+vFYmcI|Qg@!g_7X{gkNZRT&}S(7fclQYvQeCT`3>1~yp##c zny~bsnuGF3Es3DemYooRW`|xch^J_3n?cAo>R1?ex*#2>L%y|c7rE?vJx0%{k}4BY z5kUz}CDF29O^o?4Mk$xevhlcOWqYtT;MymkOKi)4>Xw?5y0NBJW4O?Cy7Etml#QnJ zc7bz72x0v^3Ti}B=&!KNzn&x`$~!Z;OkIZ>@}4v6i3lV~o~U5%AgM~xyarU3RYBZA zo74^#&E-giNznr-x-f__D_6^WF6DH|o*c3J%5+$Bai(eFY2_5eB zPG4&uLGFabmGxt-glS#5#?m4qYX83$`~N#=4Q;IoQl|o>Mls- zBs>-LqgADc*Rxxx?KhE4TBp8#^}SSm_p0wcA=;d)jv@5xb(DSt_BD@>GuXN0+MT7| zJx}BC`YdagS|O6R`o%%fEcjUPkT^_cSDSd1xKbRY1?Dlqhk;j-8O8^Iz2a(djW{k& z(9-SyRrb8q)hAvnv|PEfY&GwGTCnc4wk`7aTMIx^sJvKZwPjJJz0I-N3g6yArHEju zdxUD?r`qw6#Sxj-PH8Isy~Pl=XjJAq}Eb9>OatvjwZ zZZi*iErH<8nqxo;g7*j__3>$p;{@v<&RtGv8VsOSPpA3HnARZysmHDEQd$=eINd(A=@^8;Bi6gspw)WT z;byx3D3rWOV^%Jt#VWV|h&nP5`PO(6%QMHAwv07~-^sBzMvlvk5h2djZtQz@_r`;- z|HD^5TK(aXdqm!iFWvgx&wgn9O*tjS5pB8fl@u@2O36{87nLq5DPE(MEGv^_g(CCV zbGcZqEw;Rsqr!INmK5*PiYIpDatQgY;IE#O=gC=?=jEb!H3pr*!@x|hkAOlfrr%O; z4s&t|^qeBy6#5u@tIfc~P0Ks3=c(B;_d=i@fEUwkWS$lob25;?{g} zNs9c6*pCBgdd{NU9L28^i}I?3?Vv!SxXni)i`$rN2iZ=sbdIhQk;gyc*s>&)=l~pPVc#42ZLX^P} z=4>jxeC6co|D9VNo}A)ZRIy0bF^6kcJVGpI3uwh>B%KSoxYj3htyC`%w$B*oBQlgv zXfiA%TWm;~;Hpw)Cu~=vO*PrnE)vWlid|H^m)f?dxT#PMjFRGUP7CcF%HcA!N=GXS zbfkC;-&QI=7b8@p*dww!Ar|4W;*g%BQxV$f*T&+gigZ;@4mwJ)8r8Q+eRp|s%6t^e zpkJ7NEHcF*B0}6lA#yFdz-3u>fd^0SgGS`J6@Ry&hr$=5GMo(^77 zxeUY6$-kgnvz=6VuACD5P8#B+Jj6@6sq)ZNd3sJMjigd;puCE5Z(5-#r8~XFm13h7Qgy{Aso$xYtSGB%HDo{3q;q8#6y+%y zEwY8RliM^oTf`~66#~~&d@`Se7rM6-V%!P-$>K`%dS#x_ixXV5LPv8J4|A_@BU82B z=_#%(qOn5(j}XOa|0+MnDohSUvPem0=b|dR$hopHinscYDtx`rX1k3c+8x+<%5B#cWL7F!e8FzceCWlPb^ z#FgNls}zEtlpk5_+jLI%vdEC3pnt zMUeJ28aJt4w6s(?*{@UzJ`56~bV>2tP^PSuLJpk#fC_`2e$ZP*SwS`_QS~ilW|23K zjg5SUMGOTDU(01{q|8IpfaVnxiUf+wu}FAINyv)Gcb zdWz3bvA$l4I-Y@7=_1ktXZ~+{*8?KQb>831?CiXq-Fw=dJ=-do-K=W4mCKzt*>~xw zoZFLhC!`>|8%uF5P%-ED$SLUb*D4Lo!OqGpH8kKt0twhe1qXVND><;K1s1hR1U1yq zKm`r>iVZcy(4#r1p@ydI@AthovwJ7Slu&R>v$r?zz3=_|=DqKI@B1_JHqF5v!Cu+| z7=>E`##(M-6$u23DTgGNaKlYiZ*r+|ZM`f4cx;!M2`OPAyt-QE&#i1E8x(*_ff~jK46UNgP~na zAG+nTiDgVaft-3L@ML9>vNll*6UY+6Gi+s~Y8D7AKtYs$8D~=BTQ)AYe1eP_!w1$_ zB2O_~)=+``#tLr*9V5b6$mK6wh$-ku#-OP?pi1Im+#sImnuYG5XM37_duRp<}3kK+Vlo${{xsN@C6?<|J{#CQcBqEVbGsLqi2qA|_U$ihVIFH;t7th3o7Ld4C3aI3vRLf-E`<4-BTC z#DbRahh@Z?~mm$INY$E&vu|nmnH&(wf#Bq;=7;28);e_u2k!Qd?%a z2TZiBte9@&Z3wM-Du?Z=`+i$+L<*2W-BwyhX)iB+h?&ZFx06iCI8SkSIXv72IFJZ9 zu$K2_BO{{+R-qJc9p6)!t8fhv3Vg zGWt~Qdj4G-ToSFdkzFlC(6*sAc)~rco}i;3PC7~UH7xEiCwL#jNGF%Lw8;Vr$i=EYmt&akJV~k)7S?is*GH z7Vob6K|7x%Prz-7hOv+A8d02fwK&=H$)$!Mb_{>>K^3M=SvTvta z_;M;jtd~YnkWBc=L_~5~rD%f+tM-nsVi;%&Ngl&6920uIx+^N7X=}T=nq+_C#wOz8 zdNEnBW4k7;tcPMMF=%8_VseQ=K90glv4`P^Y0koBx`a*Tv|TqdHkh`-tPLh**Li)! z>L||46X%+W)m{V^xv;j)9z@bgG1;K92qZ^&2Y}Sh#EcvN8NvKU6*D;FAhy7yD==wS z-^~WbVG<#}d4`mmb>(J7;a@jYCK045hoQHg%)0E5rWQkV!cjCen@^?7pB6lBm4%_u z2H7$;KC?TjVs_Cnx1br!L2ot5zTPrg_Q=~-ZO-12<^Q&(XaLTF-5jDF`auD$(QC4Z zoY=^UA{NPGF>;TgIZQ6;_pyWvBbg5(R23<|k^P8^mI76Mr%i<;N}F(!U5v|xJwPbt z7@;rmvcbzYL{Q4!$0Q*5mQ3jexM(w=h}!h)QPD06qh_UOj`%=LO-`9|Zi#5p5)cKk8B7;>$K0 zx6z6Lv}FRJ@cwVO%V3IBCkD^*LHbrCf4Em{?rgiVs&Yqmj|CRAnl-Ci>0c<{#+yQY)gd*b3S&h(*ki&ZE#ff`sxE8m!c z*mJvvDO?>aO7ZRL12%6v^|p0t*?iZ4-n%k6 zUD~B*l5U*i56%S0K-Jg$plDz?mNn1utzDs_aOj>@5zfLlp zbkm$Qb{$`KY&U0{!+mz0Yiks9kUY;(Bd;D!p5I>88Pv*_%twj^-Fq)t=4dU&10yS# zOw(%75$&&glV!55enWKRKNV*7X0@D~P3?Mpizb1cpq#rfRu|QG*b**7G6ZO=-MOvY zjhdJ5FQW_wb71z)_YSjUbeRRMWDxS?b6cFYotM^~zbEkT=es zq6-h~pV&X4thm=dq&-DvrcxD8m3Z!hG$>}y>W~exYy(tn-6uCK;{HQvEh8*lf zOf?Gq)VIP3ZdA8|ibz7l5LnZ28i-=vzXU!!k}@POMOclZxT-6SepVa75#sMRCaJ)_s9bbsFsopHQfa| z?R_VD(12VP$axB)N}cgI|Gw{5+4lBRXi*K#sldw>Go9D~<|oVC(a z=Mns)RMMwgfO|*MznRi{-@hf+d+{0cZ%enmcdYfI|F-Pn?*Ne-aqQ(SjYv+OIuO+? z>QYhL#;ijC?QJWXWbd*m;(c52evi>x68)!q6V3NTi<~smyIpa;r)h1_A{rzC+~z&u zF0vozjlU#Se<)RNg|R0z!)l07?`HWQCfPr;ymbB(x&CV;`jG644CvO)5s-T$63nPN z92id_895XL3nKDwEjMU+XE&1U-a%dZciK&S<33Nlp!nMODZg_3{L&)NT6>NgrEyLP z@-VUHe}t{%{VGuFzn}C!NP0hzfqcW3v1a<-M*3hhlJq{bE`~Q~@wc}AH*(uPx2*uE z(b35V3vxs@wUs3lZ?vy+6tS_1Lfcyh74$#iIM7rsu}IuEBK|S$RVlW(s@xfys;(?V zSUga;IqKwhGWh~-l+bojtn9?W0^*~D{=^cxuDtDyj^0&S1Tfyc%@T(&aVA#;rQe|<^3As(FJsm`}j zJKqq%(#DEd$4o1PI3@m+I4ZTUT0cf21Un8XXNkvzBK2ue%|bG$41D*F4`nAPglDl! zL2IUMYz3WCj|`pS7h3g`UMgk1R8%ZN5N}BcX~RjkZ50D8yH}*vi+VFI$iuG`F(LDt zR#c{>BKi;_9iJ}BHJ{J+7z%uWM~QwsGBQ>Td;d3OuLJ1amJ{nzXs@mf$fk;$>smXC ztdosZt$aKz^A>om6?m;#yw*m^Za%OzQ;HuPaO;KdJ4v+aOw;Il-IJxPq3+o;&+hoIF0-NG~ zgxoE|yH(uAmM@mCEqrSQ3}0z%gV$>nO54{evX5P>;492v!&I!jA8osBbTi*ZH;b&T zO3{xD(pGh-4;{P62$g}HQa5WIukcoGIL9K#BX9#JqqQo|(tKq}+ncAN&Ok%sypSre z9Nu+KPRx#L7*n!NT{YYpyUKjwv!gm_xr4Q-}0 z86d!xfeE)mky>$M6BYV3*4nVrzy`;bIKNv|_kT62SWM(O7Gm?REtvG{MIkg(iJYr; z3j+a)+brgCQw-1A4oT6lws>jo7p}cg=ep@_Sp2r!lG>=}k05Nhfv82k%S!sY(X%gD zZPASVc&L1BEv~(Ft=*$3ajg^4#g0$o+QVQSjg=Abl(@07OND+Rv)2Kp23DlVfb z_QI+tvE-#>t7R>*fX^Ce$crJ})@UC{V(i!xnJotJ9=dv+jIoViFrrDU!Qp~9q zprp%HHrD1ET-OdPUQTF7F0*BCa}r-M>4)-g6bFpY8Gz`Z>L<#&H7+- zEk_o{m|YlxN=-3MrYy5UqwbUivLt{euf5Od{YFw_TDh^V4X6R6F%;Lai^RF#*iod+5@k={ z5=QUafl!J?!H=j~l5iqd&TG+wMwMKi5NujLkWJv)5*Nsx!b^$JrFD7WzU)urT}!MK zVf|Qey8uHN${opmn|eXpvrptXeJ|y9#cSCzYTKVA#k(AdCE0?az{u(kg>Vo}Y?LHj z%n1De2B;Xv#=MVtkBW!d%Fh^e6eWA6PJm9DIu+;5zH^F&c0m zXVYxS1L&c>eI@_<_R*506jI&mA2)^xZjfVR`xLdH!;x zGM=gw8A^?NYTuCy7r%P>?3b6G@BH=ZP$hRrYUh!OiG$;hOdOaL#DRLvQ_+Emsr`@a zf7G_;5;U?v?bD+6wLMWn@Bf|43m2al`a!BwOZ=%3s~o<4;vc`rke167pzf=_>i&_h zo;*2s^6Fo9PRxJr@1FS9hw7EDf9~Z8*7(wIoZ(MpT{ypR?wKp{)2U|)bO*6~F3wzd z_A7v%TU@v@RBr#p=blynhd`?x8}dKt!~fH7`RcV`kn>sqnp01ylj<2< z=j9P5d%Em12%k_#5$ES->0kbX?f87JT?Iw>Tdp0xlr=mW{LD$uPsw}HN0mJ)^|-vx zenIm0O0B_(l-te-lF#=`qkN=V4WH(9cS}F=;s~R2Q*BxE@!XZKpaal=qOFTDpr}ygnIeUfzp!-nwggbxY zoZKVND!ME$Z7#_;-VN)h)t@m&UAdR9D0>D{2Y7O(56W9&6ZYgF+%NI{ZP(sehi`t* z=l@%H+i~i;a~rNoZ^LtYcU{)ech%WB!rRA}W6OT*sdXkl`2E_iKhAfgxmD4-Mo0000000000000000000000000 z?R{%=+eWhJ=Xf963@`vmaR34oC39;lCMnFIr@N=8yQd$o{(d(Oog0zJAdddF^|JqB>+gI2=YPNQ zV-Nmu;D4`NDaH6QyjS1px5yofy>lVci;e$8K_8`Pso|r4tXGi5@MTbmXRv=SI$@a9rOPzLUmI zBL0=Zt7K)`-RXH>?J|f~Kp(oP`zB7tZfXfJ4seDvqHS1CL^_InOE`WS49=V}jX?Bd zQaHCG5jkV`I*6`1M3<Lku0AHGgn2HWHd_%w+l zDK1hs&7>u~{4m3)#!F{gX2~Q8fHnU9WeY%_7(gD~r6NLMDJ$?Ae;C9c#O2YQCnhO; z-=4R^FD;jN5Jw=OQ^$n|gmAn>3?D???jCOD%F`G3G8NIMYna7IR@i%>V1reP4LSuCv^Y* z#n8>dw8W$RMm%&jpNDwvpG9<)jx6~DR}<0zWC4wB5XKT_YC-hQhxS7f*dH2aNqiId zz{ZJt%TVgWqf;31+dJYLD=6_%M5E@?lHtIo8}LJ?5FeOA(F*93_)$`t?s~Io3wCfXt4Mhiin_uMc92;2}( za{t~Lsbdh2Yd*Z&SlLNsGxYc6SuE3igqPt$03pPS zXQvl~o=oq<{6J=N0GBK$!V880SP0~uVSi5FaT@3>uE!>kh4L_hRchA}9+wr*kl+ax=rG=1?u1>@ z(Yj9OC2N+;;%!BG;v*vNY)a0$GB==Y1=}FWgcG3g97qOUV+-vFH@fE^i`(Irtt1Wj zK^$KP*5;8V)E-aT5y)tY)r7aOMlWM!s$B{&<8p@V2vjn5Yr@JmFC!PsPli#Xm3x>j zfPJps09xF8DU$swnB8(Y`SXU)wRHK_1(1VaEMjZDRy~bA@^KJ`ffQf|`1y?;Mi`*8 z!tkGW0rNR%nB*_62|Pd*Wi)X-EW>{(0Bk{U-@?S`rl)Ii^3Xadyhb|kqE6TZOh6wf z9k`+OO@47heQb|#N6#Qs4XhJqX{+P}Y2_IU%Zk8jU~A0z;UEzloEfO*`#FmIgl zq5t*WU4ivPPw2=|oP|Dxv}I{LcGCd;ruV>C_~LF3vx6`I+#QG{g~Q!*?cKls{OgPF zjbR3DR!EW)_pUBIU`Q~|#)eSMk!_Fy*1%XtHKRg!2Nb##G?0#tU*)W-FJTW+`5l8$ zLY2YfIo#x1`R%PSud^-sSAF_BNQK04Jul9HY+2+B^xg*^8zWwpBuLIl5_>`t0+K9> z(C8_Ha0};CPJB0v@f?cTo)O87NIE%-(05~RP0$7$@sL%rYHhQpV$?X>|Hwpg&$cE~ z7WGc&#ti}BFIRtx)>?%!a#jhYaTjF?>A7k4tRB+(x84Vp3vWa9pha}D*`CW~;k4vU zLR*vP{AXMMf~izKl!qNkjzsKdfPpBblh!t>I&?|+vY`p%<0OzS9ndWO3SU$CV!fLs z#CNv)ke&s_a~Q8ws=3}soW)__*}{navoEqCzc5f}RHq(&36g=MExU)s`M!6|#@+CZOrJf^69Nf@kX*Tx%=A zr8`2O97LQ)Wx&h8c46r&VDaN=6xs^e0=Wv(Kvwt|(}c)m_Rur|UcS6H436#=(lGk3 zYu-I`t>b3#(UpM}C$^FwA6*q#7XnOMTQW}ZVpXJSRwRWb2JVATIKShK+$a)ZhuaFB z$``3Swv7O-N`ZVSw{EVzbO-G(Xti2GO3$u}AAaFXSzFNf>DGa(DtPE4ZIqcrdR+%` z&>E<<57*BDUC&7U9K5Fxq+cca8ph}6Ag*C(K6@#bw$j*k?*MNMUsKF=4OZh5qcy;) z^sJjRI-jIP#@T!qZ`*kdr4_8hc9{=cW74k%yvBap-oWtNb}4!EopBwHeSSNM$6w1Z z9j^;eQ>ic-sJ4zc4e%;pt)+wU!x#}m8MDRhfkLoa$SUAIio6)L72D`Z_4s3gY+bt| z;W8^#!M{?NxlqDE>^IwLT;u^D^}FR_2J=uzF9}qs2RlQy7=frI;1$dquiCmDTZUW5 z##n0sDl9nGsuLllYn_@h$d?bei0QT?ilbh!Z0AZuBH_!=5xOSaG!^4XY7`vneoaQbAUmZZ zFGZA&lK57|T=RPH1}CDhC=hgh7kSD#?2n()ST%E=h(i2C_2H+d4lkh%|Lp$zzNd;~ z$w$(RpN3-mMD^k|R*OFat$59q;-{$-KTVZ*qY*bn*7Hz^pRzuDj2}5CrLPjDsZ^GF71gY({Y=!}}cy z$yFh}lxQ_{A|b3YR_XV0l~#J+)}9Vw=lgV(*zMcYp;S|D52Ux~F42cGV_*z7@S;|b2`wUqrMWm@h;|4Ar`u$Oeyc`9e zBhi*cI%pbQ;C-er-r&C}{<{!vpACtoW>~RYLlvr!j4JjV{oIBKDc#s%xcbozOWo!(-|=ohUf#gzZ&et8-;!oeCe>& zFskrSBO8i-*OjRmrll)YuWe%78YjgWtYIG`+EoVJY`|KIVeK+quMlLmVMg>YU5R2K zN{D40j59}a0auI&DT-5}U85^G=HZO+Aq(4XF)-%}s^gpX&&23k{grwfwBH2sJTs=4 z0%0Xrikmo|4SziXf2}BRVr@^bHFZq486wfrA-4&!`Aqp|YVyZE51$GruJ~Nsu;R*C zaTAiVLhtk@B4r)6ahJC>n}C$H+hUt|l;^+6HqorB-&gApCjK1BGBv{^ZKWr$kJd$V z+r$qoi>gid(Bmkio9LnCk+lgPTA$PDiD?{9k`zmpLgP|BiMR?R^-lDQM<|wqZ<|`_ z6#viywiTzmPXb$xxDY9G!)q5y6oq(gHW5i$X)rc+eZie>uptfyfnb3YBuN9lxa5~@ z?X^t7?M6=FXM=-%-)HZ51rdff{V>=1fgStD=2u&Eo#$-sRv8@k_f)8lb&ahl6nSO@ z)!g8y>WeI-if=4?YtKZ2(Xm=DWbU+0$#gEp@r{^CDSH~=6f+2*dxFb}@Pc6={OO>w z_6Y&VN(i9#aC8s~H&H0EujU4CCmcp3I>H=C%UzKyUX=AoOqZMs4VHZ^Zjef2h3meO|36duBCO{|`qZ*CKv3J0Ay zm52=qP!RGOcWa=V8%WJ>>^s0|%RcWp3|dGrIa8AWO#rb>QDYNS3gPKgR1cSR^Tb;3 zikyHSKMp>9;$#y8CqDNg3nJ{^=jKZB(&-KcwNKo;b5)|$_K=4m!8n8UXEc3W6gi~` zzhNAP@hxtQH}ol=9t#PAwbpj=%aY3Sgi?X#tf7A6Y^5(-TS}D*j%Th^hcQkR`63DL zanBX~!I73yq-{50Hwjm}7dN{jJj~4CZrro55JW*5P$5n`RJ6II3iH?WY^bf$haW&W z8V8Zcdkx1}Z!|3ysT?1YhDA) z)B&{S!hp?+W39BdO99Jb8}SwvKbV^8!rscd6q3L<7s^kp^c2c(yR%)~2i>eZ z1_Io~*E$ei2OvsA*_!>L{y~;dm2=OXfWV*v$0Aa*wOyy#^r{s)x3!PBG-i!B^R;$5 zTCL(B9$yA1m`V9i=P^!4<}umR+6PVswz0s9hn3}h5P4w+%a(9*j)gK3#~@GX1-Pfv z#0^4Z0~xwXiBN_VK$K@b9vUVQb|Hyjv|>UwJ^ALT zWRu>)%$@nsj_$yu!tU1c!PHHDc&GAft@!fw&2}mI>Qq)Po(aavnZ(LhB@k!6wD5PY zSDbjeEHcAY&;plG7Q*MkDr*`f)^YM*7mT^@`&DVbkU8@wt-ad5@3=-AXQf`ivL8Gc zmcO!0a`30Qt+)kPNY}~M-kAx!>o4*)w&-Crh{g9smh@WUnogFeMLl|u7j=+8aSNe3 z{(z#NDW}NOASnKqC%{irMJsq&DBq;ow|rapI8?XaqUAeu_3iZXcj4JzK>0pW|DnF? zs5HMl8tgcSM?W78j&_{Wv%&G{y9+u$emdGe{E@q^vAbbR&to7J{r&9ypwijt{d~@8 zFLt3-zL{Cc#$xmh*QA+UZe{^%4G<3sIcv;jvrY-TzOBiArK6(MVhM-`(gr2Y5NtX+ z-pNT<$fO_2Gs6FR&Rdb5CKyKegL4#+Rqr|`OW!a_66)NOGcNy{U%s+tGGlhE9>Yzz ze&7Y9O0ewm3==oV7ovLP(Q3YsdG9VSccIUiAB@2ZaWw|i|KJ>hs+Xi>1i_4G!v@4i zfRF$&H+EBRgiFf6f~1%;NA$1y&L8_8^&~p>|D5p#rSZIu{rewyL&DaBrQi?SUpm|D zK?QXMfKUzH@BnA$XLxVXt8HpCJlP#t3ihMO1O#8l_mntyv7WHXZOyz^XHVCRN*l#V z>Sd%i&k`mG@D6XP9b?aY>A=aF;Jy1ganXoidzgreILT&?RjCez3|SKfC;(bd29ONg zavWea$x3Nfz<|xzQRxyx z>?x>DUwn~y*edP5?5yOlf7Av*SG&~SGRka1oet@h*@R+=zO?lT z&$dsB^MouFb?^p}sTJ8+ur9WGev^fvgC8mIK;ebqwDE43(Rc_OMdX=*tyWWZa`f4A z6n5SH_^CDi!ew(y?0GDfcQY*<*n}sdC%N2~3zBS|S1!3P@jw%lqtF%(!)M>+uoO!) z?vfA=<_(2}&xY%i?^b;~KE*!^cl_su59d#a_r@6Uux~g~(Jw>4%iQ?T3zme@etviN z?sVXIVJwCD*9{-r@-cNMUx5f+z_qSK12+JwyZK=r=a+%ra?HBVc7B;(yOoep$DDPc z5o7M=zH=mhz=+V0u5aRK_pW#K?_lC|ZIo0Qi~I>?hf%`>s5}fdzWklTD3dYBhC;So z-fOSM8~W3ZbD5#*T1psnHx6-&%Zcj=4s^S@;rwMoeg?~R zw$Av|vA;!M0wCXx)9?3f;ujY(5!tlHYT3_2g%CnWHl*7y)l9qeM$F zZBI5B?IC*5xxPSe>4GMPKG8B!ETzBodDbCerkX+Lgb8omdwG(DX#j5}?=#lUvDFD_ zG?sh8{I0Q{Wf#@79^I&E1HOmp9TB@{qgY+@qpqmh8@F8tptMN5SGq9DC)V@YCnevq zE@nV?ONLJz6t6z3RKc)%t0x_Vpt8i*_qqGtbjvzrU~w=-WNv$0OCY>g{(l6Z|L$mz z&r-S_w23-wj?mJ5Lp%6HZ@x7;;r*7_EJ3P~*(q*xKJEt6}srunLJ;c8n7polC6F^5j&vV%|O)lImXQXZR@Ta#7% zh*{2RaW@Iw$Y_l|)9mD^F%PhozpzVGk!)*Z1xHH5!c++L5A4!KKkW`WX$$WzdUSIiZ}ruA`6n3N@vf#4A~g!* zdFQwaGxtO6)jTu1~0iTUByOe2=QocCRztAsD_C~ihc^S}}$8}U@RPm5# z-0ONKqz-aT6O8+(k|urUFfKh5Dj74YvPrejO0`}K=`yM~C@^&7hKPoW1LzO+@SnSX zXk`8AZ0i|-s0zgYt03HA&&hN#6kEr{>>I}2T}S{K5CVGJt7Fm%(Dq?ghl zFYmd00j@X?n2}u8L9q+}-YF&y65(V07&o+4j*cVeN&s)e*+Ef}`6-5l8907OY0cU} z-7m4syEGh^%9>TR%61pnT1`N`$#p!qal?WZf*PpqMs7rs1U^;l(0@U+#2oBn9L(Kn zM~_uL&{S5zYGwYgNwM*!&O;~iG3uDH)~n9Lrp&`SC-0lXpFke%rpm*!s`9WY^3VYmH#HtQ!r>D< zs5T`Y9*cuE6&^Mf9#+g=n*t9lA-BNGXJ6l8Q{G|qS*ojL@inRLVAru@lNUZGFZ{Dh z-(Ihb>!($NVYAmZd#%p+XIv^_Qz>CSi>$my&8ASoBNs~8)Ja%Cjn&pk*px}Iqe{&K zq*b~cV|YC1I`6V^&8YrkI7buAepDfKGUm_*Bdi`1lLPev){yd)2%QSBm=3i&y+8K? z5S#iB-Qjan{$Va^o=x?KO%_du2+hynO*M@Ln0lJUG&Z#~9u|?CQW_<;-IUUJ`lU2B zl{DsJV^c_@U4))SuPHmeDE&aMwl&#|Ap00KCQzV)IAN5Um?LcB2iC_t4rP=g#UCkJ zTO^6P7s$}e6~2Y=XuRsrqdg%GpPA6_bb&N7y;m}9=fm_#0}~yxDiYZ3{(d= zJv-hIpI3>MO@);OuFFk5oX1fqjumFtani*b zNHCc{eEc~0^r;1|n)dYIkB(gnnhfh-=59y;` zBIerSFqmYv5sj@?tDaiB+MV^h2U=#Ryi!-@+x|-H0p^RA+W9AN)`B{T zOkN9mEh12eM23Tu?HY95*6?rxkF27SR>fEwBQZ zA4ZntEK}va%(YmxmKA|c;i*7%OW^h6j|{b~qk;{hM5v3q++VzEuz4RH#J(+8s}M5< zrQ~ghF>R}X6pSq|2_`j6bz=k~nBZ4nvsCTK^=?XA_x3d>L0dt5zG5EGU*0D{jRS$a z$aoOAUYdcHbg#HV#qn`O4hz5SA}^CnUTy9K$nR`AcIEak8HnzwY}q_bCm+P6owfMPdNqv9bEV+ilbh!a^+{Di=`2kdQj#iACi_?KrJlm=*|;$4i^-JLXQDn zNaEYb@v}rHo+{XPP}G6d+`<~>8IixetbM^t$~A@;(Vae8xh$Ud&yLldo9UVl{td*z z$1U}G)OgKsw87S%4uqzcmR#j%MZDV0hcrdV@dhIgVWdrbw7eZlaBj@gdgxkj+jJ(Z zPrxvp3HN$ir87ZZbCa|T^V-^@v%q``#%M*bu9YQP75dN746X3Z+S#C0k?}+f&@$Lh z#`>Ji@f*|A23ya=?wqlvx<+UIyj*N?_8p6m3;JEFq{K)n+QErY%Z)^O8ziXx065PFv1azA2__~4?I(%#HSf7rgE^GocZtzHIKJ(^AUR;Q zuFH?3Al2o{T-czuB!S(?%QO96Ng*&JWH=8GyL%i+&`M0!11r+mm&Z~1^;fp(mMdN# z{a(uBcPFj~JBHKm^*8-)gBzAC<6q!v5VHYRL-i#vrtLL^(3Vx{_o7^Y#hi^|5vmm8 zvK~upMUKpCV=um$30nVGe#llS8&JNS%2HMH`vC{+3nF~hiRftU@04*E1pvcoIe5QvH+_Ila^Tf~i0q2&LF`({n5N;z^uCB;^7RKz@Yh_LC? zB>$7QmnNBbwd?JvN<OI9>6h;WV}{h}HEdF%=qv$c{A z1_B1j{acYzfr*E9>i@Gv${-08O7O;p_sn|i)6P(62)S9Z7xp)y_sk6{=Uo}a)~DYL zX&B%%4bY6^7;7{`i^44g3*Xk3#AhYn?&)*9LoG$i-Ida8hOGXmW#1>~<1{rtbwW-W zFw|c5KZskQThYy>mQ4!~a0TBc)N$E&F)-|~g>sD^JdS*Ex3x$A zR4uu-Hf;GIT*;o8eSUT(%4kFv@*mF6qbM7r58B#}qr^2_xX4G=HTBzE0u%5r2HF2| ztk!fHioY~j;W-26xRJ3&zUIS~??!6Y3I;sw~u}84qibWD;|cPovQGKI$ze zsdM5m>~d;N7hM_78^ZviDqb)@UEkJQ?8AEf{I}Sv^tDlF`e84~^@)hIcFY5moG{C! zx4Ar#FZeSRAmr*4)t!vJ0sB}W#SKEa+r)jb_gNvkr=*E3lB0)=gcm8WQy21XOf@H=tWzR4SlECSFRtHjv>2p*&dKERm9PwH>vtlx2P&ynw5ZKEZ%Lj&`J^@cvxpgZ!P}|CE#>?|7k?iCmkp-bhy;h3w znmPn%`+-k4r<7+BB-WwkBAmdCsy-y$fZnLNRJdS(wKrJ5Z~5??2D-nWTxIhs&etQO znzPy#1sU&B5G@+{EEzy7zty}Yho0q^daXH{vV{8B4o`H=3L040#jizrD@0WCHtfv( zV#^o$1rC*0r!A^&5G;N~udG;vyk=)x+<9RpK^$<=q-b~S-Zg3HQYvE)JgLxY(+d;c zy0v$d!vSA|ai-et*bH~?O2gf|hlaO6L;A?cPO~?4L)vLQETpNM)8Ha6<98`?I@q)# z0MuQ;QMt8uqHxHN$j-X-^NaUjcPwd!>VB34C;<9$dKz09him2t6<(HE&>)|Tf; zn;e9FiGk%waG9lWwE1GF3Mal3w`m;7c!=Ga@+aCB81pgHs6xMwx*V59u$x0aCN`f(oLuVA{3urm+l{A_DSRb=Dzus)(GU$64e7=tP;d4}mU|ctj~~+o&17>ILK*t4>lS zZWVQ-=1QZ$0Wo6U(UjRRq{M1#_iwwaQ}IvM#EBEt$M+5M3?)UW+(WDN z`>Kc6v21x;bae`8)RR}*2WpXzv65y-_Jsmn?|lN_H>-o!7jN`?wH>0;uCawj{&h(w z%p$aOWOTw3R%de}zTlm*eYIs4#_HQ|rdQbP81e{*XUD>t?u0-g_vTKyT{>7F6kB^%!69C$yNYhJo9LcaD67uiHL z(T6#1_IcKPt7rCe&^tC7$Abvj=o zY@Cxodc{}k>RD=lZV8L(2DY^QkCsorxq$XB+#9i<=a6DS#v-M#=3$7f6kRHd%2|EX z=al;OHjw+uGfovEN$|t$7PtEo7c05G!RR&os7DeMRK<9yGjl!~F@%0!60~{P%W0oG zecJ~&;3n0aWHhB-~t#hAU842D5k&jvTr7}Y% z=F1_nZ^QVqxFA%Q^L2z7zAw+TRAf+dBN!B&l2C6)3H*w^kteZ~!DWbH3t;<1X+@-$ zf?Rd$*I{13p-DoNv3Kw?7iO_9bHstvXsU6iVq!lx@kSO?cska>3}et04?H)7pSb3M z3Ixyy>4Jym9M53T);^cflTet2CmhS)-ML%>5mdMdvvz5ITWLgLse=&56y|R?A#B<4W3%`t z5qV~{kVesGs?cCgK3JJCJ-UZW5ooYr&G_5uuH^?#?rfuvgvq%38Nd~#80v|2{NJVF zxb#!K5__>@3>Jk@@DkzUudo7rMiprdVSIH(HAaxw38gFsV?dLPBTh5HpIa82i9U~d?#{T@p%yibDuk@Vb& zz|I897xrZl0GbGFQ7jo;GnMnp|1b5~7t`Q|uS9wRgrJa4doI*aCPEpSf^^h6iwncO*iLi!W)g9=;Wm z6q;yFV2g_c$HH+@93K7$(mM_6Ja~!JM5L@hsxPL^Az_$|Jl1I%sKv7%gL#KrA@BZfv1ea0Tq!0FUH^v_>v+fog9I>=tnH7~34(Vc*0 z;|H+|-+Q=ndM1wd(`(wV{h|cpb2y0%H1<1OXc;Ud(IBB>%tf;q@-t?03uuyF@-$B3 zswMM>l%t6zUZ3-xECU!0cJ8?OF(-4T!bO)I-2Cvf-!|wpW+|?ujW+z9GtA$QsTLBW zZGAEd5^uVEhsm&&g9F0k8@UHKudSiL$PlOs9oA?kD&iHjm>~4O8ER$$Vh%EzSWMO8 zM=f%Rng1OC%~cYJfrd~gH)Y3FY9=aUXt-*L zp8o6SEc6$~(P_~VIz4$S%sA4F9!?GL$%8sWIyQtjg{>g{B~0v05+aN8Gi))Th#SFI zZsE>zuCNUI+M76qy4VJIuvV2aXv|f2@%t}IE&hv?I|jYM#<$yEC>;LvioY!}4}1q! zEe_vdaNF2b=nHnt^4AsGvLM+bU-2)5;7#Zv>MJDx)AevLterm(kD`89sZelL!z4~> zD#g^Xuzht^@A8%8vHG>MTSN!Lq+p|n>f^GwqYFFTGq8$T`%9w1OkDw#FcBX=P|5eN5YP~Dd)-NJ4eci zchEF^R}ByZ3~dlepES2fU$4|0Uv3GL)vbE$ymYZ@@q|Z%aZATE&9h~4T>5)4VNE^Z zpU??>JZQyui!6U)=^}XU$TJXw?h*teYC|uk*8ZRcELfw-t4p#l8ysV5QAs*4d8N{P z6xwYC`6nR}0M-i$G7`y3klmVF)-JaQ;kDD7QQ~2%)tB>!`;J7LL+YSAo~#=cw-~NO z+W6up^aBIIadH$-<~3I5vou3Q->ktX_$NEBla-+yJaf(L8XqActnpreiZSP(-9 zZuu(g$xT?`PG%tIRoH(T3Z-lWI+8(2tY4=Vh{d2v@%I}dof40=I@AV#U?uG3v98ogT`!$2P z8)`(Pph-uTL!0r*NDxQTwpEk~sZoMlHXK-;T-8N<(V7V_K@(~v-sttO4WD~VXo1~) zzT&NzYes=Q_Z6e~dK?(u<;2>T#QCf&L}(ot@GfY2(XA19_$)bG!JcX9k6mm008YeD0BPrRz>**Upy!K$*I#W5K8mel2@l;+v zl1#274{xO4Ch^ku|J-bax#lMn$)?j1OG^vNekVqB7eJrLhL3RNDioi&KrW%q1M)cZ zfWfc!IpfivZrLyVLLWA)XKd+MzId_mq!}G-L1`jD zwvo|Dad)|bhA76UvIU?Bv~)?wEaer zW9=EXwo;;c#uABSe%%N`7x{1+ZXaynUrAzxWE9&Pkd;Wm+(kRGKeF%Ti1!X)Ohp@@ zH{?^tiB%r2yY`>IdTh{Z+^r3LfO5M-*2;zx_zK*!IYP$txYvZbwT7p%&{pP2I;>m@4{-NTL+zo;q?mU4hD9!0OmU#i%}$h?!}FU6@h zz>qPVvjR3iBl^Q0Weg%Tl0Kf0Hi_L!8xKv%_~v)|(7ZrWPr4PrXi+aIb0ZuN+$};7 zbFw0+$l-p66L70_Y`x7W%&mw#x#Lg84XccDJB7On7VgC@z0%uZEREatxohsodc3B0 zD+>6!@}EB`V(EF;2xdQtI%1rFyPjUpoi_Sl^fI(h0|gKYcrA>E9PbUqfQe zn_wXn-|@5yn0=#A3)q33JC4uGg;aXjvn?lH!Stwq8lugPDii2fm=qbtf>`dfuIGLq zmL@A%CZ+v}_YwIA?(xLG$(ImnvC+>AwvNI3UR#*F#r%!kDyq}Tw(L^g|2 zj%cQ^TC3A6&daU-+^%Iu(4YvMzQauafJDM@6Nq`+lmEG0H(^?XmF?`>R;8`K9LA+F zoaNm8IqR#p;5!W1D;sWTN~9yJ_k}5KQB7Cgo$!+6>y^d>^AA?H_3Iqa8J)0hr|JX5 zHp?(Y&v6NBov!P(gK7jENfWammK;+DxFD$@M!q*ca@6MJ>j^yB4qS(sYonIa@qOi8 zC517Bh}*r&>TWpKBbDUxs_~)9GWAo*WioKJvj<7w%~LEn9~h5S!Q`2>_;M&&V- z?1c}MG|adCOkoZKfN`vd85QAyItLib(+3Osv&jDx{bAy_*H6g*ZFjtv|Kp5{+HR&#OD8Nb}ZI~%O;dqtUb9r$#r)3Hg`9RqiBTWv}|z~ljaT^ zVF)K2Bem)yO(Wd3N~a8+xOBgD&gpU0>aG zdBWy9_=cQM_o}-?U%mV3RDCi02`IfH3LE}WtxGo`Ci>CZ?eY1UIs(V9lPgA1j84ZK;-Zd}j3QyF1nYoIGp_;aE2?=#A+w)HlJxaf4d$&{RTTw@ASGLUB ziZ?!N;`crexIT72dmdXTA5|8JVlCe7|6+$eSVS#(IL^KR5krMcLd-FvF{yy4s`8KK2 zQCAm<=)fLIN|jG_)1*(?Mg~XrcNHIfO;7vdrg+oUUl3$x9dPdmtu+{vfW4s2clE6VF z%N7Rg5u@iKn9@+~k(K>?R6MF^a01AJfWvNUT&@iUZ4`tVBtg8k?p#R!Sz5&Z*`b{2 zUtKl=98@w1Z@Y}ONb44NZOy3(aB^`ja0rJ@L&qfWIn_2!ZtK5BqW2~YB#lvI^Q!>l zS?%c#DYD(n|GrVj(6=2#N%w%-;}q9+Mb8;_Et@VjYYBdFpu%VOC;_7WZ43gIXYAI9z3^w>A-tx9%3Y&A`8<|5b7O8PC!UOPS=sO+ zq){yHQ_~75kEAhun-~djs5YRL0DNQqLO&*seE@M3;6QB{BPgFYSViCqlYjmkHUM3d zM||V!-Y0-dZon(SP$IVbXVc;v`&)Yf%Mg(FCq^;r|3CFiX0CtNhLFJ=s zFoCk&_@aDMX);dgFbCV&K=~+m#i$>zFa(U7<5zxuKR$yFNUd`M2pb3Z$=YUX4&@}(u{ku>)hyr3hw>J#=i6+WJT!}v_oFCqav!S34h1|WOk+wyZAKE<)EG0Og-`o!E}P3s93LT`4LP!kBNkIURg3#7g%ZJgU*ncyW#pWlPi5JZ z=j-4ZYdnXOb|a;{*TpK_ll1j8KgTh2_z3bzZ_^OJ`H%=g*&~jT=6S35eSp6kX(XZKjoANU2LYG%z^XfcL^=;?zI!)CBQ3t3FtoE#e{a_VgWq?CM2?lD+8L4RAEOi^l*5HuXRHBB|BqD{=pTS>y8*-LnL-VmzalsIAwCr!ZuO=Sa<%8=cX7l4}Q zI{L0?T;CAuc$CoLcZS1b^l^F(&XET{)>eapfCZ8Y$~ruM#%s5)TSh5m3|iz;ybA;E z?kYM|_Ob|P`aA50DHHw0PFG4eiK`{8nL@cNM-&>M0pzkz{q@HFd9qnr=QJ{QYPR{FEv&@|^wqxSsv!hn6n%?$9h z&0o{a@Jr^GbH@-w!P8^*qjbv&mb>)6=XNT;8bIFI^Q7FHS+#FhJ7BvD3m6Lc=f+hu zeoLkD`-!1%>N7d8{CnMk4g;71ATfC3#}JwxP&9vok>md&#u<~=pHkfm|5$*=%4j;E z$8#k06zbx}ISnWx8GQP4_~iHe(e?I$+cUj?wX=UO0ER1O8#&RT?0u5eat||=y7L?x z#-URcyY;t#plIwaKq6Vf-CGt?3_3K*Y|lwRm%&02tH@WUYK6*I`seq~GZ&Nb#{;#_ z-p38xuSJtJfop^O_~bt=;EWkd$;1F%cjUi0%sVyrUR5B54^VSq z>xr?$K#p>rVQ^_&=v@l&LRxm_6QRgi%S!xVE$B+rx>W`3@$`kjHZ3XT zd?JP8BxrY!A3q$B_(e!;M-zEv)=_%jW9|_ zV~J`TiMK^z5#rH(R}Iw#Vo9W$;nTH2Qg#Vf=&2TGGSRNjdIBV*EWC|@nU$ex5;-7t z_Kb^E<3*c@^?Sdtc3CM_GC3f3TcaVf#9D?M<@)}TOmiC+IZ=(j zPR@V>7iwN29UiPg4(K6NShXEQC@*yb!azT$Yzr3rKBo(Vl=u<0KtiSDpQtOs&{LuY z-(Y^IKspvq*O86FUv`z-2&UD68ZAoXE;uX%GeFMqr*Xqo(!u=2WkvSzG#7dPbe3>>Qk!D|KinEKIP z9lvihgkm5cKT%4Z)L3`;aM6YkObhbaP_xXcs04j$w~?iN?L~ zjHU}oSh&Uwm7yFy{g7iKs8_&gp@ZjuD&7LYW?Bpm@sliX7xt3qzzsPURo?5EL^-%~ z{SI7Z=)kZ32arz-xu-ylj@Jp5}&btBP_7;J}@Y7P|Mnu6u#e z*W&Wadg{Fb3qEK3pQ7|on;ox*ZD`%5k&7)I(?8B)1>?IJcEJE$|BculkZr;`W}bZ< z2Iba9nuJ}*T0Q9wVfD*wroK&Cs`6xdyi)Bkah}xtG15+Wuck{ki)0nlUMa34+dqZO zt9DORy-?eTqViQN-uY>fAV^l>ex5?ZuJ&+j*r?sfn^wbaoBkh+?HxJuZ_EJ+DmN-nP$ukRCfe zS3%1r$4QS-y7I66HKo3N#&7>Vg5mg2v+{i7c2t{o)o#g~@^6>_l7QSBakX2vfc#r- z^^K6t-oM~7eUp-Vllr}XWxDrdHR*4U0d%MHBf$VF()sCQ0PU?mNH}gtY#BcNsQiFS z_d;fSLQ7WTZ*73jXOnlDcTPdWIp4xXGoI~%X?up@FBrglEFciD4aD*f008%XcWYlseY|gxawDBLG4J6UVVDMjFT-56Y>X1!_hG1PUkbW^9xF z6YMB#cgemkZ2+OJX1P4po4iC10yn~uhr0E|vSY+pm+9}WK4RzVI`WM>27ZJFOfCK7 z-R;?1Xl7ngO-Js<0HKD(A+KbBP=%`<_u2r-X6A<|25@HJC&3*H)dwyHlkLcG=CiT< zn_0Bb)BwqH=I0I7hX)3bXJ3)|hPr7ePR_?oSu;f5&}d^8w|`9%j2Jy z&EMwh>V_MLeot?(G=?%caM zXV>4O>X4Jc(Gjl;)wus}Y~6Q^=%QjgdqS+KfA<;~ji7H;$=dfi0gdPDj1kO2{7}wV zFP68+V?iHlwO?Q$a99Um>o-+XGJ0SNq`KvR=r*J~*c9r9E(0OB+?YPQQL0X$EJ2lX z8sX2vHod+{<^+p1v?$I*(%%U7--w z8-|n*$_I-tfdYqVp{jg_3|KPTZ110j^ELXj3Ggq{ULXHtJ# zME}aL+Zc#zJ#~(ff7|=@mO=F~v2@G8a`RK}ttMJ%d?0V}N2CAHz`uB6`Dmp2Xsmwm zpBf-%HkrpAry;1~08?Kh9*|UipgSHm%?f?3i-5GJ2v7~##p|6y@2yq=dckb#CvN-q zKBXN#>EHOG_%Clm0)@oK6dh`zTsomVh9GP%IhD_s5V@Q19DX_Dk7v=^*_5_b!YRSk z#7FL4Qn=sY*euuASoHp)SywKwy^xV$gN@m*ZSx}3=5$MS;%&GLMsXy`wtehfH6ytg zdUlq3YML9Q~WZCdqEQfx>Bs+HA$5bws#)XXX<2_eJhuT#*%Hx6tfr3e3*i5&{xT>0<1{p z-{X52^AZ#z2jXAxj@~i`;=J*l1?}~ezxwmp8LZy+Z?ekN7$?gPK61w@p;0Z7*(CV( zU7W&@@r4ey^R4bP!FHZYA_wxRIL4?&$|*$_u$DBk=nY{zdY8f_K6&KHCoMynpN;0Q zafPZP6AI18TZPXkDR5+yQ~)vj5}BazcKX>#nx8x6kvp((5BmflsZ5tL zlA^>=ReWW>cX~mMGTWFx1#)Hp132LV139JdVH4vNQg;^0yAse~hJU0MRyZL7tXX<8 z0*U%YdUGC$h1UB4z$)w*w>S1EM=O#<{AIixS5)THZhGAZuJ5-CS{r5QwNLr3GPc3ju`#KT+niQ%x0cR>FwQYU8w+i`SUWlDhAwgK}MI zacw*v;qHzvE@$ql7Hz6wg{-n&t(g$qL%n^%qvCY;9EpwuCu>mTx<^OZj8f$vn2@IM za{~ph5%c|+14~h3Rg5pQY;;UQrMM+qIyBhaij9BSSP-(QwRZR?zlbD!Bom@dEhbDY zC*;PE=P;4yY!i;U2XXq4&Ud*$jHGlq5Cr*iK8NzZcrPXo@74M@_nFXr#1Y`V*$dNa+yhF%yhs-!M^4Me?J?; zX!A}U*m`3jMs6?^t}|=2EloU_ePZ8@jl<5iv~`F$BxG2*lD}w;KNpKIZ){h3jhcaz zbJQ_TdKU9~B96a#0QXLM|7~WSdDs92Og>Y)>nDQWEEg%jtfSR!@Iw;b+h~BZ;)s2m z!SXVceVcvWr<-yzkE?{I+Oa2V-3+f$O6QIut~+74(~S7jVsu~sO6yY4xW;85)ROdZ z_nnun4SIA^*yOhwKZ2MvG-pGxh7e37tc$~6_!{wSh4yt4A85#2^!ICW-S*iV_9^~n zLB;5Ol(9xZT-HnJPOe=>h05KaTc~8C2)xGmtB^m^Sr;-?E6E^pSlN(cIs=ValS6mf zIYh$+lajD~XfJL-9F$>%1BU^{9fFsMbe%n#6?$|NucG$scCoQtv9fjSiltUk=B%e5 z!C15 nOKWkDBQ)Z^<>Y-=$F-8&@8)Y)HnDDK%3fr|}5moU^A*1>ayQ`9p?!35l?{b@~5-+f}PeG|CB>TLGb3t*h;tYUi z7OTgFgCV6)4>&MYN*Tu;aKy6w)Fh@xYZyX;N}h}^NyEX?$C`5z<=C4#Dwj40{TfuN zg_MaTde4#PRlbN8nY%aL3HVhRQ4xIJ7K4{zNF~D|dwa5$MTrM&i2F zkvVwhYA-){r`D7?b9At%Dk%BKR=f2Y-#CV;isWln<~jN%;dV^cIr=K$GhD|kp{-w5 z#adUb0g}rbCy&IG(a=%kbuapqwT6g=TxN+I&=>7Q@O>^cI3WkK{oMqjXtJ0@f{Qv$ zuAzU9g=|BfgG+I&1Q{r1K6b|nlVxTW787(J#99WH(Nwr@PFC_OST`2f)+Y36b(w7( zV6_I3{`8%03V*C$eBwGU*gm}~bRP0l=u~>7>Ta3222!MsuBJitS}2lAIJID1NwMDb zob%m>U6_~P`$gs8Kg_Xh7%JPJJ?7H>1XomlMz!GQml9lBx zZtw=f(OMpvk=$eO%n&TTaN#HJ4@F5FB)nQ|cmRCP@%F#<)Hu0~Ecr1$K**s=1nGt8 zJURXA=eD^=Y*?ERF{HgG6x9aJAiyrVSa68mxqwVVT9yi~>hGeFyT|;fcn26S_)cd~ zP}gL_{X%9Kd7Hv~HC#Z{=dOif=Lo<*$nQbEN+z%=wkpJtXTOLy5`XrU^HKO_=b?E& zm0;%CC4rYy6VrOVpJuM4w6 z_2;J(hQ01>aU$Cj=L<6I)=1O*0%X>Aye$|xUhp@USs0VxPcGd;aIu(8xA`1(vHzf7 zT_?iqj+phHoAqCwjkG&Tg@@7&=_Igp<}~u42en66pm4J@#v}$3`!G~vJ?l(%20>2n zuk@&9+l71D4D%R)fh%vVNF)F&H7NY9MQg`HY<&bf?f6PbMtLnX)|g|!KLN` z7T|x$U%;ZY3P%3QYX;Z#Q>nsm+hVSxHtGMp%4?x=4)TOJOVkduJuca6wBZ~lfT?g4 zKgXUU6j7Dq216=6X4$rVoX91d$i3^&WfaWItl^xZ&Q*SV&Yf8+*zbI%>G?Z*&42oz z$XhDd2Y>2&bx)qya(jCHVqK;*{yOj4-+moZ+Ca=Ma3(U}O3eO#Cc#XpPf!jjEMAGq_H{H}yjH@wvb2$gyxM`)Y$5?jFA#zT?gJq308|bTC{%bOCF5j9osuPtBb>$a5Ze z*{4q-N=z!^Oy5a(KD2EF!u{%xNqx>fb5Q^y{;v1_-JW`7R)M)6E&O7FY=)7xnN2d| zR1G6M#;zKqHf1;AXEI@S>M6D+6!wL#RTu4DTuQ>Lxaj~eHfQp&Cf!- zYi(%K*V(v%brI;xA9ZyW?2fJ9mzF@$n@fB0I>2lF+lXqz8Q=bXye#XDwO8+#PoczE zzUDfLYJ*?L=&N6D4q?ts?Wi{@a0rKr zIH_@gBceh!w?fwExS$68Qii|vBv-tqM1?VaxjcCptsz(HYtp7xr4hF&p5F|7%i*bi z-%*katax72tdh27?_|$GZRPcVY_edM{3W#{3}EGhe?G& z-cZkZ)Qu^J!FF8DZLZ7VFWx^1L)XT;n*}CYrFcY7dxo|v+D>4>9hcpdhC`K_7OcyK z32-|Ww9BFc$~&$7+L1}2FN>(<5b}d^zY(^Sp_GoYHl0JVx6lewPV^?0?>|<9P&MM$ z$WzzC+Z@oo)oWV*9Wg5UBb>Oy`~7HBesSST{)!92_60n)L95e>d(k_~Ki1?vgio@s zJI7=*?b1^4SJfDI3^L$mh%7@o-0MZPSEhEfpd>+`O>WGt7rl z!cHH9o+#)klo`&Bt6gt_Dnvvd&qvli_NFp5{h}p^H<6O1*}3$?)MCZF$zR*OkNOay z{R@ed&A3iyjH5R!+d=PW+oCyV-0#|Er=FB^zG|ti`-2-!?@tfvKMVW|*~0zAhVPON zx1^vdtlol#X(K<^I=4Lq4So6^dH1CZP*wkoR_o|gpW@WfndAYoX`rm5#~8oYVH7wg zS+Sd|^6B1lb$h!ksY^(G8fZFnax)uo=82-?|5YKjHMGl5-?C;~BlGN)B^o$3pl`Yt zXZi+@0W4f(y0F6VZw3g(-Ylm-TmRnIx8AGexEcQUZ;s)wYyEa6|MpP*Od$7$M5VX2 z>QV#%)<4h>$zlK-7Hco5F#J{NKFl!U{?0J=;Uf-}b^f>uW~-9SP#n@S9TLgkJ)eOW zYwJ+)BMCgYcB0)Mup}C?+%zn8m9l=_u-v<1zqz%U#gTu*(ca%S-Md1sHjlFSwO}6A zV?b#h1(9kV^;|;(72_6v9NlA5`d+fsb;Wt(p5@^=1sbRN7_SzL(r3BRx0L@R#_*2= z2nF6eWj=drzwchM-8^Odx62R1-{1NJCH)yju8ZINJ|Ez(^tz6OaIwykKKShsnwbP; z=FJW|ui4??*am{}Z-~E1;rzG@xxy0-($Sq3tssgCfEv!9?CLAgtbMpejTlZW`@_V#xi3kKyit zuAx4d^wsKsiZDz+Z!s+>ZTFYDc|CQug3$yG6s>z5tC0DbiBnE_KvATO;=|I+ z$CGMgfRB3yeLR8nU77rSo?2$x=FUP61DAt0*jh~^;1N?H;Bd_}sr+&*bo(Zp+xPj zslSq!cr(?f-`ZdhUyK^1Qnw_h>Mp3f^TI)--i7DoEAJ1q!xM_-Fy>Z-PnvGzM zEwoX)Vd`+;s=@r$Ey5f9CZCR;bxv1wqy$DO0Z9*XlJ-hW)q*g|sR11(64B79SU>68 zFlVG99l_uNLfX6!R~uNFX2M(~;uV>)8`ob_D0pWcH-9lW-Db2kus`qg+agj;iayLQ zlw|$+if~$`0_!a2MpF>z8Z8@^7||%Y%PR*WYk$jos^2 zSQ`@fHjWxHO<^RSNmB?XOnbK@VD*-;8I>F)e5iG_`ORoTx$s>Dvnd4v94k>msQL&} z5TA~vx)=IWI!1T?n%i##CIVg2j? zVedRDZw_Ht9*2l=2&Gc2zi4%{q_{m7f43{$Igb1to1yt3ew-iJeHy5uMFI8%nh|K+ zdy1N1V>SvDD?z?}31<6;x;GZ@g~nL?TI6h~Hlb7)WPeSSh=ebFYH#u|X)A{ni!nM1 z2T&|GiBandhV|DBx4X6uGtyJzB{Ax6wMOv<7TfO1%b+^m zU#rzpL$<;pxzpZ7Od?G?rYG zW9IL%Y_Tf3M(+IbIb2;p@8JR3xj%mtY z70zB|e*}EkTFT;Y_|_e$A6*@Lk6Z3lGDuinY*w2hU{HfyE*d>#N&^?>gJXyk#Y>d< z(k=D^k)D#*ie(nJ_{uq3I|2#Gnt`SG7*Gl^;I*^p^O(}B24?uDVzPPBSsH_al} zd=1OE7*X2=PyKATt;zePuNF&t_k`e>;ozyS9(dg^j`xP`^>uotp^B_Y^jzC~&y%%C z`?Ab^xn|OV%4((4P+>BCZV|9toCOUeg+GSnlqc7qpBb&k7S~i~Rz9Oc6xqZa$vMk!bq{w*^UGc!n zcE1)scXW2W->~UPCfR|_XtnStlEArB6nq_0FtWXGV!9 z011sTk2g1zm&6zaYQ7NNU0A?l_`stD!URqp+d6B8x5FZhyj^Xv$EZ$jQhB4jfom`{ zUw?@;NpI@y(|c>@&L)VP-(TR9h+ZQ3EB1Nx@{n1XtAV)aFa;(CmEHFM7osH#h0O@~ z4b`&U%jqrAYB?d_(BFLTa~`&g(32v&(2l+B_H1_5L4zi#i1@gm;n4!IVqh*vnL9?E8oO z-nXG$UXMaPiYk2I$dQ^$UCxHg|6T!P_yu1w)?2;!sp=tFp~e=MZi zdp*bHnylA=WZzr#&)lDvwx5rScQ$*5^p!;~wpDn);$gTB`?^q(a{|iaPZ{9R@>?^^ zAbG>#1N>M$q6G`U*rpwk+gjJUReT-_r?^-hR_crX_D2|Sf!063&Ig^o_wx2AP zq83?JOFN%U!*-Uj%;~@m6_2Y$cF#Si=?&*X0cF~SS4GE(r=*t+1hyyna-l}qNxG8i z=^RT8&R+NzPwvW+R27Hu)OKp3!I=H4S~U`SV7NF;!XoTc>h(w#h4wnLb*HJW?UyX; zQj^1&riwxcv$v+Dw;V6dQI$;Zg%3*!n@_l3o9X7CqQK+Zu0gPqiv&Mb18he@U9+@_ zc7-Z?zKWC8%C9KML!GMrFoe)FExn0`mM)uJs*AS-UA@?8F2`HEl~HH1jW39nCvtot z7p5D~b}l7yDNag-Y1N5<2i!SZR^qE*(mm+Oa?~FRQt8m<_4p6lfgOANHJ^nDMwfro zTdcGzJjQG&-0|rT~XE`PhAa<|?sq_=#_q`0PXPc>b;CL!)4jpB!$>;TR zX8aRQYS~ZzpueYVtTsuqzH_kndXzSUI?Rk9WbOXY0czzVo|>_Bx8)FpN6+plZd~DR z@~eON3*7I>nV0HOlqTjA7&Sy%M)i01ACEtF^-c^|9$3{n4BFXz6B^n{ncUIF^HF7c zE?io2DT6X+Z^ku{;(DMpc;#>l5CUeO8muakx1 z^$HoN>fOrOjNxFzpo2@~KC22z-nr(5Do;vsto2QgBQK_wc0!&Q-RSL$6>xRo2=1Lx z_aO5i-l+cCe|z&p(nomy@z);mEp)|<;lj5jvD`)1V7?>Xkn^f2&Lc{HV9LVl#%ci3 z>tcX7xE(YyQlt>>?;+cbr(Tg0r{6TWQ=U9;Aqz`Bj3aaMh22#$@oqvX}s`;Vm~?H<3$ z*49}cl<#-3uAKV@#%z)(q6To^vfvF{K=N11g&hKlyi%>l7ke|=f=~1p3AR?#{0)Xs zle^>fhllkOHEq;8Rz}ZJ9=exv#6%^L`go(u?>=2<{VL*9THO`BFUH*4*U@NFbncIG zF2NI5T9J7w?VNE=Gka*#th!Ky6b2f(it6Y#TRN~CjO)9Yt6ip5QMEOkCOoYDaBJo8 z{l3V^MMs%46%-q{BUYK6&y?Jm28lJ7G4qG*CF)ugS&m1}54Kl1VB1gmQxx)tb(7Oh zhttX}z6bTI46i?YU|1Ek>gP0em2=D3zG7!-qrc_tI;3nHN2z=-ob6$Dqb9U~S|xOg z*L9w9Y$;+H5PEOB1B|Nmjj_R_ldbaarX^{qQ=8L!A8v2oiZREW8Xt>xPg3&eE`KP- z-K@4Ap>yl_IXp{@TT7Ti;O`6B*lHZ6#E|S=1@i~!m`&D2MHF|w%38nat(_3XkRoAx z8Hxb}6LjRnwtUF7XZ(jRGX)=);eUu z<=6HKY=KIRO~{IyW?jq_wx=@RTI>U>oUm8&RwU_366X$-?d_w*H=#Z(1ShB4BpCI1hG2D+HLK}M!NT{$h;!p>~gP;r!^u%OWyEkp-u+LGoU4ZK%s_I z0rHOQ>hUp@?OkvSo*wI6)I7m`lO8g%uHPu5!QO%%1e+H7nm9Es(bf$Z2-le$kcvdY7pNCk=Cn+omj3 zoPoOk>E%ybp&Q;rl)%b`jOVXkoMoIT>2yZt)cmbhpNh_Qmr3_{6A6dDdKUf%Q#4m;?l%XeJ zH!EA`y7#Z`a+flcZeJ>P5OOG_{NMq5~P&;25&Zm zF`-(7Y4tBJsfz*Gm_jsugsb!1430C#R3k5x5|##H`(-S7`Hdf#{dpvps(v7mC2>~# z?Q4H!=UGwNBh|GFotp?rzomcVE6+EpvvO+j{P~`2!MNm>S;3r(hD7A8u6}09RM>Fe zOQ+`z+qkjUGcVrdR)W@6Hz+ScY%f;=sZ9|CaGE+wbk9VpY+=DU#U)sie|k zY{Fh0>QMQ51d$jCoGf%+YmFoO6(1PTMCi7ocIpZ#;9XT|t&pRpIlo!R%X$HUfkOzb zGBM%6(CO@T2**Dx<<%Bu6)7YI@3=Y({J0mwET^Og}LQK7@#jYJ-!WfD;`= z&-zR9uXZ}5XOE4^y97pEcPE8c{<&87yDv2FdbBs5zw9Klodh>#_r8s^%gZx2By_IX zhPZT8vLT^v$pfzX%GrIJN)+)+N$l9F_59J4#&Az$V|A^Njzz3Fr2&tRkoMt_{{HgQ z5|j$;6@L0<(XMp)x6fc}^SlpvLNz0uO4|vL7Nd=Ow0NldHA#0Mpqjhjd?Yc?*Kt&y zOb=z}*okAgw!`&aJ4u7`5@os={I`03y;%zT-w@2wQs%KT#1 zWfm#;g^@?COz_u~WQod!U&NYO^owP0rC$s-#)*n7I4b%(k&L74es02Ds#~T+mG$%Q z-!@aswlVtjM%kwuBz@Wd->|t$_1Q+%mft{IE`Avn_J1_YIq;=kiT1oO&7;p^d)W9l z+KRwR<^v_maxe4ihLGjAtidQb0G|A?^e}dEemzic7>mc^H{n3kY zmQBc_<`PY!{(Ri^R`hR7R6bU*Hcy4nw_!nt{)5%Okfk<%7xQ4EkNk(F(=V#M4fJn1 z7{Wyz6X@9|$AqB-dkBVyr|xBEqjiJ(lCln3${raDa}>Yz1pkr;KM5 z@-ImtaebG&lGr#zA!!E6jXx=`)xT61Qv2^op1DQxOwi0r3chhGFQxf@%v)uhzKJ?X z@tuSlXQj(5H6!7t+fcX5G(W*sIQ~t^PnV-Wn>Keoykx(XVlUa0W%&Jqhi*q&S12C( zmg1o+*O|;yG8v1L!MhDm&+b4PS7E+L3t67YnZ^L(Obr7I>&r<+i|w3>Frz|}P=}b1 z`YWAvD?Bq{6R+$$D}67pEvW3=p-||F>oS!L{RxKAs}6bRH*5ANhqHD45mK%5$+$dSYm?LciOE9xF%zf~cxJ%Bl zgZZ=0f%h`=bln;S&3MK_jkF*Acs6M-8*e*^FG*g{Sy~$*X$#_J9(jiY5@UCYs9>=q zmf)QDt{ccVut41{(?TA6i(xKTE?Q$K!5}GVb}(0#!pMwG&{J_97HtT)%FxBFWJDa! z6S@c~E`p9k8mzNsD~TKJ;IipRR)$j&VhssPiK#u<%rJ9HJGYX{7cXPic#;E0eTsN` zlP^7IkAwNmzW85G@VMtzJ^rE+QEl9%)4?5wU4%I6d}^>tgS`F~Bb{!mRR+38t)b=S zJl^kDwD_TO9+h>aBNE^7dky*?`U6j)b@-RBgC;pAsP*BTJ5m(&w~5Csd5*8){Rao{ zl!jgN5pP_tQj%YKjADC(Vz|2eDUGPH_|3edhALD;y z;(uh~?`QmvP5h5r&-Se`@oOaB!u?j_0l7{ei?ePc)(o2_vXg9eX_xk-8i3)E{)IE~ z3=^(F_zSO>Q*`jp94xxg6gg|zJZqhw^e=9w50=Pg;;ZgIW9u6dPO;Su2xsW-XFlD9 zejnuh#HkobE+1sFf-&fW(=5Ic8AhJbs>SaGorS%)&!XTS=BNQs$ZMbDGw)`9{K9OH zU$pl9FHQU}Tk&t2_%~bezcTT^GV$__fnS?=1cr98g6Wo8Kz?KFXBSi)ngf2LBN+n+ zSM~?XWy_tOtUKaZYo$=dZvu{`smhadyAq;std5M#WXDXmk0^b=OL>Y3fpHumU zd4N?w`Q9p>POg`yiR&vVe(qWw+as-l`E523fU$avH+>SZeo$p((?^$su*Lr{O0?}JJ9dLl#jh=DHbbt zcyR`pW&Whgy9=A9Dk!(ma@tj>1`{duj;_LTOD(7ZeZh&eQcGxzma6L z3H_NLBa$?u*^Efu50z(e9zok!!7SYWw5io-^O&yZLx8;wHsPV@308rH6_#c9h_Feck+qJ5O*7xQk3#lIKoK>wxS^o^^SI z;>7^=>gcRt*Wd4C#|{|Qc=$P4r{yM#l3&7277h+9kc@a9Ya3a4^MzL~WwP8A`Z;<~ z&&2hd$Lhf~LJC3XDF}3)Y;-(tRtgm}=jU|HcH!q}Xz^6xh_IZ|2%5MOxbGMP6xUA3 zX`(=rh`KVv(^qDAlV6#^X>Lg~l&)aEut{0jijwi&(Rttj9^SP!+ze9i`4&hT?KLdn;T6%=2iw-!A9T4!>i#&F?T8 zG3&Q;7g0-gsFtLxiY;@cZ~4C8rsm3m@9VizT@8)Wo*?JSE;(0r%iEYy5c4+Xut>dK zp#GMVrR^7VN}WkckG{*+(9R@*&g7Py9X6Bl2g&5H_lmnMc{`0zatY}|Vt4xZrzND3 zRLvJ8B8$hQ518B&8}6`zi;SsSU3xJ^$Q`m`r>*euwiwA5hHrwRy`sU(aclH31Rgj$ zU0~~zk_es8@=(^C8Bwl&>d>!G;-A?kCh^bA)qXEpTr)x0;+mPOeN(jf5%!D8yfSmO zt3-=KW{;T6Au|`A)Z`)vx>jGzT)114%OU7m-7s_E^!IkaOxCG)#pHgM8BxjAekNKR zFB$%fXz{#c_&uV<^^)N$THB1_pJ{ENG{M8;n>vkw^PBpIfgfyY4+hR^^1)Lqr|E#q1C?O>HClqW3Sxm)8!+Y_L;rZc|Z*o(J5;yZ6)6_~ZX z-otZX`^3Hu@?4_x3^z1$z>!THASV^H-FC~KDnq3ZzOHm$+~MJM26)Qh_J>Y4Z8fg!n&5iq|E$GMaIq=n0-qcCAn0JZXY~CfZ(!5LLKJzY- zht2Cl9x^W$x!=4?x3ix7s1z zG4byxJ1A@(O>@OxOuE0c&Lw{}@qcZ_|INhzt<~P~cN33*q4UZWDpzSizS~eGUw@sc_kiF1eF^n(!oDrxiPe z0iG6_V(1EUep=I!IKo;8*GWb8F433{*3*5H0B`c3! z^kIvY>0U~yvlx8Dk{&FOsEe7^TWSkhbdB~gzidRCr+Y& z?MkMEjz&x>o|e4wF%%456*-&zLdq-h@}q*=|G3D~;nAz%BtEGUqpTsBngqL@W=V>J z4`kS>K0L#Xv*cu?b46c9I#dQ_8_LzjZK3>*g2g?SJ zgag*?k&qm0lWX&c_~Pq{Kf;WdzZ<+j8r@qAg}Gndb@7bRj$6rggzwPef9e77I0nGS zF#!H42LOJ8t-$-9YVv|(s!+HH;Z5!<$55TT+V!&i`IsFs_x`D5bE85HBpIgUz!<~6 zeDuwUSBn zDxYThjKe9ZM2!0%WIr7t9_W|$BlZy_mV8$3kI2C~Uz+|Td)bru?r8Rc@7hKpJ}01V zi|8sjHSCpX{_jW$dlDyH5Dy5)@W7K%_qByGbs%EgDG3h#7feB1|tn1QWPCIpOfpZF}`jlg6EcWf&JX8?BaEx|59f z7Q_wQ;+xYD+@&hnUXvd#B>NY$t@Eooc?kjeQORdep0kNpd;?*T3BM-2I7adPb@_di zZ6tl2!68K>>2L>T1FJRNGHDd^wICB`&?$@@_|g^QZWWvz`gAhK<}6pPO2H#G?xs=a z{7rf6U#7hEuU2{O-zNUwt@!_#`2V!ZbMKn?cPEqQo{r@?N07iMo|Ezsi*x4W(O??op;XocD>MPst6TC-it6&P!OAF{4$5gh?_h_@=giMMv-$RgkxA`HB?g zhTu6aU@#9R&`xWjj3V$H*1$Su|MrkFBCVp?V6~P%3%DEC$}GjV7d@YVGiD!}YwJ-| zq!C(MkA}TzA=IQ}@aI@dx`i5h!Fy7i=aV?wOd1EO<^Ts3`Z)YKp2H_Vc7yFw#2%Sg zvq@19FR*;ATQcv>`-wEeF(iuc=R`=MeAG1)og_7>sNPxtY3iU!gh7fVE<`k{HbqXR z-^CMJB6tN7!6HZm6H+3;Pw)Zx3?d~r7nkF6l(jm_tB7(6qO6rs@DpqeZ<14`fSBQx zm+G=7*4>Vbx~Dr?YGb))Bk{-^^3FNP@4rb4@nVboj=P}y%BB9={kX5b&+lImi{#np zG)o>V{Iu#d$mGMBOuVH~n&MA^jeL~iwhHjXO|bwE!VPJ$*8;pp0>sUYTwHR&WKx!I z1Y3^pW}=sEdD2HM%t&#u$j0*`!V4)Z*Y;A@g2A2dv4++heHXEbrDO4pWc=K)>*xW7 z=+oe_D0}vFHmqa+t>EW_7kLzAY|;vpm|j~#qbI9mk?ecPB1m{Po-yQiTlJ&>Xa}X( zr4p>o=JaIYi!@zd(K1~l%8*WoO}M2Z6{(23ZgYGQR9v{9*+^`EBjPlaK9jYA?`R<< zCcdAEwWtE(nIfyQQS>aZv{4FeajY{DYZBoF@u%xjDiNlgVz$RIcjlO_;tXPTaxr7l zJ|=AyG(h@MVz#H^ZGx`G0-phf?TKMeF{d$RoEK@9P%;g9eaS*zt9W2b~1lR01gRq^X-o2n^S43$?1$|8u_9KBaCrhlBF_5Eyvw@gs%JhbpO_@W~eCwvz)9^#jj{Et;Siu61@a) z55?_?xdS?4e`S8D-|zSP*t~!iocFJ_Ywc1mF-EV}tAyCop1RQ9QNG7!vu%1c>s7d~ z7^f!Uu?RDuvf#EsUBRWpxqT}6(6hVtDK|N*oBq|-*mG=JeV(0tQQBmm_zg^a1dDb{$(AwrrxVONRdJcMQTdZ?9?N$h>1)t+Bt+dt`Gx|#1U&>Vvw>o8-?^&HC zsvnkXo-V2Bmpl;LhU4`+_#K;uUx1AkyOXiKdvG1Jyq;KNs}bSz4fg4@c$`@JW$ZeZ zywO|JyxE(UrtA{i-x(hIyPzaNd{)5O>`tRwfv=Nu}<55dL2=RNWwUeFuph9 z`#vW zHrCr5tXqj{qw+J}Ucgyh5j`=`fDU?z$-JBr5J_b|8IsotJ>NxnVP7)ymOLIUXZoIzl)cQaYuR*)m4`oPUr z5+<}*`xR6xA$|m-FhRxQU}&ilxsrde&&I2Bguett8{JOwj%oTe>M; zkDJ1hO=0P#2reTitx|WVl`ZJDO>UD?{J`+BO7TF&5zGs6kf zT!{|Li*DihAl|O2PBNTxYB(1|Hn^k%s6V6kY!e{nh#8ziK|BSt;E4q7QZQQu*CN4 zFK_52X=^ieEw;CSqu^nZT)`rd$ANb4W;v$xX7sX5IiH42e6KXpe^j|?Chw6ol)u|) zI{&2Lm36@1P3mj$K9f4{sBS zq7H(b+6)PPPi5)g``)jX(kagi($V;#jbf`cj zu@2-tT2QQt>iPxTvk+rVnG$|suOqE#d}h9wE!U^Ei4#|5EA{F8+fyIp-`@IB{M%Q* zn1B20kMQr5`p@}yYQ55qUlKp;>fW8H;JSwO#Vdq^mR%lxy(~m|pDB8!ecntmvO2K5jhkyO6{^b~4BnGUezdiw#ROR&tf-YD`eqV1l}V znY1(A+IeZ;IWD*v8OT`CD*Eo(v`2<|jWoc7@#f+|qJ^No9o61p0|5Luf$cG{yR|F# z#E}kIYlB-bA>9f)LR%8P4P}C%Pl~efxngxTCAi&c^;ePOpkfE_#A*@q2(f|qVZ-?0 z3oo=BP)q>~@dPB)g?@5Xt#>cF+6Gwsctuxw#vcF`-Z2>xa# zSC`| z9RJD2_(||Z1f!<-#(N9(*W2-~&;jDT%lGrf^nc!1zCX33k2?%;2Tbr4)?Z(tg>7!T zHTFIFtxm-E>q4us%Hx32Eaa6(ACxCg$G%UH@mHaFT4S%{`!#$w`Rkm*>-Cq@$y;eQ zRYl+(17BvPF3g7!0*(u~Q7bDuhELkz5`F9d6O27ixJ?9)_RPfpd6Y`>0>Z;kMeIN2$h z>X%|ts+MG@>InC>M)+r(?6kQ4EmTHZ84;>k6@$c`#zg;>(Bw4D2PUCuDQPvY$qTxl z%afeD11*F5M(?4xr|Yw>=38_z&5`l(70#YV%s2*&-shSk&9i=WLXVGej1Siye?1-* z=6+bC@cIWDpra&S;<2eBqKNKN0onJO-q<(~l6@JQg4J)~=8ZH%X?Ktpkbx_{^KDWcFhQ>wk zyp|^`;`XWJLPrVZW}t;pN>9h+Mjx{H=3{n2*KfxZv(>@5;T8|1;s0{Q*m`rL1+%z z97*?Z#KF=!;`Ow|3xjMmG;a4M+(3*YF+Uq;zzZ#k%aw7~u3hUzU*%QV_S0qT!Lfs| zafiRd=Y{q#bQSjE?jli#9g6M1ZQv~nZ-0xQF@4Uh&Yt7B)ve@X2?f0VL7)Zsa9g)} zC@@FHm^@()T~H;pB%JP6cK~vi2ILMB>2#aEtI#!nF7;{0o}af1VL)wvabP=m@YlE* z+ZEm5PPgx{?EIXPHiam zyl&tz!r(=7^V$CSnPhk%j{}6qvrYM!q%C`e>!pLWFuXi$K}jti6Fp+FMxMn`a*Uy* z-fW6r51|~2H5OLGnaH+>snz(A&o9yVc{%zT(xcRh;V1sf5?ri@m+S<$I-ssJr*Y^K zT3>L^SKwsSJ58@lV01NS)6tZTXn4vA{D6IjHzyfyMILWKu6drHX3X>1rm?uyI?|e9 z$6@Mm_&>!D8nO|{Ye>fyY3lZ0nLL`z%kV+cJSu0OGM`}})M~*G*yM;GU7IGI_~DUe zR?OS3vmjwaMPe`_vmo&+v0%6m9m3CX7;|1mR0nVxZW{s*64PaR7BtSu8;OK9Fzof* znx|%espNnyguy0BSAyt5d9cHL1EF<|Ei|;5%l@>#Hrq@-NYhpFU> z-d+tCmg0VXELOOme{W+3nmuP)wz|V6>1=hY*uNC>gh=fBDIRh2E&fj z$q=?l#3jk6J(-IDy@mZGXu7gUP2JU&Sw@diZDlVyHnAN8eWx5f#%l$A`RSk&E$Ied zx3IHP_FcVpNNqPcZHyT1T3j zPMT&vyvWv>;$&l}qlx!P*b%>-B)?58eH*ksUm+PkA9kx@By;23b!sXrMjz+So!v;n!j-atbO3>MpJPHxmARl@tw?q ziZrU)tS*&2xS;VO!sKnDyCAEE!v`L7a6z6p@STQ;8OQhhO!O&iC}fNbZ8)~m#A_+Q zyq}STVD6K-c-sYUa-fZ$;2o{9@mQfcJ?(@?vS60CB4V2yuIrm7y!t-G6`AY`i~a?d z!%}$)jQ#3XJ|*hD=0zuq*o+4ViAIAAqq;xIoa~vq08}`z%}~FRwf`vP;>CH=Tn7uC zLS4qRxRBCL@OZjd1e@?6XK;Q^hg((-82a)gFY)8I#U^u-w{D?d|B3CyZCbx>f)_RX ziTdGGV}8MANsfSgQPmO@OpFq@x=TRGWtaGk1Qj6&)TAPF_?w2m)9C$TWL&L zMg7dcl(j-g1Y|Ps$$n6n4$0Op>(KX{)NoyBwtiy*xP<|CCV zA)C~9lxgF;G___Mo_yp!$MeE}n_SoayJ+h3Muqz|q56E2hCXjc2jr;Hlkv>=%1zeI zKs@29Eb;O&+OD~q!-L{Jrg~7~Q|RxESsD7f^{i>(klA11u-O&iG_$9|j;u;YHc>+h zp$J!ITiy^(i;IXs{%*EU-p_OUup-;IbWqezvP2X0PNGuuT^;HX zZl}}CT2us*PSw>vWw{i(R2}&?>ooY);`SqTWf-0s`Ir=|MNP>3K9J;BB`HKF78gvX zD#EEkR+}PiIM?nCQ$3>SCguM!P8jK6W5TCuYXM0QQsmooAQ+(O&d*j9L~RU5-?9?7 zazqWpItZV_yjbik2H&>$a4K%0kxf#Ji(H$MYOdp<0x!v~Rr8zbB+nSbUTY(J4db`K zR!vpwBs26x?G8*@>EVK(3BJ=*kun~^?AV_$PZNe##tIGtoI&Ad)K)a8xKC6%sdred#Ews*{|Um%+0{X5^02Fm*!7b3f zNuiU#Q zNwJwvXdM^-M7e`!2|D^5>mc<%(Wo7ORX2K`3sV0#05=){&nLi21Kj2t z-~s^dHUO6a@MQyVEdXCJ0Cxg#j{&$JfO`$V*8#ZC06Yu8{RZIs06bs-ehR>Y2H+0> zJY@C@0ADo#=}rPXYyjE;c*Fqo1MoEiurUCS8h|YUc+3Fo48YgTZUEpL2H;Qt9yb6H z08f~$4#1NJ;5-1nX#kc3@GS#yJpfOcjSRrI4Zv3c_>KYiHULi>fL8!`#%xmno;3h( z0q~pw_$L6*o4j5kzzYVT1i*_XuLH2!01N`~lF91;ylnD10N*tLdjar018@KUuNZ)Z z0K96lHUQr@0A~X5ngO^FfY%Mc)d2j!0Nf714^74e;72Co0`Ox4@H_x(48ZFEykP)- z3BXSbz&il^)BvQq2=FrlPz2!TCZ7WE3$slD_@x2Z6o5Akz%~H<%A7v{__YC80Kjj| z=>mY?nr#ZeTLxepfZv(30|0LufU5xby#ZJSz#k02-2nX206Yl5pA5ja0Qj>3_$~nN zn2Za+Ukt$80Q}XQ3;_6>IT>^l;O{2m0`Lz5Fdcw@8h}jz_?OwH0Q}nk>;}Mp%*gRR-W!0IV}2A~MQbq1gW!1V@TLjZ0t z02>2vqXF0yfSU}!Hvh-oo50s}^pF2D=ghfF?#*(ONP>_A;mW=t2x5sfYA1-=B?vbX zTdh&FwA$KgD@CbN6s@+Z+M=i`t(KysmWLKqEvl`m@|(}hoO33*+NaO+{XYNi_x1Yz z_0>=2{rSw9ne&Gf#M5Eu>uq)B*n|1s1_-8AW+nl6z_o| zMN)hWid0GQB`6w8iVL7ZY z00q3ks4F&tLXi}2ffx<2+5<%gV6!k&jD=C_S!cS7P0foP$=md%&Nzn%s!IEMq zD8eMg7*JG{6w^RaNm4umif~D>6ckk?#mk_mDk-*sB2rR(0E#F{aRd}elHv>~>Pw2N zplBc|eg(xQQ&9qs9gXLz32gVB5`S4&ZqLX7EbZL`V7w0;!R#*C?!sPsN(RdIK^g7@;*LTwg=1hWM;1*+behv0?V;ZGFxejFZLcWXD|+W&Nw!z=E`Md& zUfDbSaM>O%+xfRWs>t>#az#Qsc))cR?pX!m`xV%yi`XXraSnrHHFs--ViD7q*#)+2 zIjYL}RF%u|JF`c~_6XU2kJ%$-d!%gtgW02Gdz5Uy&+OG?do^!ARhRA6z3nw*dkt@U zv}}*|w%3&HHNEY%WP2@dyIZ!qz3sJSdu?xfjBJnbw#Ul$SZ{lrY>&g@8!%0%{QBIi2p1wlgoBj2%=)Ys*-z7zu|Hi10z3f6fL!~!m zAWnyWGe6?#&;Dwjf$VRnSN{CHeUU%W+(oPee#A3aep%-);tek!ulmE{X(C>^g#T;j zHbR`6hyAVi5Z{(hJ50p+cl{^(4en=RIL~4W+gL>L_?4@< zaq9o3^fQd~7gD{u5p6K>ZVqPB@qt3)Z)V0{wlm)OgL0}gzv8i&{pyFs_l(4RAM5#$ zHvA^sQ;6k0M$k>VTqMv|RRW(G;bru(L^NT~)*aRg#+x*-6+Aq{^+CkrQjld1fk*Ug z%de{NRzYzb?2PJj5QcdJXBpRtE>2anS zsV4C_No7+->93V3ayElsiU9z3^?_paO!pVsly+4J8(~3Jt7So$BA}u!!$_NEapWTL%{^YC@y2 zH~oARPiH+@_Nr1GO{6`w@^8AbpHqt{>#2ZmkY>`T;wip5rJnAGC%_NK!4LJgAK;It z0ys9rp-xHH<2`BkG@Zvw*L~`4&o@Hye5t^z8nK-N?d}r_+jtuu0^2+%DWq77^1|U~ z-$fJYAH;TI4l|2tXI_BMrP`Uh%9WRuRd>mO*pAF@%}PF(-7ic2$p3&G#x zd>IY2VYZ#PzP4^D?Ws{8m;K%we@A*^eSN`}K-W{V`0I`_-D!iI7Y@H_o=r8Od?%2Y zW{O(0fok2)ifChvLlnY(!K}LJHJ;Dp1|q9}d%u!~dPU4N`hG)R5%9-*zY@sM*so-m z^o6?Tp>zsyFJPrCw^q%N*Qy!bYuQG!9UvwJ-tC_!&Yr;{0n#@RV1Ap}SU$F~ciK&4 zdlPSarfkoY?N*k4Q`z3s`}k(Ey_voauS4xNw$^0tj1@0ttGrOpQn8AAL9F6dh*jL` zGOIY=@BeNZEB`bNm3>pm4)Zd5VYoZg>1pU~Js<=xW|ZX6P-V7(23_G6y-8c$OV-e$ z%@+6@R`d?zibe0Szm{9CRd{AM~X-=xcG%H~gSp&{!++UwTY|0?<_? zyN40tE~S5qzlMT!<1M;!k_CPBSMYoH&fm2HEttbZvAp&_8rr{5UqgG0FS717-K%-@4WJ zc4Gb6eNKUGFbFdDgMp3o9jw0G9pJamfyjMcF@9r0*f{RwcG#eX54iLMs-P+0PwO(L z#WtlE3wbUm?6oK;H8Zl3!?q*GEaqo0^}**fQlclG#?VQtz|imr?X~fK{+PXT<8DpM z5^EKN*xnD5PxE%Fq9j@-UuYjY_&2%PTldVYSngZift{WH0f}^gTM8DIiSe5m*ki(v zpU*~iF;#TRiVBP92vF!wXICEP^-hH{a~PX!-Hr9#5SAfD%xxQB`r|{1nBbU(4Jxc( zHG0T=>Apxy7$3wBQ2Ak?iuI0F<~=d^{eeF#e{l@^t@@PS`e^vNF)j7xqhW7-T5?#d zo)8W8-JX)G$9@B1UxL`VJU0A+chYHQQ~Kz!wi{DoA0DfZF(q1zciQ2}c>pU@u-l5w z&lNaP(fd{O*Ub6br9}s*LQHn>t#HNj4Nd$dmo=150EmUyWalV4UB#HddBksNME3T* z9>>WKF1l1j?DZ1ohJQoS4&V5Tv$EC{i)~2% z@T4cpc;~OoPeEB583ZdfcHPR(Pw`xa99eT}2Irx=v*;i9CVll`nw-S_s;>1l3SrX= zQzk?HRy@4_YxHF$L?yxQZDwDVZ7R{q*a+L-NgPKs_ZI1TiokbkP#~OxA7P6qeT)%5 z(F-6*W2FpGX#^G^?4vDg?F#?H1RXmB6<>joqv&qgD%PNO{fJR()+sQ0+t^!mo~zKl ziPfFKx>W-DCkOk)I*NR%(kAsCtVh*2)e>vr9z?$OGW%kgbKO9Bt{dn*7Y>r`gS_p7 zW&2=n`w-ba#M_=H+w;8b`LaFV+dfpb5B0VWlkLO2?ZajJaBq8oY%lP(kC5#nyzL`p z`$%uQN49&s?S-+6jW8`>aywe#g z+sAs_$I13_-uCgbeZ05*G1>l@w|#?_Nm_am&o=KZ~HXaKF!r-JK9pl(eQ00?rA!)b5GNmeWxDtVVZTiDI;7Jrpu-P$`G3O6 zf76lBE??1#TWj*uW{Y$un)GCb2*OFp~LM1kY*sL}W{3e)PFMBFMZm}*y%Wv+%k64_cIq)kdmxEnfK|xlt zy7Ogq7eo|drx%92H)y=#f;742^nNOL1q-i0+C20Mw3VqqTbX*XmFWsL?^?2zsU@4s zB5KKI7qtW*!QQDyeONWw%Cvr4nQF3?sX`kJw)!sLupZCV?-lX!RbS8YZ34!_(y=1H z0bA;2-78todRdhS-O8@%CYbsB;uW`b#D7OV+|OmL^UYH5`z=rZe^HJbx-~w4cUV0t zyF1IG?~@7!%ZV>{=L3OX+I2Q*I03EWAGwdBr4?TvL{2lzu1Zrs9GzdX~`lQ z4YZ7HG_{d3nuRQOnFcA_eWVKUwZnEq{4OZdN)Zuny>h&*EagjH@xCn=?^71VtV|icW@WggJhTkqP=@zK8NQaw@HHy~W@Y%`p=B_A6;k|@=_}cV zlG=Rk#-ER~w#91AEY_zYcXi4vy}sO#^=+uHS-igBkGrc;3|=6PJ=`GrR6Yx)WvZC1tnTY&7@OsI0-QX9(lE4ZaQ+hsq_ zW?|nKW4{p9_uf{Fx#`~@9KTInXV$9-~S^1FLK|DMhO1pt*iVF!kyoUs zuSKlBEN(XZ#+c9hqQD;d4Eq$eHAGpB3dlW;a9t>GJpj4sE5}Qmdz#auGPKZo3@OQE=LC)1NW`#8u^&- zfSMckvWnvy_d*Sex{uPI&+xP2o(Sg4NZ}SXd&~R$R>y3g-vD0!lU-2V>f}J9)*&8j zS6zeOtMCM=@WCB;QFRAf`_pdW7TW;o3jD%MG_jaTD{h8b`;^( z_i7?+tL<7WU6oCUu%l2#t8Ez!;51=&Wm%D>Zf@^R7lmKzdyT-SX5I3$4cPHY?3Tbk zeq$**ZZ-Cc2yr03;T792B({x9b6Mzhuce4y(-ztkektp24i}1S=PR-I3M49?6RIfI zmp>s9N$UHE!M?X5&IajOBI4~3w*0LvmooyMyo5N#SRbUtwsL7~#pjDG{Pha)bVW6u zw#+w_`W8$2Q!F3&>I^RqqRFszBIq}r4R&ef$Fa3?Z(xXr5xib1qMT9sH_Q3{f-$U3 z%;{*n4|bVNutg*3g4t7v4Jj3pR7AN8DRmI;x z#Z!ewH@C>t_vw(vadVG;wX(aaYJOFu+?r2XKU`+(2UsunGuIEW?{++_wLTWRb3-ho zhS0^;Ay`F3K#%HaE|~T2IOyLR$VFxM-Z#EOzrc>fk66p}C-66nS&6XDj;9a4cM|r;X_3bHb1v!?rO+i7Gd?S?+#jAjg5p;MIn6cArUoK*m)r=Q)cT++_umF zs?(??v-uJi{l4RCrYO=Yg z7L+a!yWR9}ac#N%@b=2$1|snZ6n6~t-aw@AZ`Z(E7O`rXJyYR5?-b@IaY!*7;*L{! zY&tah3={7r#OT)usLUH&bJ&%FzIGRDP*Cz2(NB=44m-f>x^m((^7D^pyq}LeE8Cy- zwm&D^0odF&jM`J#da%rQw0&W_#y}#zqD`E!Em?c#kyxWIeuTX@do)-7?s#zoT(Vm& zo&@R({=w?A0T%J)NQ*xD+Kjod9*XSo@NY*p>(aIvh8@o6KXzS^l8}^8C#hZv49rMF z1ytTUP1g!j5XwJ;(0ba(s&^S(G<0NMF~kUHkI`1T_^95k3)(%B&;Qk1b!!9r-X5hK zMlTMlH!JWAK>QzF4B;LtUy8LuBf1-%3X5RK9X6nVkEGJ!4AFrMy{z%g;OGgmN9w<- zd?7{s$MzP2pSmrCy{u?>H{xkv#9tqUPjK|)>ky=}Tz$kD(%P~9X0afRNq;6&tzlLR zYQSV`Cc85^n8_!s#Z=B`F}E_g&$`p>n0%GV_o?(lC*wYd^Fvptv>+T0M_r3Q5g&+tPWUDv5DiTHCV?K6 z2x)GlG7x>42>KtH%t-?4?c|-*`XCv+@kR=iVO)JkXLJ3z^(|;hV+hx50^#?XK=_@e zAYILFHMO9SmiMwOD6u7!r)5jf^kOofX=XAkeFaz>&-3@UZSYbkE=5|3ySoG^?(Xgo zDDF@~fkJVDySo$#4#hPPym)bU_c#6h-{;AGW_D(7_MW@vZnHbHd(BBhHz`70n~F4< zm10tj;AxWDui7-UY`zY{ z6@TAbrmr#u?C$VrFRGk0gy^LVZn`S4n4jY^_`~O+Ds_8DV%v?u=7CNqdlro-iZz&< z$OIzr04Gffx0Ineh38pvJ6zG%mUM@x=jqY0E*nae%AT*I3OVb)4+sSJ&m(b77-n#- z1{?nU6JZFf%V*rYrN+oE=0J5nc-8)U>P_3P$RT2W6XD)XT;beVBeQcyqUq%^ql#6I=zD_cgdQRCZA|(LJGHI6hv~+hjVI2S!w9Gi-WqA|!6nLy^`4d1XqepM7f5n9~a@@&M$Xuk0 zs4Ofh)E%q-aD7y@S)}*R1vOf@01^^X{i26vpTtB~vGkrfpVs~)r~1VVW4krJggk#N zN%F}R1qHqNO-sS%4IZLE{;vB34+(}q3B)Za z??1;}75TxHN5Yb7L?{-9XzxZv?^FWZ>87_cO&tJ4@65;KdvbXz$-3;Kh8m^CMHdvQ zaq=l;Mo+Y-h;=yW!s8TGB&6QSc?c+SiH11$d-88pULV=kqMP-Lfh4nGP>lv4?x!-G>1=9U~YPEX7tfT0#`n^HqwQm|4uY zc7vpLgMhO9HM>3rB1bw(Ol#8mcrJgB6K zM<8^aSd$PkN~fwqCIv&9(Jr2HrN|Q#{vZ)m!u($p&a_U*qZPfY?K@f(YbjQY{W9?( zBXtjk(=TxHQ4a{tpZn63B9~}2A%UpSQn-(!`Xrp6E2*z-+{`EsP)Vs0V!UAVWh%8Y z2_1R@SHQO`j7C2?B+%8q(CsRSVAKJ?~Ub*Ipxd>)-EE`*lYjFS1>K3LHbYv zM~362BhcW&nuT03MLJ<>noYRhjc}kcuN&@2r~)$-C}EAL({BGMSzfZ|mo-u4SL+05 zI$OVHJ{QQp_adk>#f+0#`cD*AQj}w@^Ukor07htOq8BmvA6J~(2ggW4_C+Q+SqMR0 z%r;YgLGHE}a~A~4VMo79B?ST`a@Z-CexC#-Nl2Ue{&t92=S3^Jn`bs5l|ef%AGLWa z0xRLkPyJK&in{<3Y`sBL`Tf44j(U9kr`5)1sS5zN$#mvdyIvdaI#?HCIrL2>!Rh>m zrML-cf|5P!uY^fGbE7`^O?zljCv)Ak1Xp+u&k#`ap8JG;0g0cqb_nOd*b#8Y4(;b8%`E0$TG1F z26<13CSlIpnU_>wByHoFy+#DCa<(F!Fczx7& zL4>)Ba{1Bdw+&go|E;%FG4avBPvVek6oGHa9Q(g_sUE?|gnU77zP($=R~ve_#;sQQ zp`TUW@(!=Fd-v|6SoRubWQDg__C{1>73cly&i;~l6&|VeO0@(2C{LNY%q~IVLa%Rf zXDm{}#QssM)|Y7cbzY5bOO}tntbXx<$fw&s|Iw1Pw4}*Tef$ulV7B&_;VPvPgi-3C zTv)Ydp)YR9OXJIaN0$(s`k~+AeZod+hMB(fR)WSp{b(a7*M&WyJk>8`s8Yl1vgwJC zL3=SU|D5bWfFXw6J9t=$TKPUW;{+>B^VxL|g1d7s5iU+^81B|qfekRWbo>CA%>t4$ z{7f+*(h$E|1Y4=xeZem9W3(Z_Tnzpgpm1uyK!Ii?WBF=|2{j;SSh34(R2n6iSIzq) z(PZ1WMFYB%isDanC-wQd*S*;)YlaLvnzv%^xub`?j7@M{1#&Bn8sWiPX|ZUtb48j! z^IBDu*r}8yW$LA}ATImw9|~OL=r)`9@Xmdx@Giqrw{b9D-lKEM$Pj&ZVq>Ka333>+ zV3~?}7tA-#4r^f>7d@+C@%G~%-N-1l2=x{qObyj|mtQAtVTsCH{q}iJop@L%$hJwe znRZ7zR4*WNFGj0MeAHmcjjLUwP^KU|vbJn&imAkZ=8GO)i@_C9qFpb$Vl};yebLU< z!e+xEVn_Qg-x|0+O@Jp(-m5_W4vONnBjbLWD(R50FlWH{RL8`EH}7ssO*m}o!jeGM z5`^ggN0wa}TUDZtv5!~%KVxe`lX#5V}9^z$ICHi`?@ z|6yy<^+&6SvKLD&pVN`C=XTy;*Js>U z)4)cl8eHb%KZ9Co|1f8NWb*Y5>9k?emT5y0v2Zs*2(na6tvf@i%9MofmI4hSdvn&1 zXX<0*5T}BX)j3Z>6M+nEf~kU5F$ZzsOqrFkRH}kUSwnQzoY@U#E5@=rqX+{-873A| z@tjh=i_#HOw#KF3k%&fB9tW|%iZ5kikGauhxcJ1GA4HhtPi6Nxe;oMT z>bTI4tW|j=UWa0(*6jK>XTfr0!=DL)z2D+nfzi&j>v5Pp5Ki=H`k|L!cI$UrGa5^M z=uqgLD{dbAvcSCp##D(HlBLL?nh)nF3l~2~S?b&@VC73vFkl>juZU@QIh$jKFxSVFzq|0a5+huXOm})_^ z*joJiPXHS~`j?{MWWC~pEG9u0qq5osV+wO)1(aqg|4h+p|8_$|S>vPC_DvK9cbM{C zj7n7gGgT-}UI1a4GiR!JVU?4LXqa7^>U`7$JnJ|(JwazR?Vpzq= zZ2Uyn6{ii6o)yP^i^yeicIkHl)SV_*lMoF;62V&Eh^&z`WPckL;yud7+S3)}qL=2K z0dBw@Q^GHWy4+k{j0cjmD;KEgd<%SFzZDbKvfc0)sZlJHDO!HETIjRm&fG|lRg|&O zB}G}yVe9m^)^o$t(Cs_1H#7b{)nG_gkuA2?KG^#8!M~yhZ&Wlf%A&sF+x1_T4*-cD z;2~Ld%+0DXD6*LWde^fA9(sk#M)55tPEeH5DRu1@LbuIvg8KA`e&%gI5Jq|V!) zq4G(Ooxj@3`w8h|zDnyWw$4jpwmuN>jOl3xmdw9qaNMg8CxpHHn7c4UJU7 z|A#4)@uK>gtUXNp=rdMu+~;69;pYNVD?8=4Z}?;Pny=27Ubte}ZDYGp_2==fEfUr2 zwLT7(!K75M+?W9KKZjn0B$ou3*14BZ2_1j=30GYtWqXGzV7(ZQ2O%q*5=k=?$)|N# zU5JL4XO)7F|A-WG$*WL5plt?gp+`Wo^XrXN;-45?a-|6P5xDj-7p+3v_yDQ`_A$j|qUl)Aq-wceIG z5(-iMOmUiItN+p;OO;aP3`tMFs&j2&V%-mO)aV|cHzUjOE|WPL zbmf>v^M$|TBl(LR+~L6$w;M!-5k`Xd*MU_PG8NVH)^0a4!6v0nu*wF`XYCYj#rLow zhYWLnmta#^r;~>{CX3U)*A}6$aMH#ykvy$6pL0?Q`#duj)q{zC6_rpDe4=2`m($Uq zEW3G@`LjH&@Y>%f55I%;FKV#SwV`D^bi|V^nroM`kSB2`M9W3sJ)ic2tev z+4Yp;#;m=q>}h!GatG>h3@%fNU>`iXA&=&y`}MXkDff~Cq8nN}tdh<#o%`1PVv$jm zrO>NK9w`9D84NUkicTrWtfOWKr~B5tt^bx>K~fg{J6N_PpYqg%g8>gft^jmJ3PMqz z&;tJL;&Ri#_NsZ;@)1=?hY(3)2S8pC77qwQImmx4H3heN36YcFYC$eGe=dhe?MCE` zOwSTU#caEczu;5jZq07u5q$-4OVrspmyw=^PQEpCaUFhlD`p#HH;tSY<^%96sF$=y zio)Q_tCvDz7uue>Y=V|ZF*Pz{-O3F~?SXla{PKms+r8&0*+>TJ0+gOYq9~`Ka zq)7K*0?an{l zVN+hyMKq7)|Ji}e5Pv#gx1lsB>5;kXE*@{N+{4mnQ`Y_duE zBOcH-$cx&51E5-^oL0q-tPfVrq9n3K$rlI0AHs5Ik$@)@;BCa&@nN-pLX}z*s!x2M z{qsUqiozP>MQi}dvUh<#i^co)d9~ow`RzM#TkG6Ds;02^fdC0UI)G6Px2E#R+I8uEd`Xoe%+% z5gFnD^4Vb3A8Cnl2XaX;z4@&H$9)?U;y_jvpSLrEf9uDUk_v|{sVWkzaoZ$n9^t<~YXG#Ovv+?EV-xcTd~JiOqd+#ePJ1{NNo?gC}Z zblH;%5QbfDIpw?-u%mifl!)!%(3OnnmF;C=jw2)sm<(Vpy!>zvgwH{?b43AP+;@vv z#Ae?r1=9=1FrY1n*|MYC4C`ecX&~_$McAR;7m0r;{0wYl@GD`Fs01um!+)p^6j|B( zzuH38*BaE6BL`-RSE-Y*mM9M*wp;O0QUMM!$jJi~-#TyL+x*O-l~|`c!mj^Tboc3A z0sfN9@Cu#-n)R+QgQ;}8(R62K+#DAaRb&U z1)#ZO0}eKmRiblz>zV9hrDF+vGAF%&0lC@}dY2hFDt7umlTahxx^E;;5CDJWIzv2A z%Si8=Ti*H8lziDmlPdD2!G zl{0@+MvGd-#gn4|{91U%u>TQJG5YcZ=t}ID;!?skuyv561|!UH^_c#dw!wu1N&w`us366U;h7tGIZ_{V{ytOF}oygR|WVmW=2&rbV^*Gj{)wx`9o7 zK2-02C;(*}Uvr1dbqj^fspdl7EaKsGEnu3Z0oWB^pE&ZOw%My)MQBf?BhQq38RmIR zUnc=27y|OsxQf=f!>!;cPNembMP`$;5w2(Nf>+9K+a$vnI=-#4@4EGA;`mEXE!o1y zxfByjtODjJQ=AmV6CF!wkTmZ#^U@Nl@(j1|DNDj6Y?}U|RORo83*2Cn zK3klM|FB2_jA98UmVUjII>hM!#tmgmaN;l78jk1De*(AsT2cz`K~^E9yrxsS^JZXF zkG3g4DAl) z0=7t^0oyK_T=M5dAs5|R7}YAV8=aqUvm-otZEn8GB7-G#6?~G1(L&sjnBtZ_$vgxN zUP^Kh9ArgqsIJXkirZy$nah!;e`1*ka2e0}WY@|%5pXUhwWAd& zd(3}K1>(LtcyS%@`;DD-DPw^72T)k?run&aT>nOaT_k$wK!lghi41ADfuDANGR)AC z5dx^PSvzP@r9_PV(kEWI6%A`{hV|&PlXe=1*|Q0J%l&e{rU=e)d~@myRA~fy$=c`G z+Q@mO5r9#;Jc8YjY)Tgl%fHJ5kW|aS$rur30x~~)cNTZ~>uI>Zdgu#>c^A;EOlXap zl9xuQ3T8>T%$(_c7;_o`shG=pB>^8~IaX*VG)olWuDF8)bp(A=xOc6vUyTEfBf#`!4*Z-&Z3CiT_l39Ew{jZlL^S}Vd@sRSq z2T*}{9AUfP$fOpoo2vg=Z}`2(m0FNK)c~?hih!-r5Y}&u=n>xDdHK`U8G81%3LMm< zd-h6WwnPh`Ot+%7C;B)TbAI6^g0sr}Qj&C^$dKyp``UjIr_BhlE! zA}Jl_H)pp%A(RwZS?5SdXI#|Oc%(+}Iy z)3uSkj=*wy{B;6}OD>dzPeL|7vbNu;MOtG{Of3QX|57jCI$u{|Fhun%A~h6oktd@w z8FM{Q8PlbWw>S;fEe4Ov|^c#m0zDfh1mkBk}A~67#p5x_0NY(gU=?g{c z`QUeMffX)j(5vl&YaJC^l9k`%bWELEiVqu2kcm$M=T~(?(aYWf_lYdxzq z9H2IxaMT=n%a=V}KNa{6WP1&<7iMlfHp-^!edeTD28|72p(P)!@wjP-B~liodZ(tl z7QK3S&Q-@$H~41jfWM-qqDTAu>VuXJkI9aTa2S4)BA;zZRuB3JfdQS3`KH#$fmc`# z83by6T}LU0Lf0N5h%O*yi(*8*`?@gmHZ(^c;;}Zmmhp93YvjSJK1Z?>i>dVt2bc=E zUN;2S(jE2eAQh?!e3N}u>?ViuOJ9XlF6=9mlDDv@sYYyk?Z=jS+y7Cz71f-buf69; zEX;6MJ~RI42~^=QswCW|{{K<+rmO$asV1>l#{KVwcog_}WbU&r1Yt4LpjDl*jc8=U zMuT2XfTiSWrYhFE1?B!Pj?H&PgccJPISHAGy{ij`8Owk zJKqhLf^a%vlG(tVuQ(18FsV&`I6n^x{##Wq`zDWECxFLB0b<2%OVIFS2IsKjL_4N@ zvBO>h^4L~Q*|wX*<*bpydA?{S?jDuw;~Yh`LN&w+14duI@ z!LQ2sOZ~$F%V5x=G6moSEhS{Ns*t)wwSd9g0T=qk+|m$mwhUu zHg~{Yy5T`P_9ZQdDoL`^{5)J^htp8MfJq_&>OdAYsw|(OR&}zE1uCne^VqyEM8|P& z2qmg-(F?Rsk!-I_e7m3nDru;d44M6kSOr)vr(qVwVI$p8Trq)sRH!kM(*v<1bxTvL zSW7-Bht>6yT9kK;ey)_d(x(IJ_W9rkUdQLOF{A2vgKPD%>(3>(3Mg&1!iT+q@ZkiA zF%pnbS4{&q7KZ_0Rf|K9y3hKhl=dImcKxW9P)l4!)@&?d76r0-dfk>w~UY$#P5v>_o;J*wcAzcc!i6H>3? z62S+=uq}s>OfRNYF5v>03)%YTacJHRS9oM#^F!;cSs^XLVu|~ivcF!5Syn()f=ST5~3B1*yJ-wQ6w&a zYJ#m$5+UkI?E5FGs=xs-H;Z{AF52d6%SOa-Mv9IWG0x!@=VwKXaN>rm!6p!r(wwsl z6UaGTE~0Wy7Z;gT1FIshz-PDuFjtXF(X01YyqsJkTYd3uJ(Ob6Qg<@xyA*ZGg|#M?BTKW zc2>Kee&7PiM}$;H+gD#VamfDpE3)cl8T8Mgp)L#R@dZp}1smbeimvrvTdBkBz^~a(MQXz~ z$mdZV5m{{g7A5QnIsFP?65mP6|FKrY0B$Rs=|2v^|0f>)KXDchs@>@4l3)DDz^GIJ z_jM#t#heBhC2Ws9og%AZKK}oYGT=n4Jf{IxrT`kuaHfZaE|zTn@f@p^CHM(tlAcgz zHudmhAidY8YS9{I4Kt)5P;Pv`O&l|`&$lD*FPVT|>#8pi`EQXDbIXutx_(0Vq#mCq z%?jJ`ToK=T%|V0q4S!aG#_tkCsfS&pFyM!~^Uy-MehV#*Ha4H!Bc#Io9O{V?2S$jv z(sjcGBZ!s3H3Y=j&|czzUoU)*zbLm=@}pVso_o=5D>Ns5w~_8naqSWfwnj~D7Lm2u z3T;4K-#Z6Kw)D>A4-;kJ2F| zQ*L&4t9ceA)BPQaL%bzFpD-<}a=tY9%r`PVyd^OSlyClQV^}Hluqb!1SHZL!tcP?> zCb#fbDSJB2CQzH7dRMZN_V9$!)ykzs#lFfvh9iKW_@E(a{)YZ|KI3>Qc4R3=q_178SxyQmjW<=#k27rST=2XkJy<{RZ+!t4FLkQxvCCdcPEQOTLryP6cP+h>rc90(ssnymjTIO z8ugS?UdLl;Z2%M_+V}EH#u_q`23Br9mg&Q zY$lZraf7DTPDh!#wRF?|%HUpc(@HeMenFJgL!^o@DU1N8i-$}#m3cgO>Xjd_<9DiI z%9qE!6etw9xQqO4o^gp8r3*Lq%lcuV>O7i9OQj7r_zaUFvHQkGxplkt8O zmG=W|S`8?lcfzMva>F-4yxTz~U)hwp$fK^Gq$dHtwkfYGTma){2EERxoB@L6@{HZ< zwP-Q!zi-2(GMjbBtMlqI?;|Nwf@)`WkTRpAJ*>(Z0fv!E9#HMMpBg5}`#Hyi08SN@ zs~@VhHr6Ot5XAFGGZwusEaiv1Un14f-+n3MC(_X12XkP}oQdw9r3xsht7}nFdAVgD zbKIAux5DZO!i3_t{?Q?qsoCx~!7-ssU5uVQcEP-~A`W27PXk1aI(%2Mpo$Htt4^au9iG=_ z#sgUH6^qcL4o@m)w)Qc}2f7o|UPo4U`Y2!vZ5&i5p)U}h^uL+T29QO@3#;NXeX@P9-5j(QH2Qp z_|%9!eNEr%dVO`uv&L!dDJ0%bhnn>msnWSxlw8M4UYa+j%V@$bZ1?A2o7j80cMisR zUP5NfJ6@vF-fNVZJCfP!nUOzT@5vX}8$M=s#YUyW`L-rT%jskjU?0lP5QrAyYgR$h zGIH6g!|js17w&A=ZdgRyUz*ygpd6{~d&nWoZgkX$P@C^JAr$25f*nJy18=HZXiGxC zYRLC@JofkA=7*^y zsuMSN9OmPB|G%sw=)V$=C^+t8j&&=^W%eHFR~;J5^@|lZmiu9?FdyS0@)gkR1IB*e zvQ>L$P5|o|s?V*9=5h}jg3L4z2zBDyMG3bZb>CI0xZa%3-b=3QLkVX#d@qweY_+Oo zUVSVk#M$uEE|

UP#iJ^NdsJvlJ|!8u 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�sEk?Ij9DLFqUjcJuJ99NEBRU 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­w%taz>avhc)& zt`^l%dnWT)TR~&Iy)b{Fd(x8{kx(|ug9%n;5JZzw->zD&z`q>!8zxQ$R=NVW4E2u? z-U%s>d$Z^HYyA1Kp#HLPU7wCP$V%Wg>^J9F zw6F0lvjvg+x`7XcN>?0DMo`YlRp@Ov9?M4BzT$%G2)eB4#4MbAHf~?v&Pg_Ft0mw0 z^JQ1_V9?!cwdV&VeoLB`zpk!nG5VlGSL~P$Z>93!_b|5Bk0`{C{uZ+HCRq2F=xWt! zpW-t;H@!obzCV{)NY*w*Ng4y6V`?VNOg65Su!}KHCk_TwaEqbcZst;`xIj71Z%gQl zAXdMWJuzhV(@(1my|Pb9k!|Y@at%+7GML(;`V%hxGdV7Z0_siP+$0PbhqkR~m|M_0t2d{p-h!YKlhjMAI2T1uxMX)e7 z&)XZUin(tLNl}J$5uXf&Vzbf*L^v74@NB(IQNOfJLW57SFj`Z6qmU5UXiyqK0L&y3 zG-X#av~%$S_)o0G8;s{DP^xaM(?TJ;yPap{U2|yTkwwpEp_v}+H zupC}tQB)YYR}3#ZV$< zH*w;@=d%Q3Yb zbY0WorJO<4`=vt3i;zc38$qMW53?8EY+rQe969uk52Qf!tMV-CseX^UO>Rx6#7Q@Q zN@l)N(#ZzvLSG;4vb~aC?cAYJ0kKvj!Ab zx3ZFl&u-&o`MYAI24DO=5@O1r`Y)Pj zc%JL;ufp7V!lf)^>dEN#d!|yt#nCc2*S~1Vw1&;IeH1Yh?e|=zgo~o-aIQ;f^EHPx zvVG(+KlgN7DdCc6Ynjc$YT+0;wOg*yCG>nb6b>_C8Acc7f_LldpB z_Apbnj}&IT-JX_IPkHn*&UF{9vCgm#_cg9mPf;`<&b5|OfEK37d>FT?%KLs;SK|7f zvmQE;?%LKO`$7B1f$y@spd~)ZrD|Ai#CuqrMsql!ScZ&_`*nD@2e

9K*WIcEZT& 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ÐgEP-iG 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 z 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%0AF*M^>InFjTOOZ%16`w*UZyG+C%#jWDS`M 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%0DSm> z#T+=$hM>QNM7H$GHUjJB1B`r=dANv65su5!tHR<#kI@C?pQ;y1_`0AWmdrATHB5H| z#(OM=kAj72P2!DCULO)bg1lyLeq~{8CgqkS1VmH8^;2z10TgzkHguU^pu2Fzu#e>j zx;Q73?Y;zb0K8*6@1y#do{(NCk`C7XFrEaTSJHmwg@wKlB|Wkb#1MO?OppZEu!W=E zrYvhfkevf&g4B^CvtLZDjVg0nU0II##V3Wox`;kNi-WpFAdQ=YFwhbgc%r3 zlaWQAmbDc_6vQF+0Go<}NGa(%G4}(b!8gb2L*$zuWQ+RP+r+DG6CIPyxP>BbD~zAo z@-bfK9v&LET>IIOBBO!#Ryi~uEKAXz6}ntL34aa=j5%xBlmvg9P0aR>f;(9tn?snC zUvW5Ay@Q7lv2S7+7gr}a<&_WJR_a%YIkaI59{GTyi_x&9yrIA`mTRbtyX!Yq$lg+F zM0QoNl>~|)ms&zjoMt3ietwy8sx~V(?57-gl|{#1DZrTs#v&NNz1{6Hy(o{W!BCqQ z(c0Xf+IMXuKOUfAn&&KrqJIjOxc$b#df*Vz=ThP@mLUFHYIe1b2QX`R#$*ZPpG3b` zGsQe7=SY0AGr58a`+P!_kal1*Y41A8xivD zR-PA91@#r2I|7(2MmWa;vzwrhdK0hi@*ZE70(mt{!ap}uiD%i%UC(~1vWhgQnu=Vn zEUZ7-b4-u*l+}%x3+&R!Lv+bDZUydr=PQfY)fezll~)d6=jCt#p5z0P>@4vhzgI4+s;sNQE-=BdQ3DLJ!; zn(%m==vhjV!q&K;AF@eWt=8JrD9ilv;~JM5l?01Z=@4KK##(WIN=m9CMGzXKTP1y_ z7F|@wb-dKx!+0}!VVx2Txk%6l13xyn4#;Hm1tdXoQtKsKU{6{lV zpw5lo4MTPO3HO*Psb$1X20{Ek0NFq$zX6K*;T~;yd}!IDc|VI}N4Y@%(vEU5#4Xn_ zf^IQYucA8?23pJd3njUDu8e+Siz`Cx^?<1Xla zs53~Lb-N<3&WC9pOep2+sHe9&KYy$&FSRdH3A-^>tX;>?_S%>EIkt8yKRar7@^jtp zp`)x*sND}~RS7>){T4A!G6d>%g==;s=4 z)@`bKZ*F#-s-5<~z%6P0A})!t9d(Vl3uIr^=U^D9y3sjOY1 z`dP~$z0xSL9a<8pOjDdXhmkTV>S>(e`D_X<4f_|iqsV+;HRZasdqYebyoQ>x+I9je zVh##k)0l*RIbuVdh+Ro(gyw4qvRa?Rvm5za<2JE&8+pM3f||uTn#C*Nj=JfJJ*XVQ z9c4Y*Q;Pq&20Ofi9CE+sAIN2^yoVY}U>M{tL7Hq3Y9w+t`Yx_zYBa(G*SF2_(Tsm3 z+Wi(OWJ=L1xq%uj#ATJrEp#YP)U5>KG`xpya@L3A2T;uO_#s1j#UIG7#~$8O%YGiR zS3wpO^ZppT{_tK}WJ5S+0mVFzS!|iNKcIMQk9f5DSF@H?yGQ65RN3Fx9wtH!Lue2| z1Eq~b-{>WaBKV>-@h~J)dsU1YQGJQ5*VCIO^oS}e9oOCzs;8}HrBrGEkwhg?$SM2H zq5T+X-~9x6%OW%?N@>NS*Mic(<)D&q6f1&j!X7EoBhappf@DmL=`qk5WHC4l@i+Y= zkwxd}VPIsHwa@}fHWvo(g!)Z9tUggNtya`qo6M$_ROYfMSV`1=IVbr5#f7>WugT&8 zX*I=dT{DRwkYro8Ms%ckj_4aAB_513!eqYu2@283V6tTZ1 z_E*FKnm9la3pKG&5eI7GKt&v+iGvhzuqF;x#3D^BQp6#eI7AVPHL+L`OEj@W5lc0( zR1t@2;!s5_)5J1G9HxoG6mhsF4p+nxnm9rdvh5>_BelhmO7bX89Hoe(HF2~ej?u(1 zia1si$137DO&q6)<(gQoh~qVJydqA}#0iR6p@|iWSgDDXia1ddCn{oRPV;6*U!S26tetFDZgo(172iz{3C+DF8qGgTY*-82A_5 z!yt{OiJo?F1wT{4WlHEldQR%Kdun@`)GdEWu}^Cj%@bFi;96z%B)|g-Ag;lE3{cf& zs=O`RiKH=}>gW!fCf{#J6A^4e!wyy6<@CvL`ecQba%B3*_DH5rE}lMV8K#T|H%@s= zCKELUDw*tfGTHHDBJeoCB?^p6GdrGUHjU>v(WuSjM58wIG9|T*L?iZDxV>J1r^7U} z<7sBc)67;ATPQ!pFsjNTZ}o9y_>!)xreSBA!vmrwe(vvX__k+>Ke2*Agb>Gu7?AOzi|y z_tI^alalictgQ!srk_evNb;Pr=hEoV^;{3b!}~ZNa-0u&OIS3ll%+N)Ga;Xh=Yp;# z@gi%>%y2wMWrh>a3@4tVV&bSIu2 zPCn(O|=Y95zZ zr$&nQ$;mh|m&L*Y6SrDTR#u$Yz_JZxBxdc#QnR;U%h`0MA|Y9pLXkVz!>31yJR28z zg+-nnCGuQc5UsX%`UhK@;K7_8u4VvmqxbIeuuVXeS# zr7&E(C`N1(F}NSE*oHZQR25S`g%P3m7GR-yGVc@McW_lQp%-$?dq~7fkeEB~L?J>Y zC{I(bD&_i>+*bfXs|RJ)Nn~NaNX+uyxI3(6mfb>R`*5SvM;e?y+JGKw6n$JL>`!&V z{!A5__cifrZTO{3a!v>ASDYf#;bcw++efW0UlJ}it)T#fHMACwjG+9HRLT+43 zrHicxVH?cGiX#D*8T?d8VMKG99?_hphB%+r#HZEJ?@2ZEJ6&6xt|SLFF{p?$G{FXg z*V(8QH>UD>(f-)1fyITY+hUHiVYMn<=4nl7$K(9^Qz%@UVCg>%{0v&Ql#MRJW;jndwu+qJx3~)X8y#-0Xo2>oI=%?CcueC{x>Oo6N@+|_p zn%t^z$|xr2_}sGG6EK@}fSoukpO?BW^(*f1XLRMBf~xf*DmN(R{Q?&5i(J#7B)a+R z^vzg(%K9%8$~sUv-JG+D(q3@f3)pw%VjxG=a%#b|3LDqJ5~GG7i!C_GisPW8t;z zwrtt5xv3>PQs@hJ6PTesu#54>zC@GM2TX%PKs!x&^g6;Ck9lk}cmpZ2F(VDdjaiE$ z5qukQv!|bhbwxXP6G@obgb8*|LjODHf730d{}vf4Ey|FR#prELUI#m3-0F@FHp94^ zGNIe=8NC10AxGZ_?v+X295H>&(AdgL1~g7|DF*29XV&nxS^yrr9@dFgNvvh%*iUPM81r8MRs4ysNGU2k;S~#46 zZBG{a5hOV2Ds_tEZd~+&_jmv%9GQc>X(ad&aXpoNomirB!gQs3UCLx>J(;u{UOSbr zJ8qW`{iBphN>U|M?>U<%diL4?<(39Dlw4}P+ZK++Zlt)a+LlGey0^Gn;y&$KVHh97 z&LmZ&e~g-F$~3K*GEMs$Bi*W+J<(d$C8{}LZb~#t<*Z&3u()cIwM>>K%T(cf4y}(F z{DfK4R_uCaH{~0>a_mC=r^ronbovQMw>EISE#{{48>LPZ{=~3_D%ujs5KH@`|8g^x zoQ}d37;2C9w3%T??O%DGC!t14QTchweYLNZk z@+&#(+c*UOcMxZ@%J@BG#^=(bD{>mEl&Hex^rqR{u&TlehRHG`Bj*<&?IY*rrh{|~ zt(%BV1G>K%?N6&(H!7-rO4eagA!PIAR}xr-L4S9)?(fc49pE{dI7boZYT{f)oTrKN zw(cTlB*M8+>cfobqx$_!izWMg&nhea_p&4V1Im=}`@>QJ*-NU&AmY%sy>0TkqjFj!)@bh=Z|DfOcKjC95kM}8d z#th!CgZH2DGz9QAr2M1Zr+NpkcdPNfe=|%&3u=!-~?3<6+!N zn;}I7+RS!dQfo74^s|jcih8BIRBReZVPV>GUP8{*^`4OCDnDa{I?l9e>szk_F07 zQM`iPAWelU>^e!qajWC4YNzG7GB2D2lriC@y{wn<=a2)(^fFR^nSKL%&P~g#^fvpH zNuI-fpR8C-j@hc5E|0~F3jP-wo$a8U1!)AIqabs>OUCt(Q$9>&AGrJJBmpNa{OP&} zQX&Z!;l5~MT6w9Y&?Dt3K3CrvZc;!g;Q~5C@KSs&l%<`l9EeJSD;2ahh z)!*zV{ApoR(ApTK42nv7$W7yHXPYcuy_NT;#sb)$0~pmOo}k?4o4saE^qK#{Hmqhp zhm<58)bqGQlYac*hh*8~HMg{+{n==7vLw(V?IHIM#G&`gw~}}(_kqd{vAW2v3F}2$yb2VA zwN>?!HKphkgE5pK)jl#bC*(n~O1|A|uXcGwuRT^{#tN^^8|xKxjVY)!t!>rDcj@3{ z8=vnW=?*2myLy+F&RF(zD$5O@p}8MiL4i~w`?)>em}!_Sd9C&nAVTirha%wgE!B6mfw;<8yA)CAdlD1nAmbprUQy)v-N;N zG@&F0Z{Vq-8+le~SJ}Ptcx53yXJJn1^dy!#%pr)R#1Q1I)QCNZsiZcf<#;sA1u|tT zW1OIf7$lX7>qv$8SG?iI8P!f#jm|x{Jy%#WqyEId9Mx&?%M`5KCwSgyOKuXy;LVU| zPsn-2r11qRV-%j(norfwNTP8~a_Q+ElMKe94V6WxLbNow$*3$*f^AijI`FO~bpDVy0V7@xG02i?E{@8k%&4lP3}rK=327)x>Dnq99*y>x>s(cs zWm!~)FVITdo>1bphY|;hd4D3M36;^$gk@wN5^68$4F;cI_UdPI8&~h)d{=qNqB}s3jU|5Uz2kPVbl*y1NJa!& z_3-EP>wO}8Jy6W^>-jzu+!6bnq|%lB9=wj48$kKqmEv2VwrU4CyWJ_(%t^ggk5x%> zq?<)5XhOlTtNB>LPsxH`=0l!PH<5BP@ti=_tDNAy>=vIhnnz)DBW2|N%sP$dXhfb) z*##%4qLHu*_J$P!6<2pswlL)vsi2RHxwtl-j`pT|#>AbY{rx-0O&qAJ`pZm0r20QO@eRwkQa4HyKgy;{oEjTjSe_czzgr;pcOj4c|_d zld>%a?-?Dw19_43kD?S{bB5=A9l0wsrRHXYF=3*Nd&lry@VjI9PCOp3oral$DagUw zux7zKY7s#FX!39!gjjOjU248uO$i8pG1*rV;((;7C{t190p-KZ{d?1<;2op~l+FEx z+&QP`?DwPR9^Af(Y#~?arw#`@TQjLr_vB=%lpdg;GY5*bjTE;O?%^9?IpyEj$f%rBdTe#^A`Gqr~yK%;Q?bgR&BTei7m zYNqx=MAipTK1^$I*34C!MEc@X!9OB=t^VK1Ldf&s=TJNP2@Y4ZmgNid+Pr_TT)@WM zD%B9YN!BU#^c9`bguWK1G^;P?lxFuiPWN?KQm~3{C8th;aFTtUlZ>}U<|LK33i;%8 z(*6xW{W3g6ms{$Y;?eJfz5wRFY121g7B^LzwPZf7TcFxuoF>=ni0$s8-a%Sm=i(9c zcK{X+4@=iJ+4|TCpXyB4-i?ThnfQ4`tYhL2Awl|TZ6rd+rfbcq5G@L$OIm<@+nHp* zv5(19)3phqWZEOOsl^#atwN`+HjSohe&ku2go2$DnEp(XzDgru&zkd_ku6)&`h0_F z(8wEo{s-nqDV`rL@*_$4F|bt@ytC~rs2mo5A#&YCzdd~p{m$weUn$4avQlYCrg8C9 ztc*!(k4C>y|265bt|WPm_LJLwA5rSz6US`>I;QG)h!mr0Ti`es@^&GgnqI=C8lHUn zyp!&o=ur|3G?PjuV^GXZ{|hEGHJ<)U3<@DLqnPvTYQb)?MrRLsow9>z5Vs4#$Iu5+ zq@;5m0Ah8cC<`49+hMoO%a~1DFa7@bK&g<^K7=7FucjYQLh={oV%0pOl)FQ@vz$oadmobgQkN zRcc;J=;MSI=dB_M987Q)EL+IZCCk#3CCX~1M?F3fr}a^?lok&pi&S7IwSP$FMaf5H zA1#VA=ez&jvc-n3>lUWEI%_IL@*}^kcalYQqbP0HR}v+^uS1k}>}wOHa$mD3_4Z{% zsjtr#r6c(207L4Yq%jzK^SPQWXb_GOu34HC%!cw^TFXznlszV64x_tEUHXQk#vfA} zbHr$}V_W3b6xEgPsnp*b&NI=bh}eO&S*mC>rGKm_?K(LrN;9U65v8S5$#hgd{hU5^ zu~pqcl+K(wVRTf@(v*g0#nBR?^LWs{xWB7QihoP5SpUYZn ztxDy%`+ABghVg`_0pAeedB8VDcyHh@M|d&tO%YxWd~<|X1K$$iGk|Z6@Oi+uMR)`7 z?Ge5T_>KtQ2z+OR?*YCm!Vd%A9pR^e?}_kB!1qRY6YzZzeh2ve2>%@Tfe8Nr_$v|q z2k?UtwjII`MYsj{;RtsDKN8_G@T0Nx2YxKVbAca^@B-i`BD@Ir$p{|{{8WT%z)web z9q==;^ag%5!e0XZYJ~3qelC{2z|Tkc1>hGV{7v8&Bm6z!mtyG&{Bnf<4E#!jMVj!} zBHRr8YApSLzaHTp;MXF&6Yw`;2(Bzrb(A$}jM@BYYw7 zn-RVO_&X843HYs8c?Etu!jA*L6X92YzZ>DVfWH^vp8|hBRvv-hjg?2>A4J%332%;Y zEAS5^+ztF*g!_Ph6yaIGKaTKTz(0wVKj5Fn(hvA&5ncuS^9Y{?{EJxq2mWP*F9ZHn ztiA)kA4@;rUq|>+;NQgRH}G#G{3h`4BK#ik?<4#^@E;=lC*VIu*vJt6Q-qs<|0h-+ zf&Uy~ANYS`^%?jtvHA@B*I0Q3{#%5X0slS1D}nzJOF!U$M)(}yf5qxE@V{gA8F(bZ zw*ha7@B_e?BtrZo@Wp0S9@##^ZvbB!;myF8MfiQ-%Om^`;430*WeHyy;Vke~5pD;* zI>HlxH%7P*_=^#q1^lH5&jY?D!g~Q<8{vI{uZ!^Ez}H9kSl}BXybAcs5k3w0rU z{{{R=EI)GSezIPmKcehv7I2)_gT zR)pUJp3oiD2jHFv{|&f5!d4UEfe1GP&yH{x@a_@zf!nu>+81Ci!t;Q;BD^>7ga|JN z-Z{c20ACd08t}ytJ_GoY2%iUhX@oBVzAVBUfgg(SEx?;1d>`=Z5q=!_jR?O0{Ot&T z6Zp*tzXOaTz6$>wSVZ^_z-EO11)PkqGlp;~!mYqggvSG?BU}c~M0g7Dm__-A;2k6UCE#*|Zvw7F_%7g` zBK$b;tO!2`JU_y(0q+&zcYu$K@MhqnBK$t^v9bICJ}$z40X{3jBfw`z*ls3#PK29* z&x>#e@c9v*2z+@gzksid@ND3lBfJ;zixFN3>}((P55VaNuLO1@d>U{j!sh|+7~zY6 z%MsoP{OY6--w1qUPgFmEkBRV;z{f@SRp8|jev5Evf^K{OdKCC2z$^uR2QXWKKf{lO zQJ-&kgb$2x7Wl{rcK{z1VITOk2=@cOB%(eU_}vKa1uUXAY$322;bp+-2(JXrMtBWy zF2ZL3H%0gy;4u+i51fziRluzgz6rQJ!uJ7>jqsDe9T9#7xGTbM0*{OEd%)u({2Soz z2>%0ky9hfigr`Kf06ZhY6M<(&xF7hg5U;xk%;b8!5Zs+SYws*IRjRB4UBnBD%dl@bCH!cCw;Li zY`&;QF4@cJ^bITee^wUe8!-#D?@mx@**~27EKO3gojFmeL=&H8Z;IpDoRHI=E8Y5D z30_5*ju`^AkdRB4CJmhFv@c$1Pd-gJ#l_5)CiR^dfwcnzPA3Gaf&@GKRlIoaS#5pI zn5;AXVP!YCZ)e#_`B9?nB)WYh+MX^|2C#slu#-wFL9B1AwCC)< zWy_XS@QDO=d6{0afSq1)iDM6$1XzPI{gV=gyqo1?22bI8!nI3N`sruJlq8v!lw8=9n*w3+$*Q_jaamLJ6#tP?Re`NyK3sCyDmF~2A zg?`(lSD!j+<;F3s#gdNJZqz(DFC$XSvSw~NCKg2cVk!W`>Gs7I566Ot!;0T=F1SITZf2vjCTc zF;o`hTpBsdRc8HX|1U-fu}j_3(~4^or2^o(GG`|)BFdYlMsL&-+q|f(_@~4x^2q>a zu`R0q2~qmW8>jr$2_w9(?<#s89Oa8%Lc@aE2P~tRw$-?dCNn{;qU}y^f>fgyr1#5P zl^!xr8t6_t?Mo(iL&&+PDhE`H(Qq8&-rhfb$P7U3Mtft@V1R z#r1ZZ?o4aju5^NZO7Cknd42qlQEN-#TB*8QjeTGr%e649ur!2`EYFmd6#CMHq3*Nk zYVhA5+*Y*o9-YM>5Dy7?K~}Crw}vaxb}_anD_8A)BA1BKhaHA!Y-sG~)XI3)l-6N? zcj$-99vYWj60cHcCGOww6z1QSyTUN$~e8lmp#aTY+<5>-&j^$zDZ$El{r)?lnc2cwVqDC&-St08- zma7lt_dSY>rQV*QS3D1sE1s3ERP8iMa3{S{(4WsY9vmGi8+QMDDYdrMl$yjQia6HZ zQsLEDoDr*IN8tSZiHTiH`C)e4H)8+%GKyzLk%~4p2R0j` zl}}mW7({fAhRD$n5vb7_LN(FFVAc;x;T->3K+n2(m`#V{|G=A|$%ljemmA0*8O!Mw=Q_s-*9 zsw1RMH6JV1xaet`!S{r6dxmzmvQzCsDr2Qg{ZQmg?Tt9-&l6};;K(?*B(Hl$%E9Ae zeJv@=#*wP+xG&$>T6B+`X&6&d>f%VrwJ)tNOUQM=e#xYkupC-7H!D&OSFoI&W>;#Z zRxWTyI~-n&Zi72RZP6N5&tnsONfx(&xE}K?QG1f&#WgOV4$$V5_`*a5FzUYfc-UU9~Cv99KJ*pSWeVw0}#&KN{hR z6h*E;=op36sp3RhmJ!FmY72$z4Ihh~H|xhix1y{h_0OFF4VTQvBln#`KSPa58s_n<{MdufukLqevUvFXe3Hd@oF$OU7JUcD_(p zrI3q@>Fb<;Y1v0x{u);CQjV8gk6=i2EipHS7Y5&Hr~Fg#DilAW_8bAWhEd+- zy+K~BJ9rNsmOiBJaC~duph08W@fBRH;bvUEXMnu*8dH zJ?dwTne>MZMHkTD!}K@((FEW1%~2Rci1H}R4WK14bO-E;EJEG2l9hI15E0{TxKgbB zL&Uh`NU^co6!WhS{pt8%fvr62+_vlup=VtmEU=YlM;%W&z=Ci=L<^Lx}W#g<2N`1zSJM! z0|TUNT?A!o2(2Z>7}x3Eo#5+q@5RFoZcp&{T<*uCj1g9=e~av=2k+MBSMOE_TJO=s zJ&L$j6Zb0OK26-Gi2F5he|&;)nyAexpyT{kf^Q_LEoeXs8_==_gqz4re?*~Gg*aN% zfYwE5rm*-rv#sF267frE#NY$i;VuThf})ZX(HSD_CRxE}aFX?l)u|I}=qr5aL=3@I zD-N6pTw7?Sd`Ix*6ppvxBi6nx=j7)>$xD8t=?*}K`Iev-f} znH{X6XL{&C-0k8ed&l4e%O%LuGvypW(hkF8KH@D|4eEQ?x*nX(|wZR+m ztUk2O4R;vr^4yi+PZX>~d3pjdH`i8pg0(s!6?}&L?iv_tOV5K9WZ!FcR1#x@Hw3g= z+YHV^;d&Fu4Bo<{UD?UB8z8?=lzY8RnMNvoY=1sIg)Lusb906?d_*{ksyZVkjM8>S zGvXS{st09OJ%m?FAge}koPDS(SCS8_5Pr5bSHCnVr`N0@2zizmf*YCGnUu+io#Mon z+1J}F{2ZQ+@SBjGKD~p1OrznlYdXD6o;6}$rt^cUVsH-XU!}uLOS{XpT`p~MPSK0U zatgKF?-6{p_gwgUE{UvMT$XoBV3*TL+*b4>a92JztXNrA(dv}Z>dn(zbENx1Kgxxb zB;N&m9->y6;RNSHud`)9=R%r{9EMMkb39`!IUe zKMO6Z!oxY~fxm0q_wcOT?#BEJ8qdm6zCA4S?U69w@b2hZSEEc`5mvZIRE1;t-~x;W zr|`LpsBl)taT(4!vVc076qWx+boobdy%2dZDp%7Y?e9s3%1$b!i)m>n=oFWyIND?a z(< z8V}(3h)qg7ze6fKGhzoPB9M%H1{*R*VcNmPNE%#PbV)+rWzJ!B8kI_{{$C;nA7ky{QIrIK zFVr74i^0dkyjE@Zx%51R>wo>KB$`xf2r_9g1TWHDT<{6FH@NCcPom;fO0&PRG)Z$h z3S)C0H37Nwh;?hQR?zL>p4~#bC=}b}t1mALdS%R-k4_-$; z_R(71%vW-6P7x1j;vq#muZias@q#8^P{fOxcu^5AY2qbCysU|r74eED zUQxu?H1Rb>ysC*;74daVd|eT*X@U)W&&X2QbQp3neMokXti0E6Lua)kDnR{q7{{^k z4(`I(cqfd#F#4q2yY;&tTx_zX4*l82-H|e<@)H z_i3^Fxm`16@7Nw0L*fnq-R3W~TCz8=Eg)WS!E!l0Os z3qKCwZ)xEpLt#+N$Aw>j@Fp#MR45FJ`MB^mNf_Vr(o$?!o>%)G#_QvYr09+})ObC~ z=kn^5F11t1qLXi=ckKd;-Dnp@a4Gq6quoxu2OGwU;9{Zf^PJianGV)TZnWh`aCqJZ zdAx@2MEN3T3)E?;X{Tz(wDb4Xenbz~mf_)3ARJz*C|%r`YBz&x*f3W5p6W1z>zI(i zEUJBWta=$1;BWMn(XY_E7;9NK^U;tz2-T{xe=2y0bv#ZWYItGwaDt}~N zm>-2^K@ob4n@3nH3#?kG&rRLdctMQpi?hbE6Leo}8fVb+RHTLQ+f~BVA4jGplyi!W za?wSprH{we($U|OYB3fplW{?ta6s55G^l@B)1NKWK#VkN7hJnpyOwfZ4$g$XJA$5! zTCc`+Sh@>GZ+frFSiL66DzK$LAXU%`q`oum5`)i9dJU=3CQ}2$B%8+qtX!&>{7Iwk z9jf)YN;NIjdJH`0XjiG=^Ux`Rml1nYmR#^E*ItX~nlM>cXZy0&KeNVmy)xY}(>8rD zDrY~Yn)GSt8F|~Zf>%&PzKXD{;A=3yCe5$H{FF3*9p+~^L0*#sAk+VZwE70DUXbQ* z!u*mne+%YUVJ@=fWd)mvnSov9(iprB^*J>i=Qg|)-;lTFZocp$_!gR@3waQb3f_Qh zfOJd+--h`VX?_#tx-@?W=C#uN7R;ZL=C@(~v^2j1^Pn_;7v>>p{vOO{O7r(&{){xg z3-j61`~#TJmFCSbpD)cng!ux_&q+SbH}~dgX!H#v!A2oBJfwpw1#VXNtl(-k1V2V-@k`ntvsmG7ycChj!mc~X zH7e-PIPq~rLVn=XP-|B>c}Xd3PzuUR6Y1ZD)ZwCXWtht_! z_Nw+{s%QRB5`3xEPZPY}Y>!@F$k?MN{{5e!*4SIEB7n|`l#>pAo{-bpe0%*Oso?RH zQ3x>ajl5n z7Et!f&|_vL8uS>agA|C@wE}T;s6c>XKCVEFhwvL(_?S=_6!UT6SrGoV7Ctr<2E}|_ zcmagp)WXMw!l0Os3$KRoceL>GP#6^Rap7SIzomtb4~0Q79~Zt6!f$Kg6GCB7%uAIC zdL#C!oPlr-VT9LF~`8RIMLm&I+$ncN3%bD}NVFwqwLo;!}wvo`jqSsVL5%-Yxu zvo_J~$dSHKG4?xM-|_L$#?%cX+mAB7RwLsN965i;So^;nKW}RQ|KE+N>WKSdq)k^zN?Av#+L)g;(OZSdrI>An)tpV-qpmriui#hexQiWn%Jy}A8O)=(&!+5jxU_?;_j$b>u2lCy7&)q(9j(D)OVrv1~FD$~QI; zkFW5DW>{9-W-d6OfGzu7x zNK4yMUX8wVZ@CzJQZ6Vw!IQa9VgB{hxa8qtkcPI_;InN1JXTFFOXxcZW>BopLVtO! zTEYFQ+%NDn*6g2?tGUm!!)E|S?CUW1`zLbW8vIW<7EBtrG2m?Yvyo?=%^^f8Z4Eue zZj%V~kG%I%q&dF+eRxA@w*3bQr0er7!ydw0q(|&8BA7q(NYB5TY^wwQ|DyS=*1yDy z!092x&|z{2QFBs5ctK~xz9w{<<}_)tumb!S2+rgQZIHYN5c;?LWNh%0*d8)`fBhWR zG5v=rXg5g%vcD!`X}*%`7;8O$=ih&z&$j$2^82|K?&3#(@74dwT0YewbP?9jzqyAQ z8sRQ;kjW8y3q9)iglTYcJkuzMgn;LQe@zhuVd!s%oQE(hA;U-t4#O54MoMrPOpe%& zP+=s4Q$_`nX7648&4|YLKp5vEjI0VHC&OrxVT_SsmqbR`M~U>yqYv@PM{2M7wBv|(#+#TSLPe18F_!jIa1;FZ+LI&Z!MJDE3cqJfObQr^4;ZyNIELYX&rs&zGlGdgdkAWh*<{cdhg z(?f4^d#dv0E;LPs%o|kqAw+@l=G(Guy$9A&-n_-F6~}6-%$s{5(9d}TC&56NH;_sN zJL$X$9c?RbsH=2zSLvv}Gp&iVB3wZoDSpdY@7k(oiNtkM``e}gX=EF*-pYUBV6rlw4XZ)FCK+Y z8|D7OQTA7jvd2fiW4P#FWb!5;|I1u$f@=XcN@%M4_iHzGhC8KA{$QdMqqHpOv@EE^ zEo!2uh;~h|0sY1?T9@^2F?pCi6RjA>%>Ov*Z`GV)UH_CbLJ-8PPpu6{W*2-PR$>{*@1C!;^xz(g@Tke8J6atd}hyN(m=gtC`gcj>bHVpx_zG4IdBH%}&RvwzB(+>tnAgE=ODQqT17 zN36dmU*-mw-{hCM)WlkKs>i}QwVkul^2-!n?K@N!hAo7HgAbKN8mrgTLsXEjQyk%6 zPKJsiP@4)<9r_KPW~p8+b)}N(HRWm;OC_GXOjOfOK(bKM^vuO(iF#Qv0H>p(H@e;f@14oqSd>s-C5eHDr z`@0|xuIKW~c)pe5(8_D$`3x^1+g>I(5Zz8|6o*!dL#vKM7qaCb)R4ByF)eLalXLS~ zUT(JQmt$Qt=jFUCw&mEtWmpsix(DbIjqU*2pwV4G7in}G(0WF}BJ!JpID{U(mu+rp zX&WgFMIX_V$+5kD+1JA40L47o)Jnd|Ynp*w0hZS!8wXAn%vOw#SALET# zdnRTK$5`H&H85du+O8a8DGAyBYy!8NOfGJ!@I4moIa(`5jqMdvs~~VaBTi&t`42%I zOw2_e^9f_0E96qIFm@2zFA&Onr`Z0R+C16Zexa$%Cz>aJ-{fxxE)xFdOtr8BL-2=0 zxJH#D9qMAVsjDnmOU>XptU4^TuwHEj&kA*{6X0o~&UFGjDb&GE0Nxe3T!C*3b(|9b z^TvFJ69Bs@d5Q(#YeJpk1o*m8$2b9=7wQ}*z>7j1+G_w+LakpZ6A^= z)klzhJuu}C1m5p+yvdU|ysc*i%wvNSSzTQ$!tWCHKHa$fE_X7>YM7e-hExDi6LWTO z7(%$fk_}%vSPj9|h!ug80Zvw+22fLA4Zs=&P6aqsfztp^Q{Z%f(-q*oL1!p1%nQ*9 ztOHo5z*zuiDR2(JISTNGqVp8^EWl?O1WRIyWWy>szpm_y0)&Ev9mdvFB2bma8hQPO;jsTWS=+(L`7GWT)$6ZeewS|-(HOUh4bxg!o znVwC?$L7oQ#O8zFCDdky-@-6km?~j;LbW^(*zzAAO*|12EB(XK<{g3JawH;m6#5@4 z5nJ4vCI;VOO=_u#_IFXsZCs9a>H(h1vW6f+X-j&xp2rG)Ct{Ou9M1v_i2=#9p-JYuf)YsxP27v7==4W;jU45>?jZ=4_b?{qkis7y{I_#%MsWc+7I)iS#{%P`k3|FCkKCHeM z1_|j0jiw&aqbYwsE}+$%w6cSfguYwMG`2VR$gn3^3qY#}1%Nsz^!;{``+nR1v#IxR zeYkuwE{~N{HPr`WyEKj$gA?_v<3u$LIY|?f6w#xJ9!2b+i5(Q-Yl01S8FK{3>Nx^A z^;`7&us%@m%T_qg+r!4yF#2qKlzx4ijW@z*!8rUetp(3x{RmAiDCYfsOHRsWAZoJj zScfe5O%``m+M;UlS-Hr*8KzsP1e`4RBQ)6I=~hT3xQ4sZ8w@pHXi1+MzNv$;{MEe2 z;QLsisBw#oZK33F4Z8bn?h(owO&!s9fR@v9Bg)I8Y8B-Byhy5E)`9!SXY zgD|N4zym5j2mtGb@JKnMq~5_owKxskPizkW(xn`x%e#0Dd}_Y_>Hm;8`g~YZDN37z z==mk2&Ex7jVDQdiPdBVs=?ZmBSw=S{F8^jk%I@$>mRyfx z$}a#dq{_f`qLD0aP0kBROA_Nn^lh0P6NYi^Hooub6!PimCV$byOK;3l!c~j>$@wPr z*+zeVde@3os3eNH^bA~OA-@5ew;Zz-$~+$vo`Dt+%z#^Zl%<5PQ>}<@KH`gvBZ)+@l1yCGK*L4!y-GjTk z>*6dB+}+)s03nM7w_V)bo!}5OxO;GScl~+Z|Erohr_b%~@v6Dg({rzByCLjGCn%EX zDMH-bJ~k?ITDI~%ruBAR#RJYl5safUB`JlWp{R~CRUU3Abz_sKgptV2u7jb*#V&=R z#?7vQ@tSs^)fY$ui(Q*YP4+5h<17OA#sg;r!taCqd8N6f1CE zzi>{2pvLmadAieEmeX4z7B#Ti7)-Nh_UKJ{6;FzOt#a44QS8~7c2e9;_K`#^s$qR+ zFlALdDg32m4MJI%Pa7~hdJywXy`5#F3VxS!jJf~pB4B&xqiRJYWHjioFR@?l0%p4i z0Uu8_`DqTeb=}oRU7WE#<)d1gN8s1m5FYpBlE`sU~va`Z4<@a zRG&!1q88ROgQ=+EN%5~&?%FO2)XBcj5!xl;ArXAaSa1wmWQt!4eg$#6)KK8sn8s6} zPW6#TXjg>yUq*PAl}WY}{pkv=&*a6?F9s*d7q)se7M@$DNj&;PT|Ivpcj^q5d(a{` zVKvW$UbTEB2;vyx%oKDH@Qa}+i-KP@4r~A=5^gwP2 zUHDhu(OR9wNa|Z}2KXVg;5`uW0RQv|e|M}ljZYKfugw;p6w^YVtJK$O1fHC?DY4n+ zc#rBfW~R+wB#Bqsj7e!F91xmNyHmDTjis18kFG)y7Tx)cNaP2evN{54{5$UlR`R#a zXu&tPq_tOahuN=W+>n7}6&4ZJ1-ERg#&AfO{jjKVz)UlBCaODE<_3l)Zpgcay#HEL zC*Y#Hw2=!{Vf2q;bw%TDBF#rkHX^7MzarIZ4!`NBWNUQPAE^&wjmD}D*EROj_{i$4 zrJr53GVjbs#hh>g2uWL-UTM93XXUraD&)zpRxVo7|9&U%pWO#?(n`cr>|M-IPmr+?S9WsHbR<8P{ZbS^_=^(ISlsf+Cyl6=ANXR@%2xl>Y@ z6=%~xA1?7lag#u)?YE*HIu^Pv5X~ce2mcud+yPoTfC54gMe~eR^k0h>cKCn6hI_ zmiX;^Ufj0w3>nH~bBM-O%9*HNgyttBX**Bm2AdDx8%|=q$|hWk%!Qch!~JIkNgBxe zMe9k*2AZykLSx!B^pz*+)4P6rS6VZQLZRouyR>I$#*iwpcv4fA(FL(0twr|qF9G#x za|e=lk|kehRX(3Ie2p$Z^r0O)gca@-m`dbUWx3bQ(vYL4iLLv=imbbKyJ9=;M(@)M z)PZEEd1RuS@(VK^K1L z8Bvw$LV#Z*@QC;a7S5uKcjBAJ*RIrn5^m}t*3;B98^Hg&?SmEOLm zjabmZo&g3UCk$ZjYAOcP3QgE0C`!&>n`7l_nog|gUtQIOTSv2oAtor)VI}IKc#>Tza zddg{>#4WGfvJ|?^G``!?RA;Nb!Uk1-6y3#MJ|*a{%)dE6?eG6B z3gXS>SWJwFG;sS<_~pv~05u)ysOAN2J8V~Pwc?cS&DXduXxoH8!`!o z-skq-~9tPGZZNi}<{8(SzTwe>x znKFM)AibjAYg0`UBWe?AV#Dbs^f1`#2L;eS(A4gj)IkDn7Q3?lzD*b7L5qOKLqd9f z%MF7LX8v8wBl#w~=h6-XyNqY)QIas1+A#Y07EN(Ok@o%!x&ph50xT zW@as#rUuf9PlVm$J<%`Zx7IJ;Gu1NEUsuEl&HtKFt zd^R;^=NmLvcd>phJv8|H{PT*}om=AtdkDnsJCV#pu0?7<_;g8Azj)Y|pqxlxrWF4U zPQK=QtThE{>}tIe2le@4>~$r3RxgdgL^F|Dm?F6GD$QMgp2E8jeLY#ZRjzBp`Src= zM#OjI58k(Pn`SfJm?Xrd!w0@<=MtQ;vREZ>(pU%K*LA{ErlG=r`}+35*+g5cnM_3Z zX30rI6HObc2f)lh1gHYli;!)hK+`wntpzbYVyv~G!F;&1lS}rh?B+Rice5Qn3OgvN zHgIHoOs1;rfb)0;^Fu|`TUGnZ_)P~sTIV=%=pii~w=d$-FoOxp1xl*ETzO4RW5y97 zJPgBg!7^oEnB?mZ-9?<%umnxdRCTLt8YUJhA4YKP3>Sx3;=VeorrS+3?U6{|emctK zkhcsjqs)#+j|);r-yB>gu_o43gWFp5AaswD#IM71hHc4fnA7itJR7;)4}Q$DT$8ngcyle zharZ#Kky6wdBgSI`s`nb>)zu|XL*to+@ERt#og7Gztde+X8M;ivmDlLtdZe4;m9UH zmEL&}otx&gTvM?wb%dlvWwzx_h%FharqUHu^}}g+=2So~$;sc14p>^&Mt=2`9YzHZ z9v)(n#AGv76~llR#JhqXdo9gu-A>Q{G51n%2_q1@-mSO%{Mb!P^X!xsjgE_F% z;N7A9PJ`x>qCIWj;Fi6$45Q*2YvP346%cJe_5H{RZJQUSyCZG|366O4v(LCT?l8>T zul`6|q@<59dGN)2o34ktUQI5pw4SmbDS6DMUpnYvo@-Y15j>sbB$t}Qe}!ZoqGm(0qkmIH^(zdBS zMg8pdGXY-~Os_P^SVjFRI&DSBk(+&Rg1Je2^N_HqmFI4(1(l~98e4S}u3Ir3OnvRL zjqh18`o#L?jQHIbS?Qhioy}|yj0$mU&Ae#}vi+MeZOkp} zs7k1FWvIGSat_J1<=JY3yM#rl(8}equrMFia|7sNV>9=Mk0Y8|&7Ul`Rkmmwc6tY} zzZC>@@_bqjhdi%8WwERK}qzq@*pEptX~rEf@c9As~dxb=-(NM5{A2 ztrFH;3(J((3BVkCa%U<^w__I>6qu`>W$o%_L|zYtJxynFrH)iKI2bJ~hlxj({pmK- zTr3l*F4AvEHJPnd-&4=DZu$m4qeShp&dGht!}(kym*A3=L4Bw=hwFKro73Co;be3< zwnkI#DK3c}vXp?#v4Wvtuu09Vso^VbfCwCruy%TAPqr2E<`~(Xads?9sr+hrouT<{ ztuCo4W6eGR@8lyXoEqG9z+6JJVTU?RB(phVmBHbT2@M$ocW;}7 ziFCQCysYiN+Gi#W4UK9NKj@73B3gh-X=X{a-|ID*Oev_1nid$$dGB#BBgQ*0ZM2{){x>C=WB})RImk zV3*a5fkW4IT9pQ`F0;}N5_4KJ!1_tC)73Rnl~9{SK+&jG5zw;E7K=Y|PcwX#w`-@DOoU>{HTw#W_qfKhMw8@X{{02P5cr`3=#j zO{dTABO5^BE^GfO9&H&T3tq>33Y>>S zx*Cq~O7UtcK1?>j%ltUiZz?MGCYfF+)5z?5{%~s|u;HXXcU$N$n6zwUx4t*iGv6Kj zt7suv}m zYSm1%hBM{$>LUaQwc#MYlqzJHviyHC6BC$H-6q4+i8Q6odQsrwo5auL(vvkY| zn|m83a>so(e_)jk6^0})#c@Hc^;!~*6nr|Osv%!kFGr$L$z>BxqEPX&?l)AMK@L?4 z2|!x-?rb@0&@2cKFqPeG?ozT|S*LMF!zBERmG*KM91$LDSY8*Idv5R~T1`WL!&G+5 zxtMn*e}RPWQUyyyOh77@2rR;H_4xkU4CLs;?<*PXoWBqCsMI7i(I8FAD zoKJ|z;v1988Fe$LCL_}={uHABs!9df!Ke-~C)n%A(h1iraQ>l^-CE$RtCCHn%9mTB z(A-mzd>s5LKpel zKS@c^m{|5Cy$}>4BY&qQ+JAdN`F&sUb?4S}@=DS4E!O1EBTU2zsoum^_I-KZxI|`! zql(hTUE}vP64|OKbC+U6B><5z%C9GsJiw-q#<`fC@$9*CQ2$m|vNSgryXF?R)_0J_ zt4%I(wa%Rpob-K-H&wUHHZw^UE~^sbk45e?DF5)&ioPsB5?OkG!aXvJ&4HFYGhij9 z#_P6WSxC5a9u_SR_OG-yXtR*bN{KacZi~QV;_e2_WcYHZ<2b(0)(#uFyE}*FtVEWA z%c5Puln>gNzG6Xk!3Wm}g5|PnP&eT`?&g!(^Ca!5_QmTdBQm|B(dB=QZFS6I_6US@ zO6Mj`F4$t1RmbNGnAE-{u^AGl_cQ2N+qR>g%p9oqGq{A@g|q1fu}#rdSQg{6N8#Ie zp$72>zE;r+GG;L)ukL!U&wSIprR?z!0oT*T+)F@8I9D=R>>@dT={u{b4rxX75Kz<&zMqm7#g;UQMiCu(U0u&qt-+eZOC2&Ly7hWQ+iRzX^Lp_F=iQGt_1}(Q(>+;3l?Y@w^O*EY_d;}wPo#Hq zmUjgI@cCqH)Hht%7&w(ME$E`14^KrMV!Z8`i8uA}D zsx}+NljtnzsHFUvLd6Szp&1CzZSoHaktUuD7UvDh2wH(tl1_;m#Bt~Y?WX$n4?YH6 zyi0l#q&?&bsbWUJ<1VS8;>rUkr#V)aL?NzHX=W!0?#JQR&UTAlKGvY z)D*Hp?K-z!H!w+Y{P`Cd2lC#e+1m~NS)iY9$E!L6vjoAZEkfpZDL;iLww$#s-ad)T zg>;D#Y5?h;ylXKw z@&UlPaY*(9=ve)EL~HHaEnG-(arwTJ$8NI`OiIJ$^Wz0<^8Gr(B0)Tl`@?OTvTOk) z#>a7}s@+wvFNv+=Y$H;*PBjq55kQxG9DL!Iip1Obf|wvJn#J4_R0~=HWD-v^#Cg&J+&6YaPqa4$!+1 zWb$Qmf(wb>UKd;8ykNnbSkuvizojqb2?FDZzeh5_ZbQ-&$=KX0B7?+Bo!JRcR7_@b z^%Q@0vGKpyB5?DE+kR$E!GkiB2v?{^wp!O*ZmVc0jS(rXadIRLyvhn%-T#M(h&E7e zk)O;0UOgyajIP!t)JhzynZ=&NjKKUX_46dE8hQU#N)Gp3YZfmW0&}vKoEg6!WV%dj z<4q{m<{&`nr%8(tAcO?n38%dcJdy&g_!@?kw;7{X&tUf{wPIqwIOA zi=Eg#US)SDY=Wd?%PuK3R6}h{91`ONx1*1!`bb}yYyN?3%ahy zVltHb&Bh2-*w6x$AS;G%{Q_Cyy_2j9P+hMxM*S3DN6z}$SHea{I>iFJn9nD{j^e&^ z*Zl5ZjZlfX`BZhPqBD|=Up4E1xan*QTN5ki=c{AAEZDF5hE$nafIYOZ&%4xLexXA) z7g7^S?4X509khC>Mz+X1B3l3axX-3E9Zuhz2`R(GNxc6R)?|47sGcx_9^MyrTdJg| zZ>p9)O0_xjwH8`E^FBTIRaa}stTNp_k!ZySBA-uvrE$roHi zC`@1yi_UNNCGUq?tAaoG02QxRDrTOqxkxwf*aC4lb}Q9N$yu2joJxb`8aIUW9?LX;)uDdhYSFD=xnKJEIJ;u#gG zva}@kvra}vCh}m|kYuqKgIa3Egn5=4Dnug16B#mopjK=%>)&G|3Q4xX=e?Oe{Opk) zjlPyVL`NAs%DG2~V%^2q$GpF{y%+Vn`R6lzVs*;O8R{XpDX{Hl|KG8|P+eagWa~~8 zKhH(7#%mtBUb$>y5!hhAZvS4GhR?GOQc(VakGfOHG_0yNVzK^R`Deym-#W+XR!CJ- z_R(xSQ3KnbIDBX~1j{OMQ|#QONxI3fBr+tB=|rJ{o&4@LC7g%|Q15Og%8?wKaoeNL zlenQlN<*^FVc<{q9n<><3V^L2g|3!5@B{~l%K-?ASjdCAa0IEAVTgk}HH_wO|Crqji^gWfcpDJOmA0nD;KsBS+7 zc0Lk9EqBd6eR`e`eZ$fqny%N zqoK!sFKZruCt_f-TEy%M{<`JwPWgax@}HuL9~`OQ3Q;mupLh#}3+Q(qJUA~z|Ln9_ zPC~t#JMtqHxZyrPTLLN;E2cSzr@L6< zKd%8Yo;dD8GBflG2v@B$2!23M7Z%thj!ilaAqW}@X8V*7uU za1AHgG@@spZ<*H;3wzD^Y3$f^l7~WtbLTsJE$`i>w|zkxcxsQd%gb1~qEjL?J`+PD zL0LRPXr}&|O;oXW*FtmGxl<+m#pd%d!(Fhc zLYoi|;q~;Tyke2>DU-wo^GRF0F7%5_T?(@G!LP1)NYalc*q zy7$wRpfRMFijJE7sDFG+NZA0`QbJ0Bf3)`POWRGp$3TNLQ~|vzS)QIJa?*P+rXRv+ zkGNw|f%27!d&(3WcFzH3zDfylz99JOFs2e!F>ySwPKrlm*m!56L`<0~pC7Eib&m-a zpQ6Z>H*ci|ODh{Fwxm|%K)^Yut2>=h96DO5-PSm^eMcAU`L`v)N%WOPSkBOe>`V}1 zCdjSz*Zf3K5nC&{HA6nvs10GhXvi6srYKe|n{Ic7c`@{aw1Xu!-2poiL9e)@c$aai zD*cz^Af%E==vM5awqRe5vY`Vju5cBa{Ac%&&$9_r5;yVC{O%_FFQ6ojRk5OH82=$_ zF3R983v#R4ICvxT2JN_F2jT5E=oIl3wE|8L1v>Jg$ zOB_Fm3=FOs$2)+(v0W8nD;;7J0A`SR#oB*9d}g$whg!7%!oyhcn&SAyQ-dtbGgJgN z8>B5@-ycs3KyYl$htnKb(l^!{~Gpyb;bp%>{@IA#-i>eiy&tf zhEMCK;hUTAB+kaSs8-7_%zrxYneCu&*w6B3nEPJwQ5?QBz@u%D6EF`1;ja$C>Vn`n zBkWNdkkLMVcbIY&%9tXMW^@+GuVoI@+)`_&?*N6|Z! zrHi>aaB68@EPIaOwga_IiimVfyEG4Pe!@J~qq%OpvA+?0m&^QEaY5H2Ukn?8R! zDrRFhN|#+AMvHBE{D8`^-&$TKXU3a3|C}JR|JWxj^Jiy2k-JA%ATRsT6wU#~TF><{ ztUJPwackK85pSY=QhbAMcQo-sQ?HzIZ`vjgrJVB%!$s?y{V2!Hd_*B5J$|&JWKw#Y z7QtWp7g!=y^&=Ax1>^Hgm-N!dzEG>(R``#%pIaj**louSNZyjB6r}GjrKI8Th5sZI zbeP_t8)=BEm~D%h1JZ4ay>UFyxMOm!&soQzO1V<0eU}DOQPk%-XO`e^dD>L?$B~zJ z70#@#I1(pP8d?LREb4F*GgH3qe`!%DN!+pkJRkeX?i!6|>f^1v9)rF^xvg8A4I(>t zCD*16!w?v$>ik~&qgwPve3u2}_DYVfyN0O$y)LMdNnrmHuRU?^6V8#zIJ+~ZjK z_f>|~G7+vhl3iygzX2L;4OJ4hmm+ppwf+S{;-X$vJiS>zB+)Z=6{~!B(XwZfBO=QF zm;wxYcSEx}3Su5_HtAgAK<6I4x8O(_f~S#JBZy_t`8IROIOdu)jG7dw9#gAd?Ao$R z4iPL3))lKP<~cbx18@_fU3l(H&mBp-`K;sYi0x$=&*=s?Ng*j|8qsX0OqeTG8fg03 zGB^IMw>~y@hu8@>&hMXg>MslnWqRFyUON-=Uwe9b>z$e1*FHeGVo$^+8oc}c)f8Z( znCF+P2r#ru*e8mhSk88?>N1_gv%;~ z$^NV^;0OCmTrAR?`n7+DkEWPI=g*Fe0*i@j;kwu?(~qF+d9$vYHo&VFr%&*Z_=i`b zL(*|GqP`WM{w~jO`nGS=Rkjg}a!EJ0o;nPxZrZ?R9gHPy1QYG)s!u#7{8iH-<-G)d zP&Bgk4gJiar=mJE4>A6^r0u&)4gWc3eWX^A)=aSiE^Zk6PJj!kRn$rz*=~Z$&shV? zh(;B4Di5Woh(cGKYkmTaq}CrXz@JL}k_$N;Y=qMamUSNP{zr+VtG|YqrqJK64=iW> zg<1>iVTc{R^CL^c#+`HOoD0X55D#+E{N?nCl8e0~OK0Ox1}@LD$65YMiQyV!uZ`R8 z(H^vuVS30m5%Ee*??VZx>;IX4--_r$cFew%^@wI-@-S%T@!9SrGlaNqjmVM2(noG= zY)0p=Urh2#+Ma8AivjSbKZQIXwLIB$;Y&Sjllh1$Z;txt55rRbab1>u3w)d=Mxj@4 z_uLactyV22!6j~Nly7{JyI&cInfvt=>)Z3WeHgoz;4nvi{`PM{bi5g6fU|fmS@Bq! z0_lxt6uj+^6skPhwX{0o&X!e26s$TqhA)Ow<8SuF)%VxmlvA85xiH7A z9gU}$TCMN*H`Ba-#SC4o8lpOI)S!X^+{K>L|duO2hb(Fq!g?agGc}8q0DP z$3VE!6ZJzqd7atvX@7<=WrEl}El`VKhwCqHY=4Mvmae^#Er08aAS4ZFq3>_qSb5t$ z-d4($11e+fIGoS@Jb0<0)k+lC@>$l228xJ|2ddQ&5_4Um;1Rc5_VcB}R-+k7rx6Ci zS|9WUr9|S^^e3uA@m^)=cjN23QMjEKTwvVimO6J}0idmK4i4#9zGwTJ!!Ep;n48|u zzPV#T2^MY%6l*nI>4Ub_*mCL+oLe33eB0*F^cu8nK}rH1UCIAI!TwvzbDu5$zGStpb6!{>rxX9Z@4(AM&j0u4$6n!lLJhz)zy zzfKeMss6**tr?)Rymp)Yk~_F;R`{I`@jM>un&-G0MJJ35I=}=q#<{SbBMS$ah zngPR^HEljr(dEDwUxyPsuEaenz+V_Oaco&i@hXW{Cb_0i_VdAU#a%g+Jin7a$7MKYHOh=4Ec|-(q@2VkUf#p0ru_;T0 z=ay7-08l04a2nWPB@Yog#YxGsYbgTIo?0fWErT`6++(gLs53`EbXH|DpzK;k7zRf* zQHk1iQoz545A^k8Sf3Fxq8MOVq~8X@FP_ zwc}jXx^yy=!e!;rPw)(eUTIpyTq?>RIoI2d@=!n`MXkv0vXd}nbo1#Z|T zsSz0eEnSkXFzIAxWkSbTO$6Q3Wn?cgEolGEWehLzSZHFe(;&h8zJ!eNmY5y`6)(Vo ze(~nnK~~Q9s(KeR_d00Skulh4`;N&;RsH+XTeB4+2dtf)-^llXduR%mt!w|uWyJnQ z)RnM-egaPNG}U`kJxNb4I3{1vx$955G@V~syGu>_5IP|b$Lzb$oXQB{_V-^ei;P!T zlZJ6XQ*%|=k;W1t63W_qp|Fr#T_xQNKar>tJ3H&zmZQ^C4t$muB8XZ+{?YFYd@=A@h^O&lPP4gAy4bK4pqV%(eR-kmfdJAP0|D3Aw9*ZO&aBo;PF0m#aF1ZyIIbWYip$>1#;d#yjZ&c);igN!u=K{4=%`8Fg{#W0Yf z4@!p7C~7r3fCCVydm*o4L6;|NAB6XU+%;Ukc3?v@#$w6J?fplC(HKU63`rh94Tvus z1k=rsi;jZ_T^=m1o`#XV{Vli8e5|!t*|yGdRjtIcZeHSBe&~=c8h^AdJZNPi#}h<$ z&sm~ZH~)P+uX9NEoIf%Y5tNWAkq-kH8qcK%856sbjNw8b$6Z^S)Xk@@=iv5g` zocA5Xxv~1#hbl5vm1Ac`2irW2N=QatwP z$|>P849ohhe}y!R!8JJ#d5I`OB$raYICQ&~_5f22Efeu|mpb!`j7MK$^=U zRIDmhIUc{McW}}e58VD4-{38?9K<;=cR$eOA3uaTAQf`j4xWOmkX(y7n}bQ=uYR9X zUCK_7UB)sVVOjUR@vZ04l`a4Skc-T1}+*1qe zQAaEmh#popV26~c8nEjp?cV1jxNkP+kxhnda{=Nkp~umoZKOAfKsikD%@8s=d8)Hf z1c}nfZN^qYsm=6OZd*%EUV0h0 zJN%Zf|8ZUu^I{A(BY_U`*Ut7@gs;&?s!Q@EkEQs;@^GH&1Y9~NOweX!>!CCtlB&DP zxD}^Rd4}WSUZi=C{Wbfe5{CApvO2ij;y*mL{J^Mx90Gri3<+2r2jzKsnp#w0Vx6EH zNV_g<$_uv6bo6=Go9b0j&d0ZI^^X7PmHxc0=RdtC&YkV~%v)HDo)J}uHvWwCBJ#CvFBx=S5XK?>4H`M(P`t{^q%qH4j*A1~wRAYGq8KCsS zvUz_2SJ|k(yxAG`0Bk2FnHXAJUSFL=&ECC?T7B`SGr;AFn~J8mWO4{ZoTPgvE0eeF zJ+7G+9iGJC#keVams=rlLMK;JJ_5<#RW%D33aOB=RYlbnx_Qv=A;?Q0YG^l~(PVI-P_MEd0OhfB6Y6D~3~rZ5dc!Knd$8s6 zHcGzp@N)((i~@Vqz^i(i1AdrS=lQRuKWrF!Va~b)H9c%Ncxs2=g;0_;Z8}T@9P?D$ zO=tpW;P3kDYh6l$)_6y|1vOfO_qS*n9Joh&r+WDeF5gL5|AaGC^7=)!l{WO$z{hIQ zuhrmB;50=49_DD*n>5iK-(BR%z-m~e<&!Pc48>_qBeOo#XpR9^BA2@;0VXBpw?2a$ zTm3Dx!(_@ECTd7T3C8uFivFqeT0LyR>Hc%<;UypzTYy5O;~rc%uDkMKP=XpK+hsAOR|&csHD!;Q*Oml(wL}+jHW7 z{`>~#(qsK?ru2+$oOtYciJ?po}8Yd(c&w)>DLiN=KxeKsUPXYwH@ z>zh|iaSkZwC-@6=_iJ1mpFa8uT1%unJm{J5-kBfZY_v^M#RNYueDBgqrhUKi7lp>= z_2g$OYKw&1!U6S|L4MqZ&o?v;AiQBgzHT>T21zNHSO~^umj40Ur(*iR7*C3F5$`<@ z^CXg6_p4vVOWAbm#*o0r<48$e;F|~GYR;qZ+`JW+Xf$C+g~yX(AqzQ?2N%70`ph{4 zGyGD1{w;a&ASVPhw3&|30FD3XM!yh_JVfA$bEkcVlz~4apqf(efS5QWSY%2?-}>`3 z9W|Gc41xN6G4QnXTYh(L@gNeUD72N1kQm;7_eQnwI=8Q6DmK@0o3U~>mqg$SzMkM+ zb%=J z#~J*wlT6)JY-})eRf6YnbH}8t^)Qxog70v1B~0er-4hbZgY>(Q${pO*4n4J@qQRPg z^yo8H+_txXK4XAaX%JaWPS~s#y7nYRG&(eH18@fVCya1mEX+@sj)F$eAJE#gC%_nx z?ymgNge4OX8utbQ-;OH35dYg*G_lKFO&RD7rdI}L_RuFDfeKbZ0>OXN#S3!P_)!qf zH?V0?(gti)ym8c0xcmi*D>rWyHmCo4jXS$wQY*k_3!1s#tW;2$J|hs?!6Iap9?l%{ z07~+zWz1^DdG$RPB}|v43YnWqc9w!~+&))BEpi(A4q7+Vn)K0QvUZ@)X2sj!7K=nh zAP|n1aOIOKvH|<$!$HR2h~zRvkV;vUx*mFzszrhHhlzo)5gj^TU8l5z48IVw!12Qb zjC(==Vbo`EsiQ}w>=v+tj0>1q6)~VG9eiwJ$nbL+WszXI;SB(~^zhPP$wN+Q%BVyN zniR}J2XVN3(}aePl}E@;n*i7tXyl8byGv4-3^1YdO{ES)$?$O)fnG2lCW_aOtmOUJ zhavx&q!JwAG5#xvAviU`Z z|2SPR^>Hwjb1=Hr@n&t1|Wl*R=J62KrV zkI-qNNA-*qPyyJ)t>hYUuUrjdDlA8naFL!uRNd&!F=$I4pl8L8+EWrc9+1?KY?^YK zw_x|b4p|^n8=1Oz?Q5#uVOEvvyhN2Y-iRxEUizsKm3H9cEHoH?eagb-3j3?KeivTa zp{_q!4Hl3sgwa|1ZhAyDho>H)idX7PUYrhYmBWLPYW%R0zfzS577884=b(Un<*T8E zb7!?&b*X@>Zy(bW&GERv(_-`%1jioI)hTK_{`88<)=`mHo$5-;Ln*(pTP`>>Ud=&gYYB85Led;N=15`}2cl@XW4AEN?zT=yo^?to|Ov)%$9 z(6?!>FnM`sgFGA5QsboM*oIeFK!AWAE4YmF zDL!+I6?}yFxe_(IpY6NUig0)^nuB;BmYA?nE%Rp|CND)|CNF3|Mg0Y zLHZBJ|HI@eg#R!A6Z-d?q%R%3{cHG*0{WtF2y}LkTLnl{wg^WbF3E^qCm2;zfRS1> zH^@_)Is^gqf&GXd$PB@OKCRIOVtk-95bHl2-szj4v@48fY|zvxzx~omI0vtpPuP9r zoC&NEn1$CIJJtYc)JxaczNu4dbK60e?@g%xXZR8{bMpE3`QBH=Rb76N>W^=r-AC%Yh$uo#oTCms%bT(MM;c?!iY~AmVj@i1FXz zc(nt?Ybc0)E}FYL^;>F8K*W#2e4{O-NeReX#Kc0pJVF0%JP=?pDgc_P`^(U6lPc{@ zaTf`6rYKT5|HlXrW9bDts+$6NImjC_|8@n&=rUnw1>#OG|CO&AOhk3jdgbrm#xQ;w5! zRg7!m6Hki*cVa?2=zV*WMsIN7e}twC@YOJUQ)vRxv5Ia9AiJ6Qv@8I>v5im-Z$o!8 zsi}MmCY26;b+<8E7{2oVa8ugrKBlA$bs^~jN<$Si-Ii5<$J;UUJ2X;;{T(N`Dw~V> zIz4u4k<9%cqwJ1y3x&N}w6*fY^THF45-(jXFzlwMk7&VkuS}_SmaBI1%Xk`&AXw(i zUnxVb#vFE{JW!WS0+bwU$K&@<-2_|ef#qYTyDrCHZO+)d;;hOWmRD5nbk1ch8e8gL zI4J}0s>)wv(JSg(hbLgV({j_JM0cU>LLKYs$+S7$lPf{SW0MAVcpoMbS9U;+JO;dJErFS7y#-tbR`0?CEX_pB7kb!n^xq} zqjvpw03c(gbIMrskNVCl=>HlsPGEnCfGfZM1TCwX`=1Z_cBT8DWOc$IHyPsXp%JI`juXuzV#uJ%)x+QzOvO>M$MNK#_0mrT-GZSfxa;`B7_IlKuFv3&& zNzyCCY4sp3kh@0ZTm&o8LstJ>2Wjjox8zMyQ~7NQsDIlQKt8T8xv~V*j6aEWQo+yb zJaYKmAo==a26t3FUTFXXF=N_d;v{%3<7)PZsGa`xROdU!ueZh|Rl^IUI`?`+WnA*d z-W&8dEY!LVBxjt_z8nb{j=v^^`Ndy^9YgzcYw3Iab#zXrD)t|93*Y z$fR|Qkq*Im@lT&PylDs2#s4jzFU?q>cw_|x(K9D?@VYEZ+JvtJFcv?I@3tom2f^GH zG$@d;T02;sZ;kApf&z+Km3Cf16s>)@M&$pGt*?NJV_6yw4#7ik4*`O^dq@ZpAiNZU-a`Xt&Dk zwA|52NPGBkK(*Yw_pj2jYeA>;gh_jLM4Ias4F;3H%d?(~;u;w;bV?<>3hm)`@)S$> z3@6Gd?abJ&c)WS6^bj+LmvP6D6(0*OKbpn;Yv6A4ux7}Hu|ad%O0{SETYgwF>?^=b zBkkEulDh)&GpzW)&}7G=5VQ6eRlx6RPEvIoolqM3&ci&WFYZoq=)ieatymxAd>*3e?x4z6 z_V|QBg`#}hDdtI~uBvMs8#9gp5tS!Fy+w&Cf|qsFHRXxvSp0a5Qog8VMSB`M2TnWD z6*2h;xLYJ!vL4S&$YixK>`4A96=mNDeV4bAjfoc;V2A&R19g4k zQRYyn({xbb#6_Xh5;;*QiK0}dU!|bTG&jnelWC%>~Y~< z)j5oiM0`7bzZ#Faiy>Z3eNBPs_p8N1w6K22dMB^5>y<2pMcHZM>_gH=i!Y8wP$pHM z|K^X%YcGyQc@^r|>@UK=8vPh}{?{MnN896FkX`aoH*4v9I7Ybqg6>hy<$*Li5`cX9Y-hvu4C@}zyeG+$evBg7*v_~oVLnaj z|900I@KpsxbN2|pP+*9Vlx6Mi5o&zb{ay~W#;cK~$NA{hhj1d#D7cEDLY?-ZrWWQ8 z4VMQhWSCNeXhpe9zc`4Vs$-#0OtzCY!WAh7!Pp7)&vEXC6f7#3eu)u1aig9TuwtL` z3d$3fD7cLL@w60o$MpkyV3>-Rg7Y7-^b1N%_CUoE{(Ina4Ea4Us&fw{`#;0gfPG1L z8M^t?iOP`m9!Mg*2gH|oQGhIyALfrpAkOwzCh@az_EM}Lk>;}PD7%faj1Y&uOOp;= zBSW>uGD>#eT4L8@6j1opHIXd)I`)aR0BXNEhCa_{aDt> z(9JG8?s85PpP_`6`^t2-?ppRKXQv7pm|k|+>@^a64hC)#p_9ZX;4C{ipHY)E^C&?FCMq1Io*>Rr)??9`*t7T zOJwPA%-acP33JZx^Jg_Zn;#R5XyUs6b?2JjhcfROmo1zq3O2o|1eyqT{Pl}kB<^F; zQbPn8d2VV5N(u-!0_JFbqp%C`l9k}X-LSg(YC?+X)ad`h5ihirj3WLnbo1yl*0z{J zA(>cP&}%ci%#3RZ)>7?k3U&r|{K(FHk;o*D8|UZ7k9u9rU-;(Cjls^p|c7YaS%BrG2&S_c@9&>)^C^PgTuQ!`F`XqAJS=Ri^PV4Zy)s4v0tNY)do~huTf?=?Ly-HjDflSTM zDwgulY~P+JLrtTH4HpEF@Z_f^^W10DD({7Hnl*ek5!B_Sa}H0{qu+3$rd?u-SXj<1 z#Hq{h+aq7=>=oa!HN+>?mrjm;6fzwCYR0a@%V3P_{}7uS**PEUFcj zWUH%{KI}QGy!+%ZBzfiGO8Voi`mpWDc$QCR3{s7v}Z+DaJQk*VnOCAVKkIz zIn(cu9iRHl3w)JCm?n~S#J-A2ufDIWnA*|5=c$!DjF!kTk}lo1#YD~dOxox3FlmF< z8@uxtaUZvh6(mL*r8N>~mc%_&j#V`h9Ad5=5sy`FzO}mNMX}3hB(#Jo=}RBDWWLt- zNRydL)aG12zfLvL+shq(d0wg7>tn*k3v|oWKPw(4Pb{02fZ7+O<}Z+I{y9gjL;li;BmIu{Kv`9F@%9R>nF&sikccC7}f#vNRD*h*iKlW{|pp~l(Hs$X|x1rQ^n zBCMn5Uy~^xrzYCngm2?=s(WZE%PEX}-R6Dn%z9DZxZI63I??yYi^$~)$^ilHRSUs?5 zW2^GGe(J@xb4DVr8;`>;= z7=T1dS)xPiTTxuq>e&sN(nFGDQ&xb{^JTuWS1HVkiDNDbEYDK3rtmXOEt{H~T-A#? z7QM0HKWwQNQgpxTWPVV8neT=HSBxVq}PZFNBvOzj{~B;_W^R;GyUU{r99zCm*LL2ia`zmaiqO1X8F zht5j2@1#+!a@TE#cWYHfhqqUCtovDDt0>naJ~hgdl;(C`hO}@ z{fw?`p2B^kW!5czHW4+4j?E!MHM5cFo460c^G){MaQk{L!m{D_g=6>^--*ev=Dy4s zL&^0pvq;K&)wX>2rN&#|pQFh-$d+;bos8+7g$SKDcp4DuVpqYON@VtzD*gT$r6gO< z9Mx0NC_8>MLj74adl{cLtvoWCR3D(IiORFmz4MgE8oLlBk$`h@%JmcUm^WSG%qMJ} zBe**y8e&@Q?Cx`!+ldLPCCBuLx2i4Py-2qT+G6g}S@*(}h3t53$e)nHl-cD>$C$)1 zJXR6FL%PDJ`|cl8^qz}_?hkR|7~6EXjFD^XvRBZSrW?EZzO?O{WqE}!p+G%~$K&{$ zLRjHO#C%R&2eJLRrn!qo`fY~PH{*?8oZRk-=X2uKa5j#(A=@J{6(7-%R#hdg4ma)T z7x!2VvgWI-qI5PpR9XG&`4y+c*`V)wsiR~38oLpCxw95KsmHPP9Ag0*BP+LF2ahdp zAFGS$W{l(Qyjj<=%*j_sF5!@vYl@#sS+ni8(h)PwkX4+Ud;@ZQ4s0o>6IHyiC@#q= z|FrX&6C_HMS6;QW_b~a@bFtX{hsjBj>)boW1$R%N#pB$p?#(4x)i2zh_ii8K=T*ln z?#b$~;pdn~1pH>?Z1w2y8T(kER@&hc1u#;FCOjI%~7>z4dwfPdwcdke+|ItCH7J zK(T8$nbF3iwo&<-ME;&0ho*P|u*@;#{7;i&+EKeveeQb;f_;}&%j!SuWm<8of%YlR zO8y?bdenT%<#WUK)mqP~vk^(5obw|dZ{X0 zPGsF$RY;@E`h;u|kWB2+K{)oLAnUmYZ8Ai1U1=wCn*Mu7?AR`4rel&|1{vov__IgS zBh-cr4tn3k3uFTv4aK+=-8-tso)s7?co?V9ORiInnH6-t@GyUtWp3MXG?tbf-+aPz z;CW4e>6`Kp*rQbu>eoWQW`9_FM_h~6kaDmJzpVd4V@|wv3uKe2e9rr$w%t$umOXOF%t3w>>|rP}Q~*P) zq^dCD_EadU+B|flSc_HOB~%#Qmb#xy z;zN>Zh^4J$dr>=!rmuFctgcH>bo$PF6kNG$f8$s2X_#q=_0;@d7BlPfH$DIq~coW z(sRk0lGX_Q&sR%IMoxG&M9h_9h!c7;1lW?j+ri=F%4d!z+7qqybBO@$lwX9V#DaNH zcb7VE#g!*gcOnQv8*nKvqD~=*JgMwH4obVRckFgADr9u?9^uF^;tm+SWSvj5K+k&h zZX$W+`TEFB&GPmcYR7Za^AknaBiCyKvD>f|9DSVDkV^xI)S5J}mvJTK5g5tI*So($ zPCB-hu)w;{t4+V}_)eBSy@d?2H|YO7LlY_1Z{V@wS_L2onk+5rbW3G(;4w>cDj67_ zcw4dhTPXMD^+#8t=;qIh&y^0!pW0ADh~HgFS4WQ@Ie!c9o!EC(BsA1Pn5;9?r?x{f z<5=Kl9glPQp+XcOVo>0ZwP%D{*NT+Uoq)aPvXuzm7 z0Rsp?2|H4I4>(L&oALH8Hb3`U=LV<^Y9oqwkR^A>FR8ad3Y@yll^_qVw>MrK zyIW)584<(&f(Ci7YkxaS_3sWK$-K^KcY->5H^9KSOW@2C{~BuD^#Mg*!Mp5_jhe0^ z#BtvnwYF%SpmOY1T$8<6ojpcN&TYVC-|EjDdrkhjuq)HLkMxz$(RZCAOK@by9Wu3Y zGY@JUdY%zbBG^e@NAa8GG)q?6@e#z(0OL;&eE-gC>@?lb?|p1gX)99Sgab+MP+#(e z4LIK;A?sWYG<6+?R^Ygc=2f&L^pNYQ^;mTW39gLnx|wz!7@OE1c$Gpxrag%{z+)tD zdGFka-xLx$HTrGP=OdV!cWE?UpVn-N##0qeu_s;hdzPC&)m$P5tRg z8X}JFIk24EM_CO&nMGutSbJ5z6bscH{q_=)`0kk%~>~Tn4P56#^Kxs#v&a40R#m{f zD+hgFwiZZ#y{{kKGvcCkhvEUrbD@&mdMBXwqPs?)$Ezo-y>1WMoqa-W0X+pf0hhDJ zA60fs#bAuZ_UD$j2h7Mw;2%EfmK8AK%Op!Sr>8}$DV%X zlbAt(in$JaY44!+KumFeoKXiddG@a2F%-2H)9#J&^sH&@Ux zu>RnH<8)ePC8d?|80CT>>|5{)q<{H1 zrNo?^*ey63R&GwR9}&7|jtf_lkJtqY=#au=w04o@yI2)pa`S~R2o_%G-9ph9z6W`{ zeO&VjDY$1&wjGf)a3LPon*D+MR@M(nrBMM%}Lkr2!TR%;x57>bTqQF9IFR zYv1@hKVqsK*ljcZtlvan&WV|4Q2UfZP)Bcn{$lLq>AaIeyFm`fjL=ef`DgC59q&@5 z(DZ=}bq~_|gQj!%*qso%%<~pn`HS!jH&GtLN)s1^&goTJ0(LcNbR+|sW%$SWb}Rb< zH3Pf(%&TxLd(2L{pprD8NT>&>H$1%So7F;Ia1HA5R~jid5bqp>UDJ|tc-Jnq-0JT2 zq;5guN@P3daC}5+c`4qjfsf_n1?tJG#+5n>d51zmlf4?Oe|kRgF8PG5c0;8G{_F2I zcc^t5;EDIuHCyGlj9x!`)hE8`iFq8}=9v@1l3#Xn{O0XsSKC4c@6a>Z73q_lAvh$Lyfc*ImJ)!YRfx6T(hCzA1p`^=` z=5<2$)wKLALa(5qmyS4s)$r)t-Yt;uYktV>}JeE5)u*J!m zVl~VNOQ!WiAu?7v#&5eM)@->|h?XH$O4t>Gm(nRBsnJr17TZcaCEtZi@J!(vR~bR;?LmW~qAU zBvMB!>W4?Ag|j+p8_(BLp`us(vR2&z3>^yaJfT*~+qJ7cEHdY%)PXFjfH{NAMjP8K zA8TB(i}#@g)p%b@=dJ5Igh^LYT2y)(Nu+Bv#+NV1fONl!IRMX3CvLd6)tejN#KSQO z4F>{q$9%82bo#}*tY#R_F+5to%d#0I;`FE-M%Ad#o$<@QT2`M7ESLu-jY)Z$_hMpd z4n+KESJxyZyDhSn=>udv#YM1xqTWqJ%t=DKHOY5+!W;d@nK zsh7EhoRj$kXBqiC$APOS0@Zgs2X4Z#CH!jJmo7quCvHtKUxqJ?a4+LZsxx+xbPgr5 z)9l*twEV0|yBqd|h{?>`CAQ_rYM7#JCywtt+f|iG5NgpG@FUM9!{{j8pI(}9%bhzf z=AFi&yR14Hdw~?)M!j3$kVnJfog$AcG;WBi(I(brJ?IiTD4GXGbdR1@^_De>X`}m} z-Bh8^XRS@R5`P^!4RjLbspjbmJ+Z{X;vRkj^{6_gNDaj*ZD-dyGB?ykZ>jS=vX~9c zX*Acm!?Xw!`Cfi8NSsB8*A}bY@CtjHOS1EU2eW#k*e2^pt_aTqJ4vy8eA}dMVW!AM zdk*zR%2=%5Vd(j$dN?smS&cau?D6Z%dYqb8uQ=`u&4vxiQ41(;{#;K?g#czkL6lG4dY3P)zn}qO2Op7A)+*Y>pLPLRMPOlK zyc9XRd5P_0y3_?BOrDnI|-ZIL_(QQhQ%sTyFrWTLZPL zm3?q;dyjd}t z@OIfR+`1zS+WmDN_)+m$J4|`=d;E18pZ5jrdG)v1V1I{dVJ4uilwHdgvr|S9Lof9` zvFFTZa{vU3&73$tVHdXeVXu&|Vxf~z%4elp7z+ceUA;h zaXijR=SS&FMqu|xwMorDqZ&pKhoPBOf%PTrd3Q_1Z=}n09M(H)>}`ZMHQQQ1oalzn#d1SN2%}+D@v??@PgUOP@m-AK zdyaKTjC}x-4j~4DJ>mAale`Z3y7~QU)83bbaRbi9mn9iOdntJN@QmTJ7QM35CXO9OFL-U|enPC1B*8-sz5TxN=QJ=jzBnJj^3LOYA2 zTwlS2&KtpbVw=Onv;!w(-+-m!e}+$z?w)DOYla*=Zkq~0N^DNd(47elvwP`K+&y&~ z7;=l?HEi$qQmFITsUtn~|Iyp;<<{h~gAF8q?Q}XQrPyfi&oZ+aMFWJ)Or?m(23foA zbYgrET6%&o`s^^>^m!e_ml(EmyFE4jAurj6_|NiIQWmdQ!N!-^*I>%!-k-~xo#hb2 zk{ys5EsXJUefdTT6jU_V${7lK5ubQ*~1hHPMu@$;|C@&BN`jsg3sd06Hb>~%dI=06+uA~4tF(nh`q=dzBtdkDuEt1hx;ZQ-HjRw#ruG{!vbD4yQ zVH(-i66^vyxDAW59o#jp6zz=eQpS0wRzl;3VS=Go8$xamjICcdNz3$kIhts0*nhV5 zLA`tD+Hdzj`QRX=G)_~9(Q@3a^v+ z(%~OB0rCYgb;XFvmMQaAMjlyG8Yi|by%u9xnUh*=tNvTx9QdoHVt8Z6NnY+%?XGOc zu`jY5vN1^2c7bu=h!w!KdjRKImoxC@Iwk5|)94uBYfV&*g*@WBJ~e9*r0_6Tb-r&VX--v-KR|OTFfaYF}xl0EgZi zb!52i-DCzk4Hae1b$=Bc)S2liWE%8GaHxgscLg5~uN?Ck(9COm#lgxHw%XWJ+)vXh z`2(T=xg`4&90J%p465XS8EId8l$_E|@L{t} z^FpYHD6Vb8@(S}6^I1-V2oPJRKn$cUq%)>;k`cS49)A7k;}DG6&GE%AW6~>ATtA%t zp1c8#!rF|y9RAoI%RrZY%=WF(8e+_!-~qI=n^F1LAesQV)5bj$&$e%Um*i~-d-*>; zB1}HlalzZan^6ZKgi)}E^!g$O@5PoZV3$$sr}+CdeX7!!yP+7vi-S=GH;QheY;o3+ z%NFM`wMOe1GNI29^37xI=!y z;mbakR|*x99jMk;I4F;TfBJqvWxPimlg4tm(6@fU*T*OL#TG3>k|c)IvP^ znD{Z9g6}CGh~v_s6Jfjxwhq}=g!Mgo$5A(-PjStthp&u9g>KYGP{-&!1WoE=q$CPv zz$8M82w~}Kls{+Td52d=^xq2N59t0b=}Uua`8}4OxNnFbw<#FjCxmt;hkGkK4R~OV zeLGaZGsH~J6#FW>Px2jZIvUY~h+r1^%m>K6Q_M&QstX~qF;G|2758qM0xenimHOij zB6pi7MOY{f=tKjT8If85md$Le2sS*2*UzK!)fAROh(d`%TI3_xm)-c*NpjsU*FMq; zZeCyjUMIH5Vk`+c)617Bv~A!ZNW=#=r7@;(#jSt%P}60`z+Nl0v#q+t>7@p1Kh&V# zW!fdN!FR`Ym)k{~4$F^_Ck_j=YS?zh%x>JAeq1DiWs9cP$AM*vU4_Ap+rdDEK8#L} zZPmAj6M%iM{szvy74y)(JpiDaW6$brTXUXcaHEwzcBif*%4XX2&Br3Z5b8s@Wb=VD zi8rG&t~h}|_Py8q4U1(7&xyG)7SY1`eBa^Ppbhj9I6t_ra!ufjc`X=UQdo-?@Rw%@ z+CJQVQlWGwF(4*D<9SC#6#@vHwhj*Ky9;IvIpE*5MtPC1QhGw3A-K3t5ETo=O~LQq z$(<57liaiOrnnZIPLE6v`9~qPH%k64VsXrSY5b{`8{atn%Qb|^e}NeP2J!y~;)E#n zz2C$=<&FmxYy`9RX}zQ8$Dn&agmxcU!i?`j{)583mmB*RF{%VTB6y&WbkmTDNB%!? zM?{7BC76OA;}D1F!T&W!@gxuxYL5+Y2+$Sf@zc?+FmO-`GjIMUprc9T>M#vZJIP^( zFy~{TDA6NAtaS;%%-sKpK7~#GQ|@U40%RZ4G&+hjWB?VtAMs!qVeY|Njl6$MTn9{;LINp8e*3W%!3+wmg6S>hKErSQAy@rf9woE|_+irw8(1$>-_T zS1U^Y&5pRH)A#t}&Okm&nM+(O0(2f!ZXofdu=y0Md9UzYNEph!hJze9I4GnJ6ZU_Q zEGcyZm6&S59(^Q#dt2vU5i3xJ7F571-bXshh-kAE z*EmFG-s9QV9q%{akOT%d(FgvkQR4pv+I_;X3l2hs7v{tRoZxv}xqk-e3fjLauHgLz zir3M~hOo%5VC4O)?*F0}6{JnXvZ%E9KP~1_5%Z4>Wf$^4hKhZpOh*wx|ChZaAN<`a zs+swRdH-kxdr8q5>%I%PQ=L8dKV?a;G5@K1)+Qq=x=~?*wn=hIuJ-A=K)fHloc8_S z@_f7K1LOURMC&2q@51}mEe7QNYuCTbJbOx9g>jFc$Ja-hsc3gDKjc2`;EJOc$$mz~ z-n}Gc#J7aX`U<^h2f@tm?o$~0w+DN6*Eox4v^BhiXKv5)|B}ZUQ+bK$@jqLy3ICTV zy0QKxiaR|FiNHY{+DdGzfro9|Njib)Quq<@}D?#4CDHz zMjQVLlE1G;zLY2x{$Z5$%{3yT_>C~Ce+1-XB+)4<;gK?RQ=UCQRsOGap+Eki>`2Zj zGVtFjncjOwNtV-f;Z)#9+ygiizs6hHdHc6ulA_F$d%AjDe~%ybxX8kPXR` z8Xw}RJ6IPb2=2b|{e~9oH4)^BaD$lVAoCy?_=|kvFS9628koA6S~fvgj3%ekp~IBY zjhn0Zfeo8p_!NAfjDOXicH{RpogUx^bvrMACyeH#>~@-QqO6uY2>=KD?)v!$z-Lxx z0Zl}(Liv0GR0e19(>%G4%zQ6rCuY5Py6yJ@)Z|((?A3yrFPzjc#`SnREeuy1zFFps zcchti9+p@_dG3BT45!I7AF7S_bRWJN=Tr-2t!6!9rOa~TxiJ{kRAWo2;i~5DE^F$( z$eg8Bb>f06?J4gi@9d1zrkOYT`!6Rqh*)E3!<`oj7WAu#Y7vY3(M#C|NrrBK%;BZ3E)c-p zvqq-rDymt(=E%@*VTHIBe!NnCkXl=5;PtzswdU@+16T!Y`~8QIUDV%Zz)K8fH{c`& za~S}NzUDC3cT6!i+|UjTxRDx{Gc(h7Q5!_WB0K848miB0#+-CCYK`b89mV zOpUusZ{;sLD;UcWW|x2pq=}5*oVa80nQ)k~9oyEYOilc2q@s zLQ|dRel|SKZ^)aqMCeOsRA;R^GFqmq-DLxUTV}hPVzDK*U+q5kjp6;y+>xGJsmL%|(Iwg%?+0-vJg^!FPG(7I*GfHYv34QJ%^4^MZnD8OqHTTiVka^|Id}@0-4zkeZ z&P$pcNR_zR!~U@>!*0y0`$RViFE=|*uOlT_u)@{HUTJVo-DOVthwmoZJ1{Khl8inN zX*@*MHwQsRpYcGDt9&)cEwBCU{j+{sL#B(j@7npIqvrl7)aG4K6Z^N^!>OeF2vLh)fF=1#-$1k)xd#YLSl&R~K8IR~YUI?q*27xPeBjnu z`3Ldd=es$5pr{Cm6tR$R`pSF0Tu%Y;&9ap@mvswJs=F>y7*tPMVh_otv0zqV`f#d|I(snFAQNGSJpY?y1<@O;Ztv%THZcck6c5~9kv@%9SA@r0Jq%4Ekc z-DREa0;nFR?sA*3ub^<6V&dc0?39$B_+2q8H~Wd;=@tjl2JT;WXsun8TErcG3Hhd8 zt3KLta#8+W&RWxBR_jvKh_I{!4qV*t;&J$7SG95uveh7r(@Uzr9@5IINPTGE>|dE& zR_BPUJ%Av;w^G=>OF__MzC02=JR4hQX8huJ{@0tRC~s%+-1 zsW8;d)o#q%jP=k<#@x|MiQ|xrKajb`LGb;tWCgxmo8=bqtTHs(FVt6tMFpxAp2m4b zEc)EAsWa!Tg<@)yKFIh)jFp}{+LAEpnXt*7Ig-5`!!}tk`Wj#SFY0SrkuLo*rtO<*)>GfP9{ zP)FDjv*$}>t(84MJwIuqg)Zv#$i@vfNvlsdg1?N?J8Dq~{Pa{fMW~e6Tg1U)N;d|( zJDNv2w+juZo|Wz<#iCjBYei_6NGX@8e$aaQF8IW{5>O;XP1u6YXK~BBx&8@_#+~?7 z@e@|&g~Dd{Cp;SA2QdD$0gJ49GspFY9NXD|zPMQpkUzoo0}%mmpi-EuMrTGK$u-H5 z<g;=5zH<$e&}i=Lmln2TXEZl;(U=(Bz{k zl#+TBhBFXsrxK20Nj-x$bt%~vx2t_8(|Dk+KATyuc2>e$hQd)jcfKt^JE6L7#_D9z zQv3SrTc?gxI4rj2<84r|c1&P`wGx?_p8Nh($idprmU3 z`WJ9QqGDx1ExN%WNWd+!!81EP;%eXZYMY|1-@8_sk7c~trF4X+P-S7r^tBVZqv)}f z24Ue3Pb5yp2Kt)a+IY4@3>!T^HZ|%KR#dAoae}h%)&MocC{0|p6iOJ;Wj{#&%#H{_ zT1fZbn@dFYN46%qoTcwmQe`& zsxL@1us@p-Bgh(-EP?!CGy4=`9g{TK_=FrZ?y9{C3s(-m;YxU@wCDt?eYqsi@HrjH z`v^VT9-;K~a{}v6SdKETbI6Tf0?DQii1CF+aJ2f3nv7cT_=H?!>PHJ(0dq=QG+r^} z6G03UTZFE~mxP_4uq@Q)Kx1vGs&=Tot9un|9{2eQ+s)Njju zFy@fxbOOMs>^w9;rkDU298-myG)@l;pD8j=KY4eX7Q+S~^Jkw!j@iuCPI?K!o%-}A zq5NQANUs2J{2B+M0qPyHnPpVJvDZan!5V$U+z^=l>o6ua1g-e67oVFI2KW{`Lx{Mo z&x_FwBt+9R0)1OTi4K6Q1KNH;nILJm3?F>)3Kdv;UZtC1b6*C8N{myhb3$asE*@@j z0!z~yAGNJOG2IsVGn*En)Fn#-nN1r|!xAz6%ugzTxqAJrZ zFY!WE9fuOksrRk-)bfM1l)|oVb1i*|o%2o(CTy{fp#ez}Jbf5F;PknN(z|}S5)Lug z^yl4u7nXekJtqQS+*4Oz^n?%DX&GwbNB=r-;@S$R`Kvi+rYQcT^tEwc-HG+Y-UB6n z>kKkW;qp1C;G8Kck3is|dsL@wC;AiZi3vRNz}k#&7{KE@FVNbE&8&J4kUv0(Q~g6DTc`%QDVE(QyLMK>q0oB4JL_b5IP%3w4Vr4Ae3?HX$%`{$Ab~9mXz1 z)A}2u_>^3d1e#J9+qJcj41@TLT$)4@m0=(Zl3_MDqP1;4azV2xiS(H;93MH~GVj0e zeb*jD?Z!!E7zHbStuL6Vv%~kXgT`RXd^B4<2HWAR*2-7t)L$-6zbR#=$N_Qr+8mYE z!x63}sAt7@VuIi&N@1Z0&XR**b%gpv`{TCZ-VBM(5I;Cr$eOWkus2p>5@qdE6x+ae zmB=TcCV@=%=^(thG}QkQMvGhiQ+0$di0-}cZdq@_-gt=qwU;1xvM;_jQsPK{yf;gN zzVB-gpId(nw#RK&#y9l18>kRF_UmiojJZjhH*rX&Ih9R3Br~XpO1%O8DqRCZ^OnzA zgYPsMwV7@u(9Kj3fLa8K#pqg6}%5)Dy ziqAP=Z0w#`O|4QJp2Jm2oX~m(fv;(c7#se}4`wRqAp$g-<`S3+|3^y1NI23mc;0G7>-ND7aPGB&e_L^EST*o8X z5_~pU5XR{c%|6XrAnGc^e~!Bw#6A~?F1HgT=Ei^%xPoK=N&gsGEJt>~mLsIQ0*<1t zzvsK4-sn9(jNW~eSS6e^%Dte4D`g&TmsYrl5~3Mju<2MT_*BduuWTpq7J^`@x^{RCtRL zV<0i9PbkJ5-+$0VxmVbKUJ01KTPQZC&wlgl1rROJZ`LCQm@^N!hO1ap1@Z4;4>78D zWS-@*cjtingxKz=O4Siz)TM?=cNw`tH*v24S^gMv_-y8rZ8qntdjzI{z^UogUr6eX zgn-^%t1hm+~(AC*%rC8elfrxJ8rOY&Iq|LLveX0Hp%DosWCk#Q^l# zcfZ#1rrRP3Zt=!^-}hVn zl@ziqrz78geJ6|F=-6$4DQ6^n*R?uj+}P&oGWUlink&_$p~z*loE2y$=(VSrI%U*i zzucebzzR{NOmpN2$iGM`)=aH23H0_kIS<((=0fsYyMZ#26)?}Ty5b)Sc)$eFj>FCcWC z%q~-PPfRWmx{OAb^}58hzMcz^N<aTF`WB@#C_;`jI~$Htp-uZ#wdOrKG!z@OEMD#!xDz#I z%;{7M)7b%YiRn31kLkeG7HD;|DysK|7HUxoKW=LmD#c_@`Cjz$!>IeamcjlpDOR`J zm6ppv*wkA)8RJbQu<++?Z?C)ck0Y{cjb1}@kTrc=Fzu+GpRCy@Eq zouA)1<`vvHUgLB0_dY{PmVdTJu)4iSC!8~x*KWse*^Il#Wqra z(^l=w`m{Xu8?UIK(wn8>-pXq)5oFD8V6%><({G>$Z2S$zCFFzvnoYaw>q`sXJA!p4 z1c{xUSRvN?dyQ|PM2PjFUav%0{RA}~H0=!|HM~n*?qnX&c>!^R!BDO{J?tv?BZ;atEVmM4w+IpJycHIfa>$rIX zbn)R6B1b-fe_8-&-%6~P<_cXxq~S0_`N2C^`EI1H9J1slX}BCb?;^_y}MxZONi60?dvy}rK4r_CEW)&R`VTa3hLXZejrv`pj#p7XuUQ}n>EjXU zKVVuIj0efB0mU3+wG`9`9;8{H?0a@(1VL+hR=)xax1|J~+I=iGdNIFE-1%&Z*;~1^ zEs1|)yp5a48ome;kO|8R0)d0n)?jyxh#AbYAd3yhZy&3fZ|){DJ#YI~sCy<4O3rF? zB$v!J#HyVH8BKs1K%*c;+eQUs7|xCys{}AE=})?SFj7_XHZl30YpnX>+KV z`Ip`cgWfpW_3-W)9rNgvhK|BL8@s09QJq6hE_yXKq8FMMt~FjStCf3BZY`u42%}4f z=Jss*t@;_7zmk9L?B60I0QlKUlB>D5nZk%HqC)I zn=UV3=$e@<@^XzD{GRAY15~l*{t)v z+TVrBB}V7Zro7LSwaY%~g0_JJj<>};crsRYxKZKXeUpYzcmovrT zP&BZeaEUyfyZgR3uzp5&Tk zv(_@RD6C(i?)TBNt&H0zz4QAS1Bbf6a8&o`3oRq6$+dJ`c9xD&;*yVN1|7r~fveiJ zINx(#hEpwb_G?L8iaUpUZ+QOvGgDP3!pzr4ua}RtJ&%v9j&`o(}7QkQ1u4QJ|N;?dchQ5E=b zE3viYPJFAKRJCD7dAg-=o!(_3wz#f7xwX-BD3@hALzydG)i5AGQ>w-SZ|;bNz;0}k z0GxzXP#I^G_w5Cbgdx3yMo_DJ9z7PpElokErZxlq(mg z9lkO*rR;A#x#)PLqi*s}&u!+hn2rGOP%%wHb=^}uBWhT(tQny3s#7JcU0`Ol+K_x% z!&?6^#*(@~D3`OmsVXY%R82+_`G`Y=$OmnW&& zx86e%8%pbFr>5v5l77;HWWD5vb&!qji zr>OL+jsj+Qzpv8aOpip9$9Wn2-onv#Ng)MD?LV=LHm|-sL?`+ajF28tWQ&eIPaYn- zwflbnPC&80v26QPG8OUoa#=idYE7$3%YSbyuE!p*8|JWj#xAvq1pnOD)f>kOy}_6 zicp~+5u-w`M}|gsRFY66N~y3>*rSDUq^GEh2tbi+WM!vF(Y<0*By5hrjOOl$N`bpl z2!-7~zk3(y!|1l&E}GXDmGF6cn%l9Qj^yn$x!ohLALI$V<&kdbB3^0t(w0|DwMMnQ zBSj)YZK=LPvGg%0-QApBud_4!aGz+j!pEc=9Iz5ytfP}K-_@`n1s4UKfc8%6uBejR zkxF*wFtpC*8tLWHq_3hr)z_0wcBQPIV{8gq_OW2Ri?f_Q){QsG8a3JbdgJlt)b_ZQ zI8KcxdRehIbtQPDCKG}>XShfS)3iKwQ6ds=n{ z+xH#Z+jyX9L#6zn9oZtR@59P2LEsLQd2a!etQ z^|Dvgg`N8@WIN|Q( z$!IVh7oYA_nzbr>U{#ZS_qr9EQhR3M6}bWH<54Sx5s1eNn~9#jwxmv2kEXr4-#2mN zS&`;MypNg^k?85>PJVJ{aPz5@1&Rw$<<(_X@p$6s)i$IUcn-}~rz}ZfI<)E!?%IK! z^H%GU1YSc;w|RQ3aMr$2Z{p@z2(@!xy|HA&)MkAYw~pYg(8&{9 zfunBMo$+Lc6iN*k+IB=oMRRFe()Q3hVu^@EOna>!@1lq5^qzOD@hC1R7K@YIzRGY@ zrW0G{5=*U)yC9QJnmV(GyW*cz?TE?q8YiS5ZqA9-zWEF&VV#x`ncZe=*wMh%U78rvFa zS7We&np@hMn)kI*OR%ke7qKjgD6(k8oF=NChQjzq(6%deWk@2;q};T<=@3rzgrY zLgi6~)&=7F7i&5@V^S1PlTh$o>27B>C8XP&9-f|J?Mv!1cX-dS>ZW&#| zDX3FOF?jX5k;V7iaD)XB-xOUD?{+yz?x#B5WZecaU@z|Esb;HTB zQSOL+R<4`u*4~bAoV9Cn=K<@Kv%t&A@(dc25K$O1MyQV8mc%}RyZFy$4_nI79<>;o z%z5Rhu?nPm`9U5hQnKD0Hl#dCo;CfsewdKM~0@3oFcrKNZP*poaJO@Y~DA7oKdG!Lns z?8&RnUyegdD%u%4ExcCIR%jF*0?xIw%o?qME7jaSA z)6U&$u-#P^+tdEe9z}Lov-93P?)i%@Mc7C(70uZ?v5WAsyC)U(7I$)IWW`HMG9C-- zT?fy*o%f!XbEO&WVoX%Ao?ppRR$Ex5IlHB@`@>d`C_rdY5W6t83e^m?XR8;n2sG8} z5Td3Oxi^~X(h&vitkz_=l|0?2D_JPprSf~c zM_5Mdg-%~8=v?`osECB;NN{l(b)?WEflB%u$txm0`C{U2?t)g8mQ;n`)3mR#efxpN z;BMN{d|+?;cCn{|2aZr$l}JrBW#LA4lhu5l2V$9z#8tCoM>nP3VRyNsA-9V(L~amN znI}_XGR=pFb z@iZ&FboSk`v{5t`f+kiO%FJ}*O8mfs+1gs|J zr>#s=C-3Ub$*wZbJY``K=D4FGFQ^TOiL%ys(v7#mTxqMvX$bIGwAEsYbJE2zEsF>- z)CWtc`!2O8=RR`Ep;O6~ZIPwoa#bMVS^4mYM(rr-rT7{lOLdV6ah?JyvK*MzE5+92 zbF7wP@q2Y+@df`P@#d+)(H1Gada=-tS5X#S$}H5Jh2FI2onw1<)M_c>;AzoO9nZDT zQJb%ci284_5X}A?oWCEvzz|-PR3+pCzn$T%7w}sFsXa`;K z*=qL8Lvv;X`8x2fHS5|CwZo~HGL!70Ty!Ptl*bfzUc3`kNA$h# zO1@Gj^-NTg-cb5bs$Ix}#LJ+zm&Z%1OO+sp;rhthd3GTyzsj8I@>E7)k=+t{OQW-& zlZU*-!aDNWyi|)wnw$J+Zl3%U(N#KwqmPS4JEAJW=z&zqMY^4*%%ixvl~CZW=fYyT z97`n=dI20YblTmf9L3eyQOh34whK7oM-EpwlR<~}tXz7A6Kz2|GX%VFS3Q-8C#?u< zG^|}pgL}QoWX=1o=5UdSTG3AF)iCD`n=|^wlVnaLh{4%p$I(x&v5Gd!K5mm>_CTcT z$`g@9I2wu!5rJfpj3b0?Rh)6Lx+%3pY=Rwvcvs(`QmU~A8d1+2;k9H9eXSllQ(C$}MNs>8PGVE)@r&T|Ad&Mb?v2C+DOlyP~H_ z9VFoqTBcuV>vU^xXJ_p6x!ex11`!)T`SBXaO`ZFqQQ54>n`36DVYt2EzNxhky`LvX z;XH@=QU9B`%5xNq=M^fZcGQkud`I2w`Gw9}6%-i(Mjhw!TCDgczizG~_F;b8jkbX9 zN`$xdbv-y|$a7R;t}f(RcJ@X3ZuU*D<$3(dT3+^5t^H-+Wji7-*LrX$U}wE%)rDqw zbcJ)ON3D0+1#fOouFX}vg|(TZbBoMsM>#6&sFP7=Orvd=kD^+NX6zhW>uzz22#+p% zflIcEJgXYmXypd$=ug(ZRi0=9}JXgArE-5|^Eig|X>4re!bWHrgjaYUbyb>7u^ zKb(K<#^&K=jR#trn)gvK)und%b2g9LyRj81w?X7cY%JZU&bmbPL6%@z<&0#=ragPfo+e;{+zgIhVDLU$205d<*E%n;0_a6)%Xl(F$a#&t( z_04;l-AJ1E?hQJA+YU7C+v%iyaPRiU1Nx=yz(FVQj^G|QqJ0PV?4j)koAxv`9%!!* zwgl^&+K%W$q-{8bt!UY;=HV6wY97Nme4HJvwV8va$!E6az3Zfsms%$+HHC4Gg~-mZ z_5@np-vX(`1Z4IMxJU@jIj1`}RVzm=z}!ZAEIX}_Gihd{l|FPVmev-|9yYv!$7DNZ zACGm)T6VLV*DX{=+*h50c6~--l2u>Y=)_MXwNqp9_pQJv2nF(lgQ^vOg^ zD%Ks7(>A*LJ-5}=R-GJQ0MY6YjjUMv)If^r@dU}ahsw&qPRfZF=LV|PQy))dyG|Pl z0DY#9;w19!$vIXZ=Yiw&UXYXA6tZ-&aPiGs&fN)~#;GiM*#{HHvkoYgsstE?eItq*@2@9^jThuzb_p7X>qbHmA8m*sI(qmL!1%##=}<;?TaTzqbeh|Iau zl4Y^LI15pI{_=Dr87B5GCq+?-di+YMooVM}Wp6_ATmglY?2)Cwn4F7h?)4lob0f7W zE(b|_*e9w^2u_#lF4>!wcIx1XE|=n%dn8bkN{plGNM829U@k{rQ0kx#EVCp#J8h9! zoHPzo%yy2-vA&=Vib`S>KE@J(zQ9qjJk}qJ;zop0zk0E%(=rFfzFyT2e7C9t`maznu%0C51IMCeV8r;fn!d*`hDT1&a(j@*E=Y(AqVH9JwAM-tS4AQs+vN z9aqw6@8VD_A@^yb5zlymJqgcTN+NY@x4uIaN~@6$y<(WMPD!Zj*AsFDQKk}H#FQ(E z+Um|qV=DV~gp{+Ul~A^xrH5h2mh*C%){1J1qIwi{C=(xjiW9j~I_8zdjV7>F-?4k4 z3#k{TXNNxAdR!&}C)K%lOMiaA(jmg}lyhPknTpByn1rPPk+hs*;Z6E+6|kC%E_1UU-KE%)# zOUI*GHn-VjF+0}bHh^9_WU z)s;xv=~&p-ix*Z-{VN`~rrdI}Np&mzVWGHn+ENGIvY)O|Qh<6)$2#!MmaMD$?U5`C z3s7x4w(6tZ`Xa0|Kg(G(j9%Q)-d?E|CabBwbw%yP+uGInzDSVA$-eGnudTGBWBgZ< zqX+aY#HdG@REpXAHTq_**Jz`h+sA$GLWY>mIS0V>Nenf)@$3zGkGJh(+l#wFmc^y> zT-2A+Z5d;+Dhq?2KgOU{g+aHDF=%yR&~0N3x~VXzHO8Pdg+V*U7<6-C(C`?8ZYc~J z8Dr4%3xh_-7<6l4(9SUi-6lKDskDvj>m-mS?sI z-`o=a%*r0ZFn<9TN6>o-WFW$uAG2?Pc zs*PQ|nHz~Y=eM_?N?ARu050xsZ{NYQ*Lb{d)BmFIV=Q>~x{O*z-xZ6nuJjBbiIcHZ zGLbzQrTp);5>{6<;ud^gGTqwS(}Vj;9)b3LEkbEqZ1Kh8Sbi0|O0C^wbBFnv5;#3D z>HdU;eZ6W8+2q{G2O!*!KVT_{+ETG@wJPKYFxOzXyTWQ)xw z3U+m+)Q5)D7C_!jttOQ%Hcw8*#D-MMqoO;Ut5Eu0zlSBe&o~H}^EC)bdXvlu(qrqB zTZ%_f!%@UiV~gVa;!$iKTj;HXD^aa%G)c2~R=Ti}k~}4C#M(6Go-=BTg^#P_!g?mp zIwZ;SC`{(rGiyy8cXjsa);=Fv`kso+gK=T&?9+hb{My2!$RlI>MC@b|Jg zEQ+Hs;cUk1b(ek4DHL`0tMPP9@5rUYl79}prH0i2i%PhN;8f$(r1zr+(5Y1W_r71C z+9@$MkDJHlZ432{t=YCYJ)t=j5j~>Lad80snU7tvt*q(|y|cqk#^rd4tPbqj8?0~L z6|9o|5}xhne164NJ44dA`m&hP!?x2@-)5e-wR`%Q?MwerKrMhJ+mpRVa zcJA`kIvaMj>N{g9evJyIu0QMg&2Ly`1!T35GVcn!brkVt72%E1Zi&j4tG-#T3=f`N zVG`=r$U!-x<(Xf&lTJ+ZY{&YS8K$1C>qT%`k=C5-6=3geV7GTEO}*FZQFV^aVI|bc zgpSO)&4LN6vxr{bYp0XlZjNLPI%TJ`jn(RG7Ru4~lj@Q??rk*j+}G0I8qtGSb`_qL zLQ^8@=y|>QsIR?ymhJOa@i|Ql#ZnUY+O(8sjI)+a`r4;j+Sf(Vsk(bD`W^ce2UD@# zu|&lEpii?}@^W6WE3EHMHlAh$hjMl6ZRv(+IM&Vmup!wi29w(E@&>^iTsA$_8#k9T zJ8Mh2Uk<{dDOn?Q?rqoR-RM^BIYy(ux@hn!U1pcbS&v(4F0U?nXOCXtRy0(tXn3rd z>{NF&W#=)>1G?PPWNVNu;ZE|%jaIiFj;?sFomkk(L6jvoqFL?*^zF%HJZdE{tek@W z&vNpbrc2#;af7;cQFjk#Tzyj{PD+^6a)w;$=GW}#qBcGB3-=MvmZo=m(={3N=wF~l zL;=;bx2KQAY&p4H{Bpe-G77@7x+!++eiVhJ=U!XeWy69Eo({ECs*W#=7SC4q2qt=( zr}3N~0P{*$sHfQq4Xql?MRIQTD@9k7%`@dlahK>Q0V-JtWnnqU>cqxQnL9#=T%w#! zJnZoVERyquOz^h%70I%tR)N(dD)+MkNOJ3_F6UG3riF4eeJ`tBxrXmmhdt>o<%-N~x($_1RI~(K# zf;MmI(qv3c@4Z*nF)JSHoY=V}t!(zZ`SBQMg?Vul%to={0m|8L`Ntx5BUR&lb|Bf4 zOmt}(D(HBdP(Pzx{#0>bGj^wE3!=-t;h@hPt7H7NMeltoqj_|<^F8rp5Mwozr!!>$*|Tfok{jN$Q%J zOaZy^RorjKZ` z%NOY_`?&sWm6%c3fM<5P2-}U=JqfS%czcn!w}tX6i`AK>Kedo|!%2-kdIp*Dz7$Wf zW)%KrJs0sNprs@l(FcH)oBOKIXat?VVxfjXWwLSHs2*|#6UT<+aGv$-f}(ehlD&>1 zi--A@R9!hr;P5E?h`PYye2%2nx!Lx=(uP~|!i`k}o}U+PtXglYtd%%l6Z5Vw%6L*x zNi~(YW0Ji(gS4U~8zF`KG49lDI=@KZO_gH|ytP>1sxb!MRxI#X7p1IXfyda+n>vaG z9%Ex~3Kt7J#unccDHeE)1Kg&lvzC+HKgD-9^}z~!C=h*vM+%oIVzq0SbomAWu%u}ymyV%>PcKK3=Wl@!*M&ASKZj-Y_q=#hj zl|6o}&u13IxXq1G-F8;hIJ;hd!f?@@2%ls#r$>t5y5t4GJww z|Ke~v4r9wnM2C}qzbL!Jk#qgZU2>9Du+H{&H`@|pWr(#`&&5}^x3_U4Q7z7{Wxto| z@_R0h$yTp($-1Y&XO45Oo4N&QAHxm!JSV3J+f&I?cCo`o9w$8&ExaD&>=2Am^KEtm z$QJgoc4g+NlderTjUxw^D_vikT&l*|g1~CnLAB0uQ0-5t$*NeGYU#WcD_rbWwFO@I z;VxN3q7BJz_f#Ue$C1Rvv%ejYjlv=|ljor7Wp}jCGu6regE*o+3a=WeWuDsO(LTMm z--5-~sJmwd+od6zwqkMn;;Vy|HC0=8YzdavpTB8)dClgA`tq&YcI+tM+PJyCy1FJ9 ztga7UOYK6*7kK30mOh(r*-kf98P+e7nEPE5_vEEyDm7#lABKMwq?w?+hYh!XrFK%_Ih2K%GJ?O&% zN~9uttnQA8Rp>u^vp@;9o0jLw0RmXEBU-?sVD{wr!MsZg`=Y0E-#phCxR2@_X_?n& z-%$g#qg}+%i(=<;E;dbZDrMlkr|V>4*0d$Oy}IGbm~v6 zdLk-}L$5E6R!BK&R}f~)-w9J>Cs~$ic8+p6MKAQ6w2GB6{CC22kXwGD=~q)FT}v0x z)l|h#n!TMYvMEMkDk0@Y=LM;k(sYcHlwy~w*hiY5NlFmSx7cTxcrwoa+n9HpY39$} z&QFW|NBQT*G(QYZ1b!qAIgDl#O-(YT(rD*Aoo4jBFY~%e-nuxn~p?1#dNk*ld~z2kJIv9;@03rP7V525lw8R zUF@@p-^$6Dy^HqpTRoMN!#8FgU^?jKOkat-UOLkIX>7f%`b2e)5B%Pwu)W@w_#bGy5 z4Q-|^9OqV!r;;dhLy)#})*GmicF<1FY!h8dyJ-&>X&*IH3+*Q{!zKghc(%^BoAuphf{9jl5#0wlDn|O?4PID?W*`aK=nN~Ue_cn80 z;+%2`6*iCj!EBo`3=vCdaaF$Mk7M`nf9VWq2y+D)eTitNdq$m?pMxT}drb z(-98Y%kgwGN*zdyJscv;;X09m#Xm{&1pA0;KUpCx;hH|c^-q_KEv7I!s^q#`cSeb) zkErn<4R6DbyLx_E+nu_~Q3wh6 zlCn_wxm8m;;!&zIlBdWd58b+bEv8sr&-1#UL=J36(Jsl&r{q4)y-aHLc%G{YDK!uS zMQd|&soFrr+s-^`p9sgsxP+L7gLqN-1>hskmFt@2Fc6UaG@x4CxN*LaD) zi+y)P4mi&75yhF>gPOLXaU~_uS=BDJiQ~1P-K0ioayJJ2l%z4S2f4F24&g@le^S@7 z^qv^4rztM5K=bIRB3mM^O_#E(sJ^gkY7rXI|R`Cv}W2R%7F z=$7e7jvvWwGwb1fOxrvfJ2hwJ#B1e*u{=4pa&m0BIkr44VzHYOZ#bt#qB*HVb5e!tvGwKnaZGOM!F`UOiJcgKIw9e4?uDYiY2tS1LZ&9~ga+&e-GCYge|jVA zASnaJlZkI~La?l=kZl~7=CLFvHFq~-4>UbZ-GjJ0xU~Eh*vomMz&_w%j+v%6Q&y93 z8i5w!jz55M(BxLMJ#sd_4Wk52KbV`V@hz|xX?(qYw!l?-M>jN^1v$!=yTdJam#5qj zPr0Lc<-W=-w-Yk$DR;~*_i<0T<2mK-Mu`)^(o zy?M3Jqe~yw&mLV1$!smm%;wtWv7j3=rTiU32$4&vpI%rBH1!zjMEYM3#;TOoB{aFk zLnq-Q0a|Hl8=+4zM_ChU{FD55p)WYoEvZNGkDf5yf<4jc@eZ;j4*r)^H zs(zn9d&dw{O4)Mbm6fQ*&IHCR@tmdzpC2qL2i}ql+hKE5P*FbK${`&9s1b=%SLl1 zs%O+4WlmRlK>O@?x zLhtF(Qe{Ib;>e+`C0ezsjXobkFO_^bHlEb1st?fyQu;J>iE9~f*|K9&E9`3BhdEu( z+r%T3wb8WRp6neFqL?@Ifa+Eh+AHSruVTqa@I08t3w0$*n35J8pTf*oq%Go%9V}H@ zTIMO*vYMRo&^FhDLrXrgezJ5&mYy0xpY2j}f~gHTZ>lA`-L|ql)?CW_hA|kH;*tus z7R1gep(tixaq=t-O;&bYN_yAKDCSE^^aix<%-ltjRYW`0=u8EP;fU zkm^&;oKnrisXd4}WfXcKiJ4y#Gf&4Jmv~O0W#UC*QTZ#ObkW>!{N1$lpmn?}3A7{yKRtRT8l_g~__XSO&>lUAoqX;5o5a7V+(sLz0luQNhN$%@ z9i>Ys%R9>4HJq+Ph}nAFnr57mpsn-xCFsIQvX-8&(*Y-|0_yn8mn2FRf$#||PX`9vb zCjJ>~ofygyx*Q?f5b6SixB$N2G>XrXVm?=oEly+8*!*4P`ERV=%k>xGpA)u(Wy0&b z1glguQDPA;`POp}c{8_(ED*kl+hjeh;L@zg;jAU^`{mpQ<(%3TQs0wTaIb3TFg)KX zUE{h*t6Y&6PJCa^^ij^o6*^=&LK+h<*Ib&|?yRlBy+p-4Rn`ReKm#y-QeY}g!rV^H4P<1dh4ttMX+6g- z=Wu-(m5hmw)Jcj-J>nkFqX%>Al}1X#-ch5(Mp9NmH`>iYzq%0G#F@8S&{r4f(i(@# z=^y=HjTMa=I-mb#=DMv zA$%(}m+M{)_u?r#6?_3!?KinORA^Kwqc{$;Cadl@LWQPbkd~t{lv&tK#^Rm9nX%nGNKqO*KjXB z1$}W5t#LJTxrb)mGFO#W^m#ZthA+vlgFT?SFghAj8#y06Is}z9aZW@ls!?98Jw~vm z9@DF(#`FW26GZj45S6u&viEGwEoVKDYbh9W59&3@atfknOHPdGx#KBKm61%9a|O}t zH#5DCa(Jbq)#a5O14_GW^xB5yH(ToAH1voYW`33@ZQ}5aWnRCs0wAM(81pRXwVB>< zYVN;|^XbMrS>CkE^bUlMvi8L8M__|&bIlLuw2dRhbm)MtlX}ligm;D931^{()tdTA za#m&?X)dAdxv6IQ>(NwM6RcO8zaDRWnD0o3Yop=H(q z>FYyHh-KK#lvI)1I7-kxqDR&3dgvlwOp| z7P&jO_N*Gkmsf8npVhE24Q@seiW1gMEYqtu=-P>(cLZSGVe-lNvm|!Dy4{JAJ*s{7mj~=))(fVtDE@UTg#WSkcoYh zTdx#2D(gCvCD)y-;n`Z+@3g8_kmGFM?9e^Xk-JL0-zC&(>`3g;|G6aLvBa2L530x8 zdM=d2N>W!U@i>k79P)c>Pm!IzIUG<>fgtMA=xX{!3= z)}QJ0T+7-2V{6rR_x-5(GEeVZqkGNTf}X0@EM-MaDNEIF)IMp%?Hye6m$!Ok%84be z*LzfNPV4=<60FFbMl5ks>rhH#Nbau6%Mr&-bmcpP0~bE~QsYg3yY1-mOF#S#n(&#c zj$XE~X5^-Eb7xI8W^LuiO!b({kMVP7_47240&{1T8;hB_*_^g`l6aXrbDJXPYI1@& z&ZgPM6vtV=%ynNTmYBw@%xkkUe>TTW3-HUdY5o$!nC2TdE9fgBBfu}9m`yWx$?MEr zLhb>%N5~eCEkYg!d3YR|vldL7HlBR)m^Oj@cut#00YyxkMB_9yZE}fEXJJ-|gHM|k z@r|3gi+_9g*TTQUzBQcu8ctqdk3fsS;mI=$LkhE$meSN2hUw5tX{P(;@TSi&&83D^ z2){8W8+OU!8SL9|yf=y?neaMo+N_lU;w-J?qD-50Y}zz=j>ZOq(1^Pt4Je-h)Qnfs+G8&H)EOwKxj zRyZQnSf{EH#H=ISOfws}sg6i>G%(CMVvd{O7pd|a0w%*X|6iUQnNy5e^N+-yx&HqT zCtzy+kxXz4U15$}%n!>)Y(I^g73HUrrTxBfOF+#!#)2^G*sNoC*((CaO?*tAENjx{ z{G8c>-UJT!p@3#h^K*PW92>KaP8(lhGR`_Sp~QzL`j^rm+#|<{)|j=?YYzFD%$>k0 zjJXqZ>JtKMkcTxY58THm@XrKy!uS%uA(AfXo8~xkLZ!joa#rRINvIbI^|IUIX_HFK z#fy~=l!Euox_0pderEca;M5lLgR8q&x<)V8FDsfG#!HY{nVTk%&zv@cef&S|U44ig zM|SUzndzFInckV6m8|vk?2Vk2Z*_Q=l`ZF1iH@AGW$eSNNS5SCpx|3sYp;%7N!CZO z69&3_@4zBnB0&T;L|}&#L?nVUL=b}or$Y`}IDrK|Si@e}gFT2rN6z4Y49dsv_o}*Q zcBPp7bC8gXM%}MoRlR!k>eZ`PucmwZXn;D>qxdYUmfJ4#gRrB70^q7fh4FkCpRcfi zvpOm81q~NUjrh$1XJ4Vn3zBc~a;{Kf(!<3$WjSXg=WQ4X+JO?SL3q$ZDm)k-gf_Se zgA~8x1a6@e#y?VUq}e|gG?9cJKr(gwQ>YTu!}uaP(kix!O3@OzP#D{#9Y8kjN@dj* ztFxUTjNdC;PRkABOW{=6qWMkSa7x>=DHMT~3a3C#6+umrbP4xBDQY2;ENrt;6h

+rq9T9al$jcC90`W7@B!blR_BZ0C${3t^uKwK9$QC72XNi zYyBqVlzh$;g3w4`4Vw~hcf)0kcFPweOVL-NZ+l)JMf( zGS7LiL%^%-mSz&ksq%2n-f+&|aL(Rv&K~PtLltl|OpciTNLspCVBqk@-%hNKQ{fZc z*T8gENiV~Ap(Z{|k3ev{Wm4L|xrNGDjqS*(Sv|S8b?S~OtL?)brCSLne9;IIKo?x@ zf-7Bcu|%UCFO}%O#4CN;EyFbaxzN&MaGmB4i?-$ooZnW004&oV1@o+htasN%^=|{9 z2;NsE!x2+gp{6o~8Fo1XRx)4_2BioKIKlEC@p4TDOQ>C!(YsD>V~=8<>V8qU4Z~iS)f5}nF3k$26WLVgrKQ7;vcV@N~eszm^G| zC^X{3LWqx%6vS9?=pD`0O)aXM*mi_TTXR}prIcW49S8279`pEfz&8WhH!gB_n7||# zJ0RSZN}9Qn;Yft8`PSkOLQ7ANFQor6Y!B7#)i~4s*H+_K$!fi|Cd&*9m*FI`Bb`&P zn<>T4bP=X^M6m1Z9pSR2_oPr-4FyVklrMs)A|v^QsBea(?!%Fe&xtji5J1cIh8`2q z*&K{-U|^DARWca{h;OLUD$Um_iZQ&KNpYykJsWz}M9XRtFj4 z8m)-FHK27-VHiw_3ZZ#(7i3US^l{6)_`Fnj`4~PgIvweaF$luDgIgUYj1UkiLk|Y6 zfCzC6={W`wl7Z#wez)AZsyh{`+4CAEksJy%MDfB$brig3Dh;uoB>0xiG{ic6&#sU)}~S>_Q`5MVmP zOamhpY*UzQ#+M2kZJ-+KMdudAb%g2$`QDPuNLHX*QI=s#h8?w#!3wP`qlqb}QJi`s zP)DGULjRjqy@|Dhf=^CJNXyrANkUyRn+%>)k#}xTo0ig(hJYhP>u z8{c?nO^_~Q%I`L`p>8;~R}~qwJzp1484CrF9QV7;vw+-lKTF3rnpVy80wtl5#(~DO zv=S&d&K=)TiDY1C#f!Qa7*tt!!51Ik#af5m8prx`Xr!#0{ zBnNG6TO)`_G9jXfW58=E@6xQkG5qO!&Y-0++<^w#s|ZRS%q<3z6Y(N+(D#b$E^#Ft z2I|uo2vnzK-~(`r5^aeWK&d2F!Ege#6D6RgN?aNza4_C(HrBiYJ1AhmN3N*U52&bT zX!^tCHY8l}irfucBvpo1;lpYz40K$rm8FqGCa_{aD7avyrf9kB1}d-N^Qy86Lv`1c zBH+SVqk+WW@-@Q5JTXB%?L9Jt z2}z7Yu$;x3yRueaSRrA+p(fBIdA13JqCNwlnC=XK%BBY>=4-z(Ew8h!ABeHv=aip2 zHa*2x8XmD|S38ZgCc9|8{2#1R=9j{>Aw%lf5VmW4#7I_w_v~XyrRJ(NV)w66Fm$s1v>x zCfAJXcw27=(t)Z~kPu;VyOC~$BpYc9Q<3*gwW{UfhEgNQh8MvEIVv^ME#eB+^?}U( zz{?zSuMluTGi1pqvW~8um8}MYzs0(3(SL<0`XMlkal)R;cwETGA8MlE^GZitDJIv*Q-s(GDzdEftmtQVd2PCiMnkAf@qBnfhtM%vhA2j9 z0-}ckQJfq_iKd%eiOokOqNx7qPEmXeK4)#ZlRL5)GrXf6$+KA}&qkcHxD`o<*I65D zgA0v#TVUDe#AoTo{}qYMi-;M}pQl!x$O$={u#9(v-I~bYgf0~(@8(57qwJX@feR1^ zbn$FH%4fyZQMqj}$N}+X(uuYH4%TPkTvcefbxS|WcBS*0?F(kE&et=~{elq}#?NGh z$=_hraLDcjZB-6(@d#Q)&S6=#$=fE%z233n5R>jFC<8~BP}VbJq)s26oed*7ios*^Obx_DoOxW(=DM3 z_;?;_0_h2ZEw>^bjPwm+D(POjTzHi#w~IUj0cq))Vk500or$8z=o0!s32v%*Wt8KB z4QE6|b+M(hv?`amTT3UyGY-}`H(#G+-#;iuKb^(KEI*+R2dJTCV+G4R+HrWkWy$## z20bi8&Hv7m;6&yL5;CUnHB21_Xe~#&To9r2v_CLM)^)$y_UNME(@5WdQuvKMeO8ga zkhY(7crMsHcT?0M7)1W(;HDjMn$tvy75kwi&eB)$<(C8dOKmyj4n422CyalM3MlN; z50W!~p5wS~c!oO~u46nv4e~Duk3|F?>ISP<^zq zV(jmdvA;{ccmd4uWkRp`HDPAS+hKCURJkMibv~TXHsZ3- zyJ8L!8YFjJ!}=n| z^D2TS!o@d|UN(|m7M9(m^khupO>>73U zy8Prrv^c&(H(1Vu^stHkT|tso;~=I#d`FLg28(k8v%dL&z&A<+a@-sy{nb)WI94mg z9cJ9bCA~)IXW~+%*CUxmAB(BI=C|FZ%Xmi95!q$rQ5lDQvA>3$OBcfQmiS?y*tF_8 zmfk%(s`e&$B9`9Hi!{l-Ui23p@d}2jbZ=GH4G(4APyR9jBk|9btRFlx&vL3cagEgg z^*p(g5!Ryx3e5iv@;^3f$Iq3X&f#fUPw5XoX;KY4sN}yp3r}nN&;6&8yE*L8^DHT} zJ(Zn*gz2Zangr*)6vzWrK}mu;JU~ebIy_wvzj+xz<~M^%ye!zoHP}VLuB^eX$TVA) z>!Ms&D!r6^15|nm8RTLQawS8q7#on;y&Ks!>W0Z!f@d}9t?!24lHUZF`o@-t=@OHL zuQ5sTy@8r29%ZJ7f)W#F>{n)%Ry8JK=6&c9?2CAYw5&M?2FcYF%tCO_Gujk%XVGb% z>3T+Kx~EL4?KE{b)YFGhH(8Db;}^1Z`Am$#7u8aJYNTh$UB+$i!(}s?5Vn}~3VBr2 zXV{2zGHRIZMbA_bS@vQEtqs|^tnsJKB*H}WWSo+F`dI&-Y#)Bb-E;bxxCp5wJ-v~+ z3~2$X8w5OW)q2CzREK+C&m;>zE>0`h;Q9GBhmIH$foxbz#ei&`Q+pr_kcMO1wryi# z+qNdQHL-2mwr$(CZEeo(?e^1G{Rg_W8WgnIZQ6K7M zZ_jE+6}@^%R(yUD?LA-yoiPu?9~?cff5^Eb;*bDmhH(0&r)#i8l_WyAPrDs&g1pU* zVt`!>hEKu0OndUjqnwnQnzx&&N}}(p5{W-2)`n;cj0%j7ISg!=hjn9o_?s!n-sfSv zm0P{0qEdwr`n5oY<1L|T=r&Rp_GHPuyHHWDT$!}9P0KlmT_m-(&{x_&uqlj_L!7C0ENIzuEcpxDi z6_W~4M-v7KI6sJ9TbUqORxZseX7%?8ecPX(t+qP0WjI=F74{CoCQDO-8%)sFmIaWG z=L1~XC#19m9L2)Nd9Gom^0n&b z2=OSB9~S1n!EvL5-{jUj6&ft%`_7Hy3^K$w6GE}_@?YsYcOV%8k)s!wC*yDu#(UT! z1#9w=A#vLR?ekj~Yznn*t>dPopKi=fd~!*PR^t=1xN8<5P;nTjI0#PL!U$*BF~h}Xgzqw7QVoS~SK_s~u^l}@BsKj` zCCRXH*JA-0@vsBijC%_c{4b@+!w+J_RpR+@gF$al}I@#qsTIz z4gejM_9bn>us^(arcW11$fcs(Ri<8iRFws#a%=-O%i|5O;*ip|DWoTkOG$U-j}?u( zg$EPv+X@6NjMiB2M3(485C&Hb>+^(8g}5>i`H57_ivCJ1d#?j27g+dr8NaPDct;); z-7&V=sCcB1(TsM@I5?uMavBIZFtL#!&J`?LL694pcA6X}v$pa}w=h?U(Lua=!ai^V z6rR=2T3P)=G8EcKEIqw=2Tc5|&Bl~YKX?y+t4h*!+HGOE>ZI^WEX}0nL~cfnx?XR) z!R$^-@x}YDLoboNXRX-zPN*u7i{`V@`uO+Fv*4!VmEg#4+4PXvoCs%C@d@<9GWK{V z(OoCJJUZ3P+IXd9q}9^x^_mp7Hhx~GrSSVw$i_HwncwO#ko z_N>G#_SVu;DQ0bX;2I-`Z+VlIou2-yPEhAAS@1c3y}V2_`UK8c4z-5mcm5p2CXean z@^1fHnBXmP$>Eu9sc*r@$KGJOe_c(kn&)+@{j0T|%;@BU!kY^q{m&FIA|rmtdN%o> z?8(>3;ePNpjZOF_xIsV+-9YB0;}$Kmynm|)16TQGksQkkCFq0SqpU3bvjqq)7S_+F8`-Dfmtz`+!G2m zul-@|Q_uTDi!2-*k_~^WdRIy2cjx2cU4q=qq_i|1ujy2_$J^^zS=k&hGjse4e#W1Y z?+t@j-~N&0Y3tfbH`;6u)@J}7{+azB{~V6x4jc9p9rTA@kGXZruD}afcOS7Hngh~J zSB)8f;}gw2z3(h1oNm8yhldY*3@)!*qbmqrTG}3pm|#AmZNR(CPPg;cLwJd*>w}jH z-7VrAeDqgrgpG4=kUJkqDY%Kqqn~EY5K7<+fW+S95kIqs5k&*rLlc08dm)mq+DBP; z)3T4#g9h=d1{dIU{|m=^3i}sE7ibf_v9s)0P1`?;$47;)UcVi&_Z)}1?i?=TJa})Z z?kt{9N_$tCLfzj7r9P;sOXde9t@kS`!v6?rH0o7FDh|_%vG1 zdRa|Ky0kl1G_I-W!c*ha+pp$7YAXu|^I4_QDo2~&-WNaoKj8d7kn&Q%ASeJp01yC- zfmmW4|GEoz1pxqZWPt!M0B``TEDY&wOq^I)ndlWw9G#TR4IJ#~+^nq#@-YA?a!~;O zzvs&P%W*?A{&eO>rRxWJ%nGaXR=jXxO2lCCqo~7;WH+~5D_HztA z_)O=#ur2~%DsK&w4wZhhoP%wqiPBsB&P+T>e3!g2dKXF8WlV#_B7V`gNOMHb6&c@T z+ee4={+1=<=2W~KkH(|EK3972 zAqd|m;xkh8Po?bQTP2o<{KI?2$WDf52g-R|_*)Fw;y)WC!xCQaZ9yjZE9x#c5xw4b z)HQFqXf57+32CX1(+w<<^sbUS*{m9GcBXT%Y~NcI`8y>(=W>fw2$-)HmNzOnK0Q}^ zl$T8xB)GI5twLT|p_Q&q@(3-c+E)Ph0NcF$&x0})%%7iBs|`C3<@lF?1EZ5Mz;ggC zX#8ybtF(#-ygt76A)5$5+nH_$%G#gS&?0+C5~;c%KW|fd-CO4^keg~Uf$NrfP-th{ zpb(_#qaWiHlQ-hwL-!v%Acpx?;sUdMKXRXL$2uR(@kQNJj099}q})fC_4X9JulQD3 zaVJs;DFZ-Osm3U}+M$UMF<#{LmW2D`kVymp&lkrlDtjh=@!*WoNp;&KDQWCT7H*`S z5iDs4iAR*5d6SC#ql;-8L;F1K*N6TsO>Vg-;Qp}=ekBzbaK(stxTB%#dHR)l1C?xG z`VU-oLsUe6=RD9LoYm%>P(mos`+Xq~bJVr5ISb_IHoM*Obr!e(esz(exFBe>#F_*A zc|+qpF0P^7k-f|y)xqGysA?L@tHdEyNI6vFzJqnlr&+!r<`vM$^QJk$h9Ztmb} z=gY)(|B0}@D}HCK7!yV5A*K)O(t?ZNYmrna4_*7u;lvXlgC|u58|+4$OzZt%@FbQaw#wb_u%+s?&EE0 zcH98v#wKRfW?u+E#Mg;0O(XqsN4BzYXs|$+sY0=Py*SUbOQAUUffHX2=MWeDqon3Y z7~UzpX&l5yGB*6d;MVaGC6?e1unu;1KnZx|@8@$Y32iOUEcLk|cL^ksne5?jRK5IXa9}+D#65Ti;L&lk49W zu0{BCfQS)G|J}}==?{oaxwi@#Qsh;LfZqYF1u4}m;Jw2&QQ||*XBK0G3 z^M=mozm>zE-@p@fgol^&S;jpH+YiZeEmsU%n{rlnh)VF(=OFAsbYJqye5;2PQ%F9B zdw2AJ?)|zGVf%B@_JZ?0^YQIg`&7zULHdgQ2mAY!stH$KM}$$_ai=5j3S%Ku=1&`~ zn-~GZXea`{dgU`3*QUo`AY);zlo5 zUkOOzBWNfG(uULDfii-RozJ5h-?!tQ_k%+Zb}1Knk!EO$Rn*461gSIg@IPP&#dB8Z z^n@-85&GzW6(Y4Y7*kUwc;8KLPG=Tat7Tx9FBIq>YIL8sDa4* z^+aK=E%8^kqL+%C3-=gNVll~3VKfiyxM}tzCc^e4pN2e z3G66FKU9Mie^!f$ro2`yh>(y8s4W$gNN}J@cLKhU^aB0v8IX8qxP{NKbZPFnz%{PL z<|aF2=jBShbz%neBNL=evs(cLLq5Y9gi^)AV((Hg|9x7Gbb#@^-l9f&rUJSt_PS&x z=`qOmp0eBavBr7=$oCQ)Q*M;~rS-ss`?h`G(pk1-`!vh*o|gI^p@@k6`FAPtYw`_G z4$XQ_ZBUu!5ZHm!TpmYY>y~Tt9wEUWn&t6|6-HdxNlKeeKrunJ^5R8mJ5ETw(p2uv z(AP#vfHjb30lEX-eOCwq{u93ItS{Xn{rU+Kh`x=QPvnjXX#@!?e@p?Fd_WQ->ZVsz zIenkGfC6frEPop08%LOoI<2nWCv9=(GT zm?pD}>^U&Ub3F?@6Dj|0;Tqi|fm%Fnp`a(r;t~KJ8xuUUFT@5K>Eqx}U`Nsn%9FB+ zH1Mi>;+^*fxAPob=*OR2fcQ?^>;t;u7~i*vm2(@e-iFnfxkO;Y9|nv}q^i4tH@HqH z_*xjNdGq7j_PqOkx6|M=T?#Mf4*AiAQ0D^@So#5sX+h|o7g|!d$j0T6nY?)e+Xu`W zCo1k^%(>I0ce^q5OKeMEmPJHrI#csc&;+s&8^_Do8v7L!DbktyOa(Q%P>Ak z6ZMdnskh3)pY)O#$OdlO%{CP7yk5Wuo{y7HDx1Z(&=2AK158?=UM1T;RSM}HB4G+< zS9Bh@AI-qPV@B(YYW7jwedXl2NiWvtBa9gU-9%ucbdB5j^b?ALc>}npL&ttpIYR_^ z%}4Kv=OoV7^x0}HiE12vvSWCKUntt>kF_nQ%tufP|KY6WhQ^FRPg zH>w8+Wb#!?qamMsf9VzCsIgNS$-Ac+ln+}S$fX&2&V!m1pNt%?0pdu52B>L$uza3iez>0 zl7DCwQw}S!-tXRNCB4t^=BfQ0$ake~3*+oGQfZd3C)&7l7t1S8gBceGQ$^c9Zl(@c zuALlVt{Taz4kCr@NKDe4#bnf(8ZqYN>Xbq`C9SCJeXB9_VMP;OT0W$3PX~$+b!PUT zcB05e^|dEvk8j$AYJ`;sEHc%C(g3jr$CsAd90FZF*PciNay%RV#C0|>XUE_;Lj~Pn ze0|rcE3Q!uohlA{&FVFh$&aEyDyMh4ZWok=<0NN{KxW@v5j7lM+~cZVQe?LETur3Z zo>Qzrym}|5kLhr-&vM+cmLf4LAnQqi@t_9VlAfIP7&e#=VZm4&RI&Z6yf;!lFh}PN zvfD(jZp3N@!{tZkN$!Won(h~JAMDb}l;TWrh6nlMJ|c;O#D+X28b5i$CO51hv~K$| zm$kia0>igB3;;mUx93+@psO1mW^o4+D}k7L+(7F4NK&t0jVF z+%{|ngL1^yq;7yXGFh895{;lXUrtAZ{95R@|+63OvJZC2h!~7^!=T) z^ZE1!EmrDD9s&%S2xl!iYJdiBR_A{WciixTFT4HeXy@Y8j~`9^GTC3-Gq8;5UdcDvfT{A$`9+$`n}y;%i9SUg-tCozHLttuwOykY3jG_n%ag$ z`hB{i*{!AlWqz~S^KU^uBdo?O?e%EIG^LyadHJ?q+l&F#iwnhD((14NW#AnPc$^=A zeI@JU^Zwl(v-H|yD^0&DjQX^K1*bSn8e@-hA!pZI?E=Hjv zF_aUV7*Rlk|&^`*)TJoTvQCugO z@=X=zJD9Q7fEepp{icYgdAyk^jjt|WD{1HTgaaG#jfpGGFo7opYe9Q}#{C6XjKOd# zSQc6qX6i*q3@8s?13aS;67A!ygSK&uijz>qVF1p+W6rL%BBldz9rXc%(~R^pa9G9l z$6fU-^_Gc78?>U2S{LfVvsZb2t(2V+Tux8LeV7+#m&Kn?gXksjIe|PoK&m5oDdH#H z5E4~U)3}5dhL|Qsa1#4_VEy`#pSRc`h198C=JJowVbc{Bo@AI*e6W!l7w0zkB7oem za@9Y^c#t16GM}1?9gWdDXDRwmV(GtYjKlCKBUqqg$ZdQdT0k~{KYYc6t9Z0TxJsCX z_uglVXr!9v8EEuX;+e@3ic0Uaz!5k^J{T87#;AOnO>FVdsGJwgB2=1%4fS?6VQ!#X z82Lq77AoUO?oEhC$rMXw`+{2ni>g%-dD)zt>kQy2x2r_rjJor!em);pL8guS8Vs}c ze>)%S)Q}7W{nObprG|Ti|Hj-P?wa|JHjBW=peH^9e`8scj9>pqpG$?Vp zJuP1=4crj*Z7|^B4!;GSYtZ$3y+wZVNd^Z|zXC)z@t`^fVs^tb%;c?v!~C@Y39wOG zz+3|C{YT1&@f4OwXo{=%W^p>A0-sZEofplQt@cHx-%nOj*5rDdjbUn^TUyR`hfGf+ z!ArL+czIINw@O-{HdiK?{sv7>miM(M1}OGo`fejaY+S`-{Bc^z4-+3_=;nqTO6f5C z%v7T*v*F~fE-<9Ax?@yS{@Az#+y^!t&1&9{XE7uN+@KbGsaWdqs5=P&I((xoEzX`AW>{4a+j{08-R~u9?y*A z%f;vGSU;P`5E(DEmNBXzJ>(nwg{gl6HYknXf*a~tN&L3*9fAIJvhyq^(V4MV)MrCe zuOk7SoBqe0M-7!Ca*uwFPJ{AVH)#3xGk{)7u+6j^8c(ELJ`*iE?{S~x!O$t`pC3|! zMRR(D0wy+K_XQokQM|Agd^6$MKZm}ux&a8cm=(8fr9qS5Ge$qv?bfMj8&OJDe)b3^r03JyRA5PvJ zAkIE+7{bM{pk`%=ZP7a)?5Vya%YeNC4qidbV);b=bk+6`8IcLB;+IW$Cs;9pPbV7? zD(nf;vcnj=0Ss?|Q3rD#oKIlI+WR}W}28fUK2I)3kirGBro?MF3|dNA;!6drM<}^=~Rs zQbSwe1Ad`F)K1s*@QB-DPN=U`x7g$U{6&VeAh|U@!J7w?5YQaCFMZVH1eR|{BhJeM zAYdOw-TUapTxQMQPg+p?k;9Ua4S@GQE}8?eX{qt_s`LLYEkUX21I*%;vz}Gcad8#F zv1tH5ZWNwz6K;3t8*WtTLJbwJP9&5+j(<)LTvhdHLwa4^9`u0fTIk~@%p;=K?RYXZ z;#3D&N5w^8eT)Q#-m6LnQ?JRRIHkxdcG{l}y-G)nA z^|k7kaqr7AK5CYF)X^Sud>3kgzC1dPbMgQul`L{5@RDrT`Uiw4jWNkz*$Z z^>xN8jjMI{a`I9~%c}i1&A5S3A==vrklE$P$h5{fjDhz>5nN8=?^;#w)Z)z<0h}a8 zrbGPOIhP+m*>#ovXC?m?5!CxeY~@=T&uEfWo_;`il$~UI3&s>{>UWT`%{MzcKz*Wv z1kzDAL-+hU)VZ=h=qVLmv~*n&b$I%=L>bsEE6Oa%=ct30*@38w@xICpd=$t!7agvy zbX3#V7*m@r5jbYFiV+#pMw}1BW&{sWasxUX#i=iQ+CNZ95x=?@8)@;+n3Y4R@+A17kXuNP2KTnUbIYWI~ z*mML`u3!7O9(Mn=hb)skAIN&S{_b`e2Vy^{)Ip$hV}CM9QP3uNZj#t&|2pj-IA2WX z8DBd~vj!>e4xGy81U3JX&nI5%-2no*F|ZPR7BcX~t^+h=0DK(;5IN}S%f;d0>#$8~ zWh+dQNh<1J&mM9E2Og4j&)q(F;rRKzyBk8+$Axxg;_ZZspY6Rv*?h`i;{va|o?*$M z$$r*pJmsL$StTLYDK?ljJ*J_D1-!0O3#)iNEbbi$=@v!XNc^eZ^vLYujD7tq;)hQ% zRx-QB;}FQTE5QwfDN~nzi?)2qpisOnuTKp80-YzC8(*h|tlI64X=INUtYDnvnM&v9 zUAYaQxd~1=|0Q+4u-Az5(0SxYtK;JgNFq8-KJ8KEk-nZ8qJSa^=<*vMvTCsUubOO? za8f-j?b$s;A9b0T5lYFgAN4fG$iJw-&eE_N2lriXXA?zT z?kP~Uz=3}zJ}lT@T*UvopDvl4S1qRmlCRnPxH4@<1$rZT!Sn{RR_fh1Lwr0 z27lp`Z5KQh`gZcUK*XtW18?#~zx!B6so|$#!pUV;c@83F68w=tNIWsB>YJz9wHx+Z zO0j3xIUQk}J-$>=|B7H;tbAi;gR(iy0(h~b?>@11Xt1wv+q6@pk@+~DdkG{oNjx-GdZ303CNk83t)Hk z+a9^BmLq6Xjty>W`M(gpdC@e9!WCx(@GAfHS37UuQ&Z7%>{~p+Sf8X*Y>XV+KbyU? zUeAivRz-DJ+ko2`-NmUFSe3)%qLzLtXBzBgPMi`Ekqt+5+szMHlGLk#SM@lp!-abA zZc$&&9l#T|8%2k6uEWke&&MuEF+Ir!Tno{5gA&f-98*`}} zz(M*=vCh5TrRg87qH^UUH^{~(vJNC83!HsDs;O;(4+2boo0nQY8$*uLRsfE%2?JP^ zMM}3|)(k=Nll{~f96SGBxL9G@;9?(Cf>y>oz6W%uVOuk|Z|5`32qY_gLNW*Zbx+q& zfoc{bWNYn@Ner*C#UFr1mLwF-Dl|s(60+%Tcdsex%j#ES<`5VnHD4AnBjaX@*l1_P zrE;cwTUvO5Z~mSwJTQ9$>pJlsR7cZ|b4@LV>`<;>jM>ArIEMVJ(zN<_2>%llU|?)2 zqXY&|pH-YH!o0rc;G;`e;Y_1jvYM}g3r*>LvY6~1$_?g`6jZ<_5 z1PwJ?x}nzmXX7iqQWnfcGRPu6HfrHeb4dHa;}(p(xRwIJsetZ25%%&WXI`Dv5ieBm z^Uu>>NC{j`E^N=k59@}?P~9P~#W1`Oqff5K9azOsj=yT>p5)!YVii2iCX?#fi^B+{$Ify#oWaS5Q_?E0Lzz%n z?&do8?5*x$UDk8~`NKWsbNqpKxNr8n31<^XJ_L<7mcvpOBjHL>cb-=AdpK@ZN*%h% zgDr&+n6h1fz&{)Q_{G-sSdO`k>-Ot~Uf6Pt+aq z9vd$5{8CTDA#&ADJyo37d*r(Dtx67z3ggFZK(^H=qWnIBH{Cho=-yH}xIj~{Jrs@saLa5~#yv?J-o{=cp z$e`_OCOOb?$EL0HPkV?|p)u(U8HJ11k#w^`M9*n^<(5Sj3A3E+1K#HxSri-@fmhD@ z6^?0~rU90)14;Z!=->Z{tP{Pm0IQwpz>`^~WfaB;7K^;zIDtj&o#- zNjWlDZVPI~I*3vh5=D%f^Ai`xlg76=%e&a(2KCxCQ?$nop~o|kvqQ5BU4L5wGJ2_n z;7k{)UMPU4>MVA`Y}v1<{qvxQ)2s7d2h9e4Ei@9|+#WH$Xy1o3O`oAxb@jLDrgBq&^0=N5`x`j>XCQH>L zxF(So>N(Y;G+yG;6QFurs0k0EIWM${ix=A#xfAJmeYv8<1!VWXr>>8B`pZ_Ff#ax* z3_zu)lx{+LfTJ?*rrI1}4Bz{2U90soW&g0D)LU~bn6U56=eTqlWCNBJ1q!eyK(w@; z0r2g-KAlJy>ncJb;Hk%yt@P`DzP;+qaASP@0$vZsNe(IJs2(R3uef_y4Y|Q7;~Wp0nm4b4z4s3NSo`cX@cKuJev_QnM+|fPp@{ zBghYv);Nz7HPt+Udv-`mCQ6ZJADEPp>ZzXT@B(!kd7@y!*JE1d4{73>T}#UQ#So_=3(?fp&lzhMP^= zI$v%mj#Y%SSo@8fEpM0cViQ;CF>DMMPi}G*R#C=%j#xt%uBBJ`>@j4GNg>b% z{Yu$ZfC-lrC1;inkyu$2M7BpH>L**>LPt+1LEORhSnNNI@wU-%VtH@i;x*e}4%Q;S zr3=|O*S|;lAc!9?m$^0DX502DBFYs7q>{l|V!Zk_W@}YDg;;(zu8VM2kvp^N?R+?_N>NLAlyS;q0X#r0}?YM}%*^cZFqYQ!dl>Bh4{48qy=;93Uo7QFwsnax4@ zmPX687(UYB*{2mSKc&9xy;JnvSf)Xhi}Xt>+x>o{LSgdoPNdjgV`3$lX~*KsBs+`5 zbE@9SYjF}lmdY_tqllj0dE>c=WpG3c3}%RF?D4dSbE{E)9l7whT8OvRaK$g_Ae|tG z3s;L#p_2chYVnvCf}oP};$^<}+@QTk@*nD3wDr__DvB~4|A_&3l!XH~O`gBXm0C1# z3{1YpUhgCKc*vTAym1{gg;b21l(jFo09!oocc4@5pR9Ha6XBrl1eM}~lRg+31e!7^ogh7>f|RvnsA{dF%*|1mphAh03A$T& znC4W(LMs+5)vK36|7zquEu`)2IGtnV+di*wpBR{AXg|=&I<(l;rnHXC!{rfvnaz65 z5$623m>=P?T}nlCLcCq0c*vXVr(xexf&Q8|wRN&gNCB*J*A_DoMTHL=?uw77gab2T zB)l09<&u5wWS2P06CcCCd~?{WV7fNO7{;QbCf{p{St28zH_B#| zku2q?QWkz$3eaG-e(X|S$-Uz6H>&0VB{gbe+0%uS4Qr9M+J#1Qgu>;3dPGMiLO9nS zjKES1soDJM5kiQ5#AdHW1-476<~QU(^0V1j^%l$THk4*X%O!@#sHW9ySEoJ+QLcQW zl6Qy|oUYK?b5m{eSfR=tZi#BUAu@eYhc4YAx=+uNRE}RM2=n9Ts0t@nxC-xFXaUg_ zWpJ4{4u4^z=~eD^lKL@81eq%H8%fpQq$@gvjd-#)YTJquMk+HPW#}TmE*_@8IfoO` z=djS45Px&qvD=U=B)_n|AJB!R`uq5n`!=gw4r4~Q%ff&=*GJDlbH9^k8Bl6HmX#h2 z1bI(1i2IWM#peLavY}IcXn!oXJvutTYHIT=usRB43_lp`$Gpb=!G~t-NdLKs=7P8K z=Kmr&k%wo_Vz}NzF7={>1k&f;3jkoPa)35Qgt$k;26^5V!7CfiB++}RqR~kjwPcEO z@^5Jq?Rx-VF9Gx`vo^+|RLB3bk`QEP>#~s$L}2TI-itJey>V%b zmY_R#|4h zf?T$d9eJ-@l0;eRDqrp|0wwAqBa(t4@kZ8n4(5*)amgjYuQ3_88DwMguEF8g5PH-5 zZ#u`juWi zO-st|-CMy~rl@>DYK+*rIJhPP+KSC=W=Hq&FGyl%T}qg#GuuTzbw``NJxGOkE2N|o zH#ZMEX#Vjh2KDkN)6FF;(sD%>DqVbMH~TcXPp4&k>v5Aqz1fsV{sZ30DRHpHk$ItE znzrMRMHqBJttMJMs6M~_Y%;QO1aSu!a8+&M456kJ_jsS-BxpGEQO zIL09y2ull#hQN;O_fg(EwUp1M;$aYuiE@I~4-zCxJ);0%p9YK>yuVsYmytZ{EKISpL3B1lqIzQd(fowxD zaWsz1n+vKQ03YT`EG;G9&K3FRW!_s~6oqnI7ph{*N)PQ*oLP9O!*>J{cOtQ*)p7Fe z`+~89Oj3?GV|fc@tuUlX#2BbC@-*N(Y(>^1Vk+pl)RNxfLNEQFn2rH-oVnu)j*8J? zd$}kC6XShqv5dd*EMOrR|psB<1P9KA@PlNK8j=h^FR^YyOAzRn^m zX$FoxfXNxV~FTFROdHu6(6y4AYr#Hl|&gjD2S_5OUh0lX%&f# zB@{gBxaZ`GY9w9OR^l3t(T&0Lj6<$rO-+ob?PBUeeWedF=fZ8W3B`8N!*8APLTuHU zOZJv9*`NT~Ov%AukkS+EO=~|J8^Wc{Rad`-WbbV$jK)|)hdeTarnLK#Qk4FMv{F2} zjN>rpZPZ}Do=>LNCpFpi45|7)C;LQnQA%CTt-k!{I$y_PMNu7icMK%i`!E$25%Mfa z8)`I>F;<(%md7#a7!it}qk$IPFlne(yM#KUM6!1z>12<9cBn(zF0<-~+DdCZDdtUw&sY+^3 zv6+x{()Rs3y=mO|9ifG~wnTj6!+l*cK+%Sex8s2X-AE~0g#^Jecbkx+QhC!DPo=>1 z_-H_+UbB4&E9;ZV4PDj_pX`b~ifi|q0 zonGbk=h>24Ry|(Vil_Ga=C!Gj@-Y}^-slKG5k}Yiz*eNQ$yBC6iSm80r8*-rK}HO zMw=U%I<*-RwO-Pn%qZ>j4ja`>w+@>6UX@v(6nV7%lYS~}ERtpWdp-2XHhwIXqOYt; zi|on;g_ijsge7S8=PK}lbG76$K;P_*a4kRXGY|MHPjsY+n+Tkcz&Mw#WNe>}MnG3p?f)!p3 zweeFz=M-DG8C4Aiw5v{Vu$Eo2p35G%EmcokH`*6lN-=BT9mG<7KG;h-&(YRZ=~K(A z3)D?6naE@ib{kpd+z0vKE3?mV`&wBl>;Zt9e>>JOfq7!DtCsf7&DKMmA5*4P8W*d= zOCL1EOps{*sKFXvV=-B_*ctd~GPd&+Ld<}6>RNoO7s_(f{T?+bIJ%p3^q{BzF%hMU zQDOgd3=1`QS9`pzZGS$|dzq2?Fw_=MDw{^jb6nP|&ea=4s<4Ca+S{R4zK0cQ3e%n9 zu1-8Ps~$}yVw>KsFNSQC>}x>Z4A5Ig}kr!A6esx;Q16Xumzz9FAS;KjJOb6q3l?f zNN~ukr4b$t%C9ONr08iG(QC81wrdO<6w3+NV@sO%vswX}!L*Hy{z-@-PQAeip2@~g zp9~+r@BdpFDd$DUQ(XPE*i!Jqdrk9w5^RUNgH@e;GRK9jTfukzvHXS23O=wCv7AuM zh;7hl*3T!q4c|#1Sy=n?J~$k0B^?#KOhA95uc?=B$#NKNcfKntjUiEsRdd}C(mGka zH9pd6G|aUUTK79x{_-_r3PFCv56Sh;rS3O%rpJYynTD50^y$5fkdWu%p&ZG;4(E3^ zHXQbtD6RPE(B_NV2==kt2_-2^dz~gQu_r2_A9RLpiXLArUI&GyIeyQDJGc>lH_FoY zI{Ky%d!mty#SXQHMiMZtTR+)3A;G^lD#AgB1H~pFaI$tvXQ^TL+5k7JTH_bH=5~{v zg4lGk;^Rvpz6NghP&f&E_zi{%Z3}~#Cykprrg5&(|0QaP|0C*W4=2x2b&$3tG9(2s zp1oUtJZ0DTU!rE(H+tc@WvP20dYP0`cQfG|QJr5YcC-DFloWi0ag1?r-WJL!_L zelzvxMp34}G0PTr(kSi5PjfdB0bBnMMSJ{5(T-v6JqaPBsZFXAu8!t(D2ya`!;P2ETYgFRNNRl7onOu9`}^niV{&4s}$! zL|oBbSiDcM)kKz?@devRT`pJKFYWBC5w5WfCkJt%oujCs)nMB z8iq1VW#XA@cvKMEESg}m-oG&%)}Nf-;81w^DJ_*%@&_Glr=TrZ300FlQ5D$sp!;e( zbXz{MKV2VlNDUEuR+odJFMsj=k3^||NwnL0!{UEQ6y=}?*UmZJyqFFg!EbwPuXj?h zo!u#n$0~AWUPqYwR9LQunQiYYdXz?>+=r$0H_MK$2FMWSw5YIPwLiCOf)78MXpoh6ac@V z4SgR0MI;#)rLnd8tTgbZN*38dnK9AN`CIK^^r1jj8Oat#Cy zl%wZno`&ucO36i@P9!n1ZtdphHFS zMfx!_N7)^Kch{d3eeHN4U(>yQ%O82IDqJ23N}jm8%~A$iKFMa%k@R;@`#qIU9d=Sc z4&D-z34fesvNRQ1p@%`hYI~R(!~rd@1w2I|O+h3x|8st5SUlRUk5PKOz{805Mn=(t zLJ`PQVXf}(ui}=Gb>3Cw$VT5xnG6sXm46%me2@Rb*WCE)%=!Y;uNZ3ZM;_t27TBs= zF|Fd@@12TG&rKOWLJrz>v$CHRi0SvDO@5J?GKAu+JUUGlE#rxd5NvTe?*dkyQCQ=Oj>X3^-aSokuUMfo+T z1B>I(sDK-bE~|P`{&KX#KGC9kKY?%qlxlI~1fr_J3ZS+ZwBd~e2mL6}zz7%V<4loX zsb)lQo(pmmUb1l^4J$59qmp;v(qROIH=MnJAB>r{3?#ahU>%8Cnxa;q?+p^-(^Pc9 zY6nVf)?RI)x|XArQ5prDv=UoNcimYM#(&^jL{y=I+ind^%{$|lg`@VuTO8lNobXDI z3MlUCKO_;+>#-^Vf_HXKvr+3r&dhqG1yhIjcP~d^Dx^)X?70^L!1ZbN=$p2jrMk+$ zY~O9`UcfRav*~rE3}YFTDt+%4nBPH=8DYhgO=W&S+sF+-)S!bvvwGR<*cwK<5wM_U`lH?NrOCvO=-D6GwZRA@5W58J$aOPrSJOEeu z<6UsKGaU(KkVl{zE;!EiVM$Ui@k`Uhp|x3WF6fgR<4j~}Znr}XeB3GL+4Dde#+xbz zyAuhM!PKJE?Vt_`y%(i~ze3H7Px2MBUUev7irXxO4%EVf$7W+{14ORqJzGiRtY47+FO~w_niZ# zK28ZR+Z>vp7?tETy^WTEDKWGJuw*S$&zB*DYqzdNUmDM_9+`jMpC-GO7T40<|MhMJ&A&1bsnmQlHLLtoxloe_#^`~oW?SF^%1^- zryu7g>A_nYF2k3ivJ~#_F1MFM3j685CQj2>NbCcKGl1_iAAuewdObu1%KXa@mEu;g zgdhsdji&gXGQA=P2J8n%_lZJ&XH(~JWR@RM#F*?Me@u!WAFc6+mgeG?48a)=9VJjO z22fW#;bIm0s7#herS>Mb6u6=-h?Rz!$k%hO^P6<*%<%#YW#*$q?0kC4Wh%ooA==|B z-v?C^vN$DK`^a2`#ztc9)7D`{=gzAlP#nXHRz6US>jcel*`tuUJ| zd5j-oAxx2s38lDIcH~<*R7aYhubX| zsQsVV`o2dWH@ZM}d%SD3S_P3t169_t+X`@woevaHs7Pb*Rmh9BK7n*GY*DZV5|<}q zE1yS|t-D(Mi z1eIBdilEVO>%3#ukgr-jF(S5LpWUmRcm)7lIr7N+%0VlX-i;ibx5~@a6@BUm?&ayMsAA2{BH8f$6Pm@-YISaf4}y!;J`Ln}yx?{oMOE(>0k{D(Kn?Cs z7pA`L`B;Z^wHA=Go|M!H$}2@%GKf*S@HR)AszS7~yGjcZF>Q=bK7eLYqAE?C&~u84 z8!rR7-;%}fv=L1~k0Dk9m1%e&RY;6K4U*bFB~r*so$u<4Yey$JiYH2LBx}1lroGNk z7~XdOp^o5>SG>bTGSHW8B@f!L4&Q@^VuOa;hq%BNLk0Fm0I~=X4o%W zrcU6sE`$u$&fa#uzfHFO-dh;7;%AmBwKUqoTfCB0EeKB0x@N8cO)yrRh@PgZxY2*y z2kTtj_#=1#vPQQ`xN{@juwv&-ixbi+%ue(|ZogK0-pZ<+X}O=ykxqGs!bgdiAi{!JsKiwy zAukXf$@mPT3?AEQxM{R_r||-SU&o$2sRgq$yRTch;>q7Yy1}OGO#X+js|>1~3AV`M zdKdS_-QC^Y9TsWBcuth5_oL+y^_702^DJH*Y*>IhulgY~-u7 zqo8g1W3i*VAfjZuuU9Y!THF&MW^$v5#moZ?V0Wg@zCCKdpt4gff?k4|y1VNz*^%&M z%g-y5u|7>(v80l_nmqS9h6p}M7D)lz5PUo>kDlX94Ybt!rdD6$NS`KDKjN3gL&=nP znnTKg>X)7|7Pr6AH^mvSq_Q5j$F$EMVl~&;LBTs84;kE{sRD~A(Ww;{{z2$%q*KY^ zI2FZqOE|K&V%X_?p0y&`pH8Fp>S!FY7Nbx1lI_<%f<$ZW4OIsXcXf$tP8i6Xk1y#* zDXCGq9WAno?82e4UWINv*9z1yRj-NdeR3nV?DfA9tqUv(W~TL4^H-k{gs;4d-BuVJ zrdgrl+Cal?x1|!V`!HBRm}}Y_NZCv8y<$ElNA!{m|ICI2tsy3Rzp0h@rzngFZUE@% zjRO4`(|armvB~axE2t`6f@E8k?S&BJwFe5foKolr1>lUAv&Ga zDJ8Q+6dm#YJub>xfPlpIgN@lA{)J=j|` zJ4gb=!K}9SkRLW#8PBN2plwHGlCs!F(AaR;sQkQ$N)g7TN%>icsA=d;`fG8sJh$-A zcjstR#(xeXSCvE>zq?tYauxfb=9z}Aa0_t8n3pZXFhh08d^B^z@=|jki)XKqThZy= zS7e%@nqIKzU;Xa=GRu$Za}$y!=rC74%So!Qz^(*B?uA)$k&-k{9;WJf&Fj9(qyx*jt-k# z!``++BhZ!wC#_I>Y0^8>9JCrZC@CuqXsbwBav{S}Yc??hKrH$+80c8)JdB-e!A46g zb7ZEYn)f!eR{aPbbtG5W2l}%Hga1HXnyvqm^7m!b;rHRqLhDorBGxro?+->Qi zZX&&AI+5EfA=tt<4pgU!XF67`1*`dB*HTRkAHS!d$!lpS3Jr)Oz`j;mCHP{UsT~@? z2gn_2iNV@?wpPQ|kZCYL*T@kium2GnK!Kap^@f@}I$Nkxk#m9FPb1(Hj< zcG3UOV{rwI=!rU|lgQ|Oipis`xGFW>g1At}wTzWscPBjed(onV4o`ZkXQOFf?1`v4 zoi}(BR`R9lxGO&0_wR<};IQC7Uy5tMVA#|bLPHFUk$@fA^OC19H5O~Jy-6GL=9&5RQq3N=wF;Kfenw@H&nv_s##T3?bW$X(hDTlH1DU^ z`_t#Gj3vGgJgi)X|G__%IhYHFtA{_)*2dlnlv3Oo`8I!gzGUh=-gXU{INZR96>W4I z?v^r%%c~~*+lU#jiJzX!3>iL?5ug^eKL-ItbQ>EqcX&jf8JR*P0uvJC-B=|(#}=(V zvkKp$+%YEePvSZ!8`~YhM`AUtDjz0e7$=gjw6_mozbR>rx16yYKF=bw&8yy;f>`>h zx0WSFm;4u@{-`t!asx|`aFrW=>eWDvZ^Sw5&vAx~6qaeQe@kRY_GxA$oQrphGBJB8 zEa{g@@qkT?fG`jX1Ep4GPIA?b+K<4-?ls_rPb7=8fhf+Y%>2a6l6X~t^It}C_lng% z2XAS(8_D|Ww;Av2H~Y}gJnNcPHh{hz4f|5H?1DX2Ca=fnM^1YV_meVlGC)Q6F#7m@ zn2;Mbg^wY(ut0iev}^o}t%J$wG}5Q}P`0F!{LwWuc<0$8D?a2wd1^v@vp==jk1k%! zO_92_&+qU`^*{mlAP}?wn|6`S+|A?LmeE7iir19=)}`vtDt$3RbNXyYW0mgw5@=a+ z1F$I}*Q8=(9M({3F__oK=PPWlC|K=v0YmJ(F9}%Y!)RHsMSjeVw!?LguCQ1Y@TL}A zAt+jkwid@vJ4uOBzm1#gYt{%nT;4jqzE_ncg)ZA-a^u@n@@A;IsS1`jgna4&P`wTzT?-hu}o{0$ibxx>ZjAbXExYW$$PE~d`bEm0J1=beM)XN?#_2P-?EU@657jd9 zdqtBK(imRB7+{f{KdZ4W4&W z>JqqcAJeWkma}T^ESP|kUG0l-K+Z@9vl_zd`T02^bje-PU6Uc9+J{8*v89Jn99Dl8 zw@{Kj)dli)-X*<4RtE|X$TsT78G7SIv3ue42mfTB$%XF~&Wxtx(!(5HvU5oMb(h=S zLhAj+(8SccPNxWZTh`GZas>^C((cP^k@fo;0TTE-iM?}lVGRSM--%^hg-oMA0b8_4 zauwT=-4AwK9kPv^@x3%oO5WY6giiqs2s_n}ClKHr$5if;cE#%FWat^?)o;3q+gxt` z=3S{4Jo1XlBNS3-#Sf2Auf1~lXC>}gQfmE0G&I9aJwRNIkxT+p2$E(diXss)8r>o@ zyT2s2&&Kf80foln%AHwwj$m3_>8y_l=I~ZY?$=!_`5Q!KS-o@@C+%>z^ACDeIn~WRKlB2_@kLy?VKl%m8s37U19GV zb8k@fHADXlKuj1!|I>-+Fx9!Fd*73heTR5BMCG>~Bj{}^`lyCa-q@pvaEAM;!+hoB zzqifRQdP2z4nQdUs@8-^R4ds+PpKe@=giO zp}oYgr!Mor%~QaHh0xiDF)+ZLG||Omx(Bhxa3XEkLOK|S`7gUiedE1jr2k;g7)Pw3 zH6PDp^AEY_xm?v&5&ju|eEfW3)_?T8?3Dd`zuEer?UiVR8)h`Ookkyaok9FL!~SvG z?|QeQ=2bM|LG^xrK`8t0%Odj_iTA!9=s5aZR3vxBb6ek^{gi*48*^P*uDdj7?DBqm zNB$>3&GpdHr}sOz;%(Kx&*)z+Q*8RKIYP)2r=iyPgAY;Q0K07H`Phy# zVY)3jr^7F{?5iY}h-{{$(dx*M>t#DQ(re`{_6J765f-;1%Ff3S!DS}B{$M}r5Je99 z{^V(4tW~GG{irO-o{M-&CNUBX&p_C;>@fXoF&_&d>YcPtBdA<4r2Rwh-eo{`(m58x4pK9x>P9Nv`34%7{$kn>5tg55;DS^^sbu|r z5T!#}A4nB3T}x@Tq-wCmrl(Y;K&n7vKed!;t(2EgK{%_Or0N?vBc1y^)a9ZRXysos zg=8e$Gv9-mzM0*W^BEwn|D;S{$BU4%A}NKHM2jPt&yu1AE`?M_#89wAja!pcN90gA zM_JB`C6kO=8pn`ivCq}ODx&3)=&;QdMf6bIL|HCg!)W3W*J>v{Q|;*qIFTmZ85 z^0-MH6a6O6H~q7QYy;$Y!Lpf*uY;(V;g@N-(gq>pw87w_jj3lOkoBp?29ko_2T_F; zPIS%ThFOrm(}b^@LXjii1Yb~wKIm^WD9XHM2!6JET>aSZB_%Y$+v`pBznFg^rIgG- ze#G5O@w|Ur6$GH4;PBD>Z6A8;VB;KoQ@64YdnUKC4}8Y3B1E~>Ea}8M3NQ79n4Xon z70WP8I6}_IPdQ@9$WJ>W%;=|>5tueS=2F$!_yD6hCRvk0f7P=(!Iw^nJ{&SbBMw44 z!Kyr2R(v~|*R(usNg@QPEw~7@LPntIB(4nKHGYyjmYUfPc%Wl_qJQS!EYm%) zGD1L#^311EG3zKG7l4iwkP0x~Dksr_^OMBPE6sW8a;%AOEY9g(7l3(+U#Dtb*k zr`bXv%J2k}7%2%e(Rh|~QA%6V&m>{v``StGneRj-(q(8~LU)CkRapBNy!1wy;I z>n=PunvW5_Y6x5J#hm8vmsI@~8JUHvlK_7ueXq#-nlt7KT}{fahDNVmhlTCQgGsAp;PXHU~aUhk3R(dis#Tsw2pZwmBM)!w9HFs70RODJ_sor`> zvf3zYj+@--Kq|T5a zk`d{rZU7BUu5A{RO>*S@W6-z^Ic?4Q7@88gg{X24h=^_R!nKPYmX?6(NU|~*&G_u6 zU(|#btd*s~^{v`AkN)IPwvm!unN^JX!$tAGXmdRU>^m7~YPUQ=B5I}%n0Mrs$U**7 zZCsr32q0<w{nWn2idguklg9f)lg|y@>_5In`@zagJvdrJ9I_C z@!WRbojV21nT68XhAHaT>k8UsXSeT1)U+l=GLmBht?ff{kq6=hiVLqS#^0H4Y8V+W z2KeD>RrY!St1D>VKs+tBz0IbQ`EXif_q5i$mhRQj4^Ug z_I3Jtz!^o6_tag2Am8?yDZOrDo)Z7}`TqOG4)?V5aHx3F-=0h%bX4`rl|V+-nTquF z&;_h#iA!d;TN%>(VAD24f*3ufa7-t2p|Ev((y=Z>M_831J7$S>9`46T9mM{Z5gqh! zU6AUQrjl}rh-xL{ASftGyfo%fJbV3{e^BZ8l#D737rIfFTSH79b>{MwgPW>4FFCD& zcAxv?$tv=Q(8K--*k}O}3UaVusBLM2Ge;MYA|83{oIqGm!O3Y^+D>ckQ`IZHB#_yG z^)8gujMWXD#nyVcZl=(h!p5JNbahCN*g@T`(7>2f`$}Rt&T-Z7)3F6zQZx+@|8&YU ziHGTKxH&5NHqD}x`k>sjdGN{)zAH)V$v^x>dpv4K@x-%cQtqrEPI#xywy4BmadN8M zww5fxfn%+ZPy&h??ecU+d$y_!c67a_qL&8On~)*=v|?p36`OuM`ubnw)xvF9486VXU;EQITfleODjnpSO0M;@vKG#@3CeHRbN;{Bt)H0<&C^3xNcM#s@0F4V&2;7uyRAKexrciCNdhSZ#uQ zNhqgqKp%k*rmxCiKUn=QViHy?xFzlpjtbI2{7_BnwEN-&0*M34L!FRM?iS2U85DNY ztAyDhN41|O4TS2uw@+(Af-BC=_Nq(XHqGa17cHMq_R{BAPSPnC6*klQKVFLjK8?|9 zW(&R@l#~6TEc~aOYZ%F+Xm;^^X;ugNG*u$<;!l#4S=QbncT9@3vf@7Ctc9wh)oOnO zf%wsD74=H(-)!Ugoz}&ar8YDrfQu3+Yn1G53V?Se_D@EJl+92yVd(`w@9+3FZhK_w z#smT;>LT6p9GwBU`=Y$&KjA~vORDp^Je9Xu_SN0ogM?T9Pay`~L;gi2h@l_;aPy|Y zN~DR+bM8*`s>J|`jy}7%c=I>fxyyDbV$~>v38Y0!Vuorp`$AFAB71Vw@?HL4$;|@z zf&s>PV<!rl{12c!orl|mUihYhFO=`xhd<7f-~pKtsE$0Rji-9v!ADHIhl`i` zvs!D`dqrjoCO`TfU;)3PdmZT z=?t=)l8O1}M0up*PL~b~l)7>v+C!osc%{==UU7{?)$H6!TW8wLbwMRWdm(0~>N5St zrH%5r<*VwA7hm=L{(OoD)!~n27aAeyaF z3J`9&hbm6DJZvmZH#huUoNj4YMI65>QWT?64s8nEDT4x8b$B<6OAjDvxd$sf-WE?6 zw}>f8Gf~XultL1>JUkc0C4n|ZwWlSIUmdZ}=9EK{W@Fq*61OsZ9mOS#MoDEHN})kz zTuPxqvnM8>QxTz_rBxb{%;uCtqG4m)N&+GOO$N{E@R_mnHCAc&a@Xy}J0ti^{yN93 z8MIO;CsN)KM&;2^R+{d5H|Xi`yIVbl4NzND6evl-dhR|0Dw z4(Znp5f7$U0`>+%fp$qX-Z6A!3}(xs@LC_lc$0%lr!EXX;jUb{th_K&Y4?dW&Yz>p zqO9W^be%k-4uHWB(hGjYDX5xK^OS5ulQ!X7nj_$n@7qqGAXyCwBdF?`I!)fan}DZ1 z9KTDvNR-Rh@!LrsNl8q|^JlUA~0!nccG2beFGE*(SJk zKw)-`OJ}dK;~Jpbo|^XQkbE_S26t#>7erY|9qaceK|(r{&&`pvIux!#oUb@R5$nd@ zjFIu86R(+~o?LFyqH4oCa~-bivUG!vlKdD)OBdxsPB67B;egw0wsfxWypu32{Lw|= zfQ#rRt-(@@TGmd*Tton87D``!PkcEobJrto5|J_wM}aRh*CWxjO~!>X?qy5sJo=1(pRBF8&)WSHJJj!z#&4?3 zAC1_b^$9BWo(L@X47gQa<8%> z?P)foA4_y)dBIcUJZ@5;Rlw;pLNPOcwq3~0dIeh+@ZWjy>U-qjD2swUuc&~`i$kjC zC$Xr23duN|$JU95W?VjLu7Uv8ICvg*PuyrOpRoE-Bju6bq*OUOpE-MYo$CHlt2F!c zZ8md0n*lP~RD0B5GP44&c>Fe^%=Swyc7JY>=e8WT0fGg zO$V@R_BEpY^b;aa{txuK!E2T=$V-lYayj=n?$63)Od#ymx!Sz}Y7%qf8n`>*U0y!W zdn@kIcF=f-AWY9zCGf-gmlmg^mb*QM28K~?8L*2O6LWe{pQT38ft2ojKJ?}9uB;>+ zz{%Q5g`x`a6$dAbTW>|0HlgM5hm|n%)$ve4f=B;cvxZ_NJWRhk5P=T zf63$lCapo=VM5}uqm1gyA)UZ&8KVw2<(O3pV-T1@Ba#b5B~6(RJgLYP{eZ}==@#X{ z)lQYE2;)K8V?spw4`%nRNRbd3rMxl&^~rnMPDaQO4U~zREndg4k4(>A zM-&{^#*&_JqEPkPvMEd;bh9H)21^$O$dM6?Aqnv{TdYg~MjWy67jerYISJH8DpnV6 zt6HD9ceQcpOCwtwD*-GlgOH%>o0Vzp2GNARtNtkt`w7qaH##-8uX zl{+{F=l!9dv|DVc@$^HcX!X`+>hw#I12)(tYnAVDOM4~TZGuI4ctmOZhO)3VhBLFc zQ~~E~jS3oHzt25PyH^QJwrdo|L^l0;$@}RvCeU(XiEZx!#s^;b2hz*fJ6<4fgd{&s z?bq}<#nveUn`G>z;Ixzj-EVH}o$9+O%5s0MJIy*Ne{!6H@jB`B{czPk)7;#hJ(=W( zQa>kGv;UemLeXtvb(RTB|GHf}&2D^2xi=(EaV>D};jhY90d840 zCrBaegtx2aAPN;z6A9cXyk<;Ek|)ePb45Xf^C&kEW)f2?9NNE}kdOAc&oW)PPdgSh zofKm7=sDh;9%Q%SjwJ#D+b}0iGm-XfR*%n0(YQX8P1@uhZsV7X!p78eM9Z8L6~sTg zvo*VR&3XFro>gwEyWJWwQ~Al~@fL76&cfpfGhqq$A81ogSp4PUr*rfR`!H0F7N-!L z7*O`C@c2|m%0^1dra-gWR!1(#jXb&sQYpuI^)vLbza1w~SJz;2Tr4o23sNA`JujM9 zo<_05kW-n*u9S&+FBU7#9yb~z_e}<(7fI^WloFYWEf)^OyML|Vlk`Z|RGo`n?ezH3 zf2EvsTj`@?Tpe86hke&wflLBnxzbfqpV;hkDONhnW?2vH5?$)--bJl7vT82C%@oU& zN$p;;pH52@HkowtX_dfdd>tazC%ERa+SU7M`$Zh}x+rbWUFEA~_!lrp~cD;!B@gMGx9K}m^z$*Z0KM9tn2w2t@dha?elHDoMsX>k9ozjC|1A~bQn(n7vmkl@nu#g<@S3Nt@pfe<`2dqb zz55tmYM*pK_54g-8`6*V&0cz3-_Nlz*=^2d; z-Noz@zbmF4G`t-pI}Gt@O6A}iQ3|Ft(`U@+k^kc1GA9z&Qb!F`+u+|eDwr)N$B|Cf>BvLHZam~I;~ zia3FgcGw^k8x?61w9X~yxr;qNemMsk_L4_wdjCYCblrk>Zq|B^|A(~*I{K|2Rv17- z#DP4^ldh}y$)4mdmMe~-*Rs++sN_1y44YN*oGnw$&xhDB%a7kJI{r}xueB%%ISFoY z^Ow+&TYD0f$XDhjDRVeRDbCnXM=FPC6nsnOMNi4H`JWRDylC`$8PCd9wge!s<*+9t zr}~_qct+iC6xKDzYANe@fs70xCBMi6s#`b^1<>h@sN|9rhRJnK%LAN{wko|n1$c0&aF=vjfL^X$i}lF%#AP)Doet>aB;~&29eMtvNeK5A)<;(5KAL!9y)Yq!G8qRmC~4Yv${kybrG@MZA6kbLLN_>0H0+ zUr0w1kLy+fyirx9?WCrzEi({ICpAX7gaOP_G#D$1@YnSoL$Rz?xpla?-uB*g4dxQ> zk^bCO3p?plTAhlZp1HJ5vZz7bA9HyLw^7pj2x_BLeD&=4Rr!fx`&kF`3%nFKG2(bM z(Mq9~R?f-F+C|?ss>ob-^kq-p_$AkoiB;MZk!d=Av4>*-*q-HhKipP3MK6dYb2o-O znjJFP;3Ip~_IhRX)JJS2U4KX?hvDjSpD_n3?DeQ!Vb9_;h9@xVQ%xyl-(_Byqx46T-hFU+GrdnwN0|qC7;;^ zd%EX^*S{cFi`bW@z>gL?vz2$)ow%w9QxB3N;DlSQw;F!?>v46#EZL)ejTYQaa*a*Y zpZYY40yzGbZg2V~jmCLY@Vi!)q;45iELRyBJrAs1%7l{wm6o%3gr&?lfqY31KUF?c zSzQum(p&~@UMX$9Rh^9w_kww)vx;e|sRGfkAhm~c=MT2=fB!T{aOJ4;8>$ZlT z>u!?7-2({mWZzc3$1aRd`%;G!Vqja&c4tplUd5ig3NnsYZhfgbNFTVROKD&EJqXx2 z18#b0N7{w#mXMv@x>c((lf7yQtCJ3-IHT46gajFB-Zlp1Cqea3hw~NMlN_4waR*ju zau0g1(F<6x#RE?yCdc11U2$jUBKUHf5EPWeNsX}nA<;t6)LoX?8ci~)2ovGBIN9+L zT*yDhMDj|$zPcx5w~T+fu775@XQ~;&$9g%bp@6IVP1-jIH1Lkn^g1gR=PbF}DWe|P zvlMNOK@PjNkF=v*zcD=kXOG$N`hw{w&2$mBSb2OXZ%9sw#Hk045NBU`oHZ?FW@cbb zfMPh0al75S?qeW*4?bmHBvvTZgy43QnIQK?l7N@FgIylj#)GczC7;f$@2DTfP4#5M z;L@tfWku7Fli}H~k7e?MyizDs*{=wlE()`2SCX^*9lmI5B6ahM1jue}<|?I^6BBCG z{6c~j$mlkB)b`X{n&a8Cr?Du7sPiKuoh?J%#;=A=%xa6>pTE}DlOOrVJIR!fY|9f# z@ptgUDDjbhKg5f@0%0&-{OzWC9?Rz)x)PS32QSuWg0H{|e5MvJTZUYY@iaQz9I6H~ z4LK0r)2tpXtmB0OBz7-PH43-eY+WW6-BAf*4QwS zNYLHVx>QJ<{7RN8u@1UKdJEWd8|y@X2~l!+nGKrAM2n=gYBXz%PN;&u9j^S!+juh@ z9274l(|abFZ>j_^kNudFRJX0<{uz3qAd&Os4P`oBg-=lLKr-pZi;VwIRGyTE| z9>{&zcr(7VYmXu6EQBg&T1-72y#;b_7Dx9)6eN+8b>5&~y)-!O^D@`7qf(C-mm^c7 z(#<#zwH?0Xef(6cH5BfXmYni}x8`fxyfi93sSD%LbaL9G$Q+plwHs`SWz*?oRnw@d zGYRjX#B!D;CscI!66jO{a~D5|GqK2tQhi&fe&<|$cu!&Cb=B!+oSoHFqEE!XwQWgb zes!`%-%vW`tq)mwy|G?CWzu)1XmKMQP}(P;n-aHE4T)IkoizIM-^{UfTY)f_M2ESR z3KQO>yA{3Qg~~%l40p^WgX?K_60X0T)ij`ZBF-*RS5-~3t6at3g=F@thH)Ul0HUad3sgTYApJnRSO>z>9Bg_ZQFN&wXdjS= z@Fo_51ty5ID?Xqo{-m{2PO1m#M*%z!$d4`M1i1kEpr2>~eP~b5S}zd&sJmE!hA|+{ z0K+KIV}M~?DJ6&&@WBeI24GqN4PzZyK{kzdkRLiB-T{X3AcX7K%4fMy}wcmLp*@Ss3hMk4@a0+>Z_>iu71OH@8^BWM1 z2GQ)~OFpsf7!IEaf*47Ca6t9O_XJPxS})+AJivJHPYR9xK!3d5_5gpZ-NyibqTR>9 zPt;vO@K0u-L>MTaWb@mb;D26^VP6M6@v3JB{3DkvcKSyrNkQ8rJ%~?N00X$U`2TLl z3Ook;q}9j|{3Q6gjPz^ez(Y2K=vyBdV6QxYk)!x#`~l#H_B0Rc0NqCiyn-|&-1P@D z1Q^lEK25?}1lC76@`9ECd0;)vK;MC{M@zS3L&Ashv<`a(<)a_+2-PP542RrC-8Bhx zi23Rkqxe_1vPpZ8pVD9rzkOk&9^wldoM2zr*a*Ce0Ezw=dF~w;(l=aCI_Vn+NEGnF z3>pG_pn*sMA6TH`#<%gp&&aPp?E@~s{78WO1BwzJlsn}ld}vRnUrgGs(0hXk;(eiE zR@?&zq-p#N{^k>6Gr%b3f&DZBn-BA*5>gN5#|>No@BhB58)z5{>K*tpXaf#nPp&(h zq;CW}?WAvnppeT70kB80Cx?M|KwB0pidYAZhg(Q@fO~uc%4VPbVjq|{AP;5};|uVV zVjj$(-v9ydry|&u0LC~F&Oo}@6W@+3sSf~T2H1jqa}05S+Ctxb4cw0S&y&QH_|6w_ z@cu&&?*P|cHE1?aJmeG1R^rKUU;>uc1h$-H6aJr=2cIJk&}>I8q#P_h5+wJN5qKM* zOVY#W$PAnc;3e^a0Cjvh9Fz3G?%@3zU{|PL1I#ak5ps(exB`|=>ci?t4s?gSLf@qf zun>Rp+<6B05qQ+Y`olbpf5lUP<}02=cvD0>`y_8zJIy3~5I$}p7v{j@uf9I@z`BFw z6YWM0q>tTvDLKNRpk1{gs9=Wxe1WCiS)#0T0@HDnf? z5N-E<;2G8sY7=)iJ8*;4M-a67<#H3Ss~Ol$@`m~Kc=}=Z1c3eEm;b#*+M^p5L_B0d z5C&LD_y8W}A+Lc~$k$!G`%@UzPWqtxqWE6w*amy=Gil3rsVSjumfohs)t)lqTA zLTjeY;2-!mDVNPx9Q2Nl;5jqNf@LvnYgXgP@SsWI*b7$bpu2X-#nY?xH)!cI86-C* z=S7I^t{JEDGF^GV@J{gxgsXVFuK82UdC&6#F}WZ7i%@rW(QSw(PWz-?-s`@ySi>HF zL5J?t@R{2A9kaQJGYG^%>e<3$IccQzj!xl?J zfqu2Jq#vI>sOb2i1fDinF-f>YnN9&Qdc>4BXNVldIaPGmkQc#G8(Y*&_;+dIke=DH z|HG$o3TpQvJ%4QnhcXRV9j%Mo9!XJ;mGzwjedA2@WR$;54@o|vBj!fYOFn98eUHx<7M>pj7FgQ-FAI@MWdIYWjaew#<0vS^!C9^>7}cTiFE%2JP*IbZ$LAqtUFev5^ACiAXFqyc5c zn8j22bD`%sDV?6bduOfdiwRS$l!F4d-(w`M1XeI>b&!nWHZ@) z{tM{|!M2KC>nrUk&q|K|J}DT?X?*hCU|N1G<`*8j*mFs8JFV&*YWv;^8cgFc{v|41QYilBK92|W{_L|qI9J$Y^w^)SVxucxDQ){zw*7)0!ytA9r;*3) z+wblCjMdf@BJ(j{(uY~b;tmap2}qgVvWnH4|8&%;6zkC|Elpg0HWTYSr(nbhiyd1& zZ7#V$3CMba84srq_nHj1F>F~+_O=AO|K#19>DfJZ+cJhLib$1Tc^u;BFB7&SzSO@t zJHE+dbb+0ZWB&!?0Lcft$2;k(cxY<8e&u@H z>uqeU_~UqH7&Cb(LtKj9>-sh(dixM(sQP{5tU;R;+&+c}b6>j)(!AQR4P)F_ zjsP{PR~xqF$X{zsSrPr_FNQf?SJnXM}0=~r_oO;*Zk)-N|rh-gE z*16iWjKUK`0;7(W0ICGG>q6D$du*)dp#I)`?bEuK7iDz(j{`fa4Z`N$BKhsZ^-bfJ zRlkIU^$K09C=m6gfTOo&@`e7~T|JyDTumOqN`r-5s`Np}q%AHyi>7oF!$H-#)U!sb z%42I@&kxl7l->iN#9_C2zcGE2$$QPLXOM)QLf+6bA;jamfaRn~D{czW!y^ z0fPP2B`lu2`4g@n{M9khu{r&%sp9UQt1<;hch7BcMb~uBm>Y&Gq#NtMgWi!iT`<{y zM|R$swqaOtOK+2PR)AI*p4;r3s-m$A1C}-AGU7>BHxecx&42 zh5e`TO?d5ttp0cUloH7#ht5!enxsm2#XB%|b#QL%r^GW!u~-VQ0d1HBJ3Y#=Ok3RqL%d3 zqa6y5dEX4ny@?3j93_MLk8i*T&0-pK-oME0{2uWF{a*1rf4u4`F4c#9vpN(3k2ZUL z;(P^>Fneer3u1N}-~`A0-+f4>?Svt9Rs+)5e{71GzmUS$(hSdKLANl7u!fGTWZFS} zrbZabkU|p;BfB#{nW3kaMEpiI;+%jN2u`jstWn6-5;Z&$r8I`E({b7n+gTT3J>(5y ztRJ5*=9xKgPvuwpeXx>v3$5Pki@yfoZgzjyifjSKJo7-2LFO6%C0>Y z;~FnCr51y5ULN%^Sdv>q+&zmVqR2QFS$`+L!|npn=jemzVLj4Tg2jEIoqflGW%_a5 zH~+5;n#qOah|bP7AX?25T;&eyf&0pUmaZ3J&5u`u=Heu5ydLU;rFC;hO!yUDA#)H1 z;l-pv*G}(&b~iPESC(8NHH=`FFR@DkbDeelx(jEkWS1xdzBJW}L%;Z)>fU4E zwu`js;a*dZE<|^Z!d_buQDFB?r_sn{Ql$3QRkuK(O(o4Oe=py7Bx2&YJE9bQQ`6qzL7Z!vyH|p~Mb(mc>T~m9oJ#tUVGbU|zRY8J;PgPlE<#4zDjat+&h}uUT?F>2V^DO9 zd@D8dCcL&iha7JQwsf#;G=ua>_cV8nLa|EZ(x>e3&VCI6Us%%4Rp`r*IrEcP#!A(N zKzd%e<9oefs#vl$k}w5**p7HsG=c#5BZa2#skB;-jMal?8ikdDq>=4qF~yH`!p3@u zK7&d60EfXMqzgQFVZHT;-@R$E&w+Dce7Vw50Xw?(jIyBC(?PuPF#+5-e>}5aK?yPa z;Ao+iKSNt0aSfJf-AI<2MlCEDQD~v<$pQ~Bq%?LFgP&zC?cO{$A6~jA++JxCniSZo zDMlI*XggEU{J^ObTT6*MvO3KR9SQ=Vlo}H0yNKnA3mLUrJp&KLz6eD5L$NYoJ7-7Nj4aU(z%_FO-9EV( z;OK}qU2;70-FXiq7Pk*y3%mm24uUTILg)%x{o;NT>Z{U;UClOSJP1jkiak#<75*-R zf>3pMKg&Z8plG=VC(c(HNr`ctLXoF3ypZLg1DLhk!x87JjZlEC47)HqQ5C$+>?}>}|ltiYZUpG-0XbjV4d58n*t@qT$ebmtm)rW1eJmdj} z3&Shu*Ig8=1CKFusq*2(lnddekK>cx?{2>|c#9wwuL7L#@vaUSVq)C~R}qR8Cwq1K zVN60LSHtx)_{GMvPlCMBZkBm8_BsgLuy62wm`Cq!hu@@scXRB=^#01)NPcPO{PhOC z>vZw`%pttLE?%85&OG-{#{Da=JeaXKLUtGL#~Tv8j~EqV)N=<24fUf8Q-B2>dc;TX zNgUQ;9w-?KEXasQ@DC2T=4YfIaXa*Ey)x<%=#z@N^bn0*N%mo=S2$JSO{L>`mhf6( zXjqkZQ~s8o#K^gJvFP1kR0GR^c_uJhd697XGxvZ(*Y8{Sv0cKL&67e3qjQ^3Zd#UG zm75%|zu|@CoueHNp#T(cw=`;gM849EwIdD5r1Yv1nYAMi4rjV(-D0dN-3a_c!U5+U zzBjrt&6Sl1X+l(~mgcoQC|rAN|65TQmPS08#|x7JKm5fUa$V3fvn3{a;aI016UITM<1%UeKlL8b1NwOz^Np z$52x+>(56zaF%?STNkG6LCqa}LqFI&m_+7aEG`*F3gDC~k#z^3`lt=B$*1bC9=enI z(efe(W=90Po?+ZmTS|{ic9l*ImeyT7^_yx9>fe-~Br%HI<*QU!`YAduVtVuh@BEdR zCW9Ya&R)Qq69It=X;TRL6%qa!=i)CleL-)_UQk-HvxAxN?KByempo*AJbETYW%JGs@m_8u=j|k=Ph$ zG(=|Ltg17_4&o{0t1dX%56NC5dD>j=A}|Iy6mfSYz<^io$d5xyjj4g?GZYh#+JDx` z-nJY44*-rpalc+G&2Pi}DQSKO=1)uWcVHfr=I_EhB+cK0`Alj4KFpty=67K}Tbh3W z^SRQz8Rqk)`G+uHzRpVCTEou{0MHM+uG;wZS6V9 zr}^gIJPnP$jwIM9Yf!`&4%E|2rYg|`{NcX+>MtaQd!t_C%Hxi9U3P- zj!4K4oEmEF3MVfqg$+tUd1)g3yO26uRIVH;=KG+ozA9@?M_3?b+l@8X)6rhleoXbu z|4D)`wfbp-*PHFp>kAos^u)jaGt?S;t5pQhIgxVG!Os(NTAOdLUnCVgo-zsn=AHb5 z6<8Pt%i>^G9IT0Zur37CguF6e%7uvScwYIF^uB|97pj^CStg=cqTUajCCWF>68VQp zy?sgO@5F8Ut7lgl96$s4MMA9#tl}c76_a0T`d6Ue*YvMpm`#S?BzV2xx7q^Aei?eq ztVDwz<8+V$@rG6)jt&(FP|U{_i1849Qwtvx3WH)kE<6ju-_pXzhQgqjj|(q=@LO8= zxKJ1r^Ks$T5dO9nULFdAVm>ZB4B@x6@bRHADCXnBH$nIvEqp>K42pTFGC^;|K9w`j zuJY`g%QyRB;nWg8~ig5Pt;F?!a<9yM!Y|A$!{yJ6NQx*a*v z7b?bnr|UaDKH8YNVPyMJ#@A|O{DC9q4;gF!x8vt+4dDN~F?D>L{E^1j7?piTkIKHI zhH2l`#CPM%0c7z#ZSg%N`F%}%UlH$W;$21jKodVu#AZ!wR>TiA@k2$tr-}Cz@gq(A zND)8Q#E%v66HWX?5kJ+$PZjYqP5ev|Ki9<174ZvA{9@Ew|5980Qc3^NuNCndP5fq*=fBk!zg3dI)5PyaN&a42{9Z}^K@)#a#2+>B$GB5{!+OC-lcI*z z-w@#ddXta~N&ll=|Bv$S&zktNBK}tsY>@j_N~n{(4*Mq}C-t`VkQ)99YQlcl0_zTe zX8-@9UH?US_g78)RS|#F#NQP0cTN0V5&zJ{KNRs#P5e_4|I)<26!C9O{96$tnix^U z7ENrCuVvu-i#_yQ$KMDYX~TDsZT>oPm8z4(sY=qHY#0^!(d1Y*842YZ8;D3~BB2PO z384s66Kpt~M^wVc2fBrS0&bP{3N!A4BuZrhjmQ<5enK( z(tzx*iCCJiq&mi0&)@m?ALz3!e~SEmu7$h!(cgRZf3lWObqHOAHS}-pVTMMy%N%5K z#NI-WIzC|5Yx zfuz}cmwz*&@jVd6`3NJc!pO-mnq(MbWEeRaMspNK&5YI~a4*?sIW3d^R4kZnu4Z`u zA{Gx9SUB0iI}B-n$co*u(u_@tj=P!4Mw1nIBAVmCzf8ucLPvxC-h!0tM~r!c@M9g( zK?hxlf&o~E!aHqCxcC9W1M#cs^z$ZhMxHF8a$pPHU>hV!*Km8v5|}}e(Wzpv9d>(K zSg{#P#<*<1IHLpJbPAqhOB&c?e1TlM=@M8%wT8yQw}z;u>!g;rLnS14H|I-wXgkgj zwKy{YHrosSiUZ|fWoRO7(`Ss6`7{aEJqULP_~X-0dJw(^J4%5v1S(9!Nl-;(H#cXb zR4V9YY{VQzdE*-=T`t$I!xTKvlmkSG&IbD6oN5$4cU!{6M&WJb&9~6J=)8FoEl;1y zn>TqSb+XQzZ^KUJ&0A<7W3rStZ^N60ytz>3&0T6;4dIN=n<+?B_*1`!+tc*WTil+i zytx}qlOgj4)qMz2puG8(Y+LVzb(A-6b8E%1nkw_=J_z)4-oQyP5atb}Qo&9-Z$d}g z${Xq`9oEifGdW8!#7Y8h_REIQ5;8wCIpT?N!RT@%3pSY$o20h*Tn6L6PSZ zZa}fCe+;>E8yly?cn2G2z<3vowf9jPeC*)5n{l?2@XQETI~(oij>3ya;nPOBzi^cO zRio_j(eD^8`WKnJ3CRBvSDWBEz>N}`>i+%O&7I*+X_G&gD8(o(3py!7JeRnj9sbId~dG3vJo_i1O1q0~ry`8mkmvM4BfI80$ZL;0nQ((uU+)Q1y zYxjgQwFk)P&o(eo3=iZb<-DAN9nP-f1bd;@eu0?(-dXSo5lvk$m0#A0eJVz%Yt+Lk zq+-@)*B1fcXtx{S_QJT^q0w&7XSYYIT0fAJcC90c0!KB9#~0w& zjd8!O8SU3~@pyD_TVWXwS%z_u{3g=%aP=CtJDNcr<|m|i3e2xc^H@_ZEZZc1u_;%Q zY2$a=KYVOVZeb&>?X*!R0>`T?(QxJ#HqxZ7SO)YIBg`wyp zdNMh-*Dw2em>i&(N1Iy7H+fAnuq(jwnq-6WCJG%#n75Yo?o1YFUGihRF>BAnjNur| z8?y!`EKb{%Lo6jB+n-I~c9Y4)O%=Y!qCH1z#i+5pVrmrxZeYZTEG++FsDp{Q=wm)% z>~n=&>J`QgV*3R`neP(Ye?yxmo7*ommH9;T6D zj5c+ZC2Oe}Jdag}g%;MU&EPqqj&%Y&Bhl&u{`@ zHziN80DM)bQ=9-_6Y3Zzzzag1;{XSQgR1Sra;5qRvabiG z+=0OReU3MI5{I|-tbloJa3ZU#i$(Zd!ro^Z*Wcw%23ZYL)8CW|AZlXH4h};I7g)04 zO9!hVxEiq{a5BKj3e*5<3akNGqrj;Erz&t7z-bDc4sf~xyf^3!1%`PcT7h){>l8Q( z;4B5s0XRni-cWR&0-pu=EQ4T4OmUpBmEsuN3;m?AMwRPoO8{gTB4H3X4wy`}djXF{@KkX0SbqVjkOz%wQ7CMQPpv z<~E#(r?z)4z6^6HdA@mE)@~1ufR~P(o;ymKk1_SashnGAF_xTYjML{UaK86a`5n~9 zO+H7z$dv2%NvtpaALrYPvA=M>y-k>ySbqi$%`)hHPnkU34)W?WINH1;P+X2goBVe)N&h_qn&z?=d!FJh)~*+o~`Gxg5QbQBpms2G*5pXBlNx(_;CgNIF{!s zt)b)4$ik21dY&@am17;722@0GG|@hq=on3OjwZTB6JtjcQLy|j@n99vKAPwlO>~YX zx<(UY8wu8}v6tmaSx@G1^eDl{_MAsGpCh?}b4^`az?q zNA+mR-;WDuH7Bj?;3T2%7Bh|Q4L&mL3DyG8>OldZ4hnt0UF5#s_Wx|^JzO6ypNz|6 z^s&W3x1Qu zU6r<|T6|V6vTugzRw@A}3;qZVc6hoKQVFi*uJlGj%@Mkp<{)}rgS2@< zeFqHQIqd0%6)Rn#jw#FNrer+zp=1?ZoMC>l@eH$mZwqJJjB9yby%&9hGheGgc%l55JV0Z#jVMCA!$isyokOnvtzBFlnt17rSxUHSkv}=#q(0l|?@#Yq zu?m$$F_)f!t1RRXFU@BN{?bfx%@=Vw;*h`%6>B_O z-59iz1|siaT+&5`VN|ZXXOI5S-F)TRKLCUJ>AHsRh8lh*YB(t7{e^l0GM}oQH_kZO zlNVUzla;*0$u*zD%}0_H^5wjwKizJF4!WtckKBDw?P$qN<6iB6>B^tB5{L^eJMpCMGLliYBHgVyY&lDxzN#{fZdS z#DF4p(!@@R*jW>7m@OvxbLlOMi~U{I%TCh*)8bnH%c5=JcwsCBcJjpY_#p| z=%@=kl8xuWc(@8-mJVT-iqkHd*hLYuH8EQeb2Kq0v5kFjA5Vn);102(eQ=<8G{h!& zGgo^vR}s5vVpm1X)5JVQ?52s`6tTM|c2~rFP0Uxs9-7!g5qoN4PetsdiMVG<*hdljYGPkS z?5BzS6tTZ1_E*FKnm9la3pKG&5eI7GKt&v+iGvhzuqF;x#3D^BQp6#eI7AVPHL*Be z(N0yBh<5|{*K)S=rh@C0a&oCu_pY||9Zhp6zi&i-U%>gzmoN$cDkSWMtdpSItUqh; z2D$6dWZodhi>8gM4O~ZGNH(}c$7qR);!;g4Rm7p1I8+hKG_gz(hiQTh6yNnciXS>$ z+4FOOeo1VB@bBW>HvPY-Tt7m4afEVnq$ZA3#8H|!N)bnEf(_IVJtZ5Whmcs^TefUD z(|?4M65o*YA5;Myqg@@Nyg61A$137DO&q6)<(gQoh~qWE2Glj=fsUpVJj%+V@V{cI&->Ol2tGKqmd1gJ z8Mx_{wYGfH^BloudBu|feX&i)gDMX$dK6mqYFC$NcWxZ@QG`joR_w zR{bIb;o6?d{#G1J!NR0ZOiKOzXyeQu$s=Bi!mjWVUIiGsRJFyIsOP03yo>8#lD|1T z<7wB{jSo+8N_pPQtUl#e+Yq;fFYCV$vwbA84bO6-AN)8yZ-IWib^}S%*kiJP86w91 z+x#0`4lStYU%~vP%;OiU#4Z+a;ScVX#{FL1pPjMt2)BF3gAcyNUK;ZXll1Q5&?52+ zOUo|qGMPpl@IjbZ*(mrjPaIKov8LiyvkE+KaDXcX&a5(xXYeq}E!R`1{$CVw9BLY* z0UEcmN*>ewhfmQ8;45g&u7frWih2KF=-V|d@hT*)hXg3*{Y8+dYl*LNiwFr&%=?Ex zVvUw~&5|oc?mAG+`-`z5#pWWOO$9fh2(?Uq8tO<(@Fl@}QMfo;X)89=xJG_S)PD*U zz)s82NUD%`(wuJ4x4fWGCab<0yx`Xgv2%Dr16Ia+KGA#+k zau0P2H`!~y0P(TrEqLM-5!>A=)GdXs=|4j*swvZd+Tz|K95dsqY`3EiS_^Hl+A40r z6W=kp{{a~03D${lV}ZP8oYa5^(d^d0Ous{?!qnhwiYspbpFbFn(CRwd{m*T@_=}{&KEsrizIbJR;<(55wS5!6%Rz1&=jYJuY~- zsogyhmwd88@~KA2r-eMH05~S$zfG|kBcm(>*Pc8B@LGc$$EVuW$iaK%0q=6c`W|&1 z#+_=@R(KQQ#x!Tv#Y7 zmX*n54IG>fo1aK|JcfRl;G0q*RdhE`QVx_fm%|r@{~AT8;BHO{{}nR5E7zAT3jX}_ z4J@u3I5>*dMcw_$ai3u5J7M9YOXZtqniJ};4DaA^RJPj<(b4E%bag1lN?sj`6eSI^ zEf!NuHgSx1(Q8tI&tKgo?-fw{i3wT9)aTD2;ksEOaQoljH-~S(HOwF>3Yyh$iCj*gg9u zQ}T}eINuuMIc(DPjC(M4*hEatPTwEL1w3MMU9)PKB2#Pa*1vyl&|XcXiVw1s^>WM)PF)c;bXxl+Srm^*;~Ik zzu&*L;cwdTcWIFEDq{GY2w|ZSwwC#|XtBpZ~~%R4!5l8PsG&eUho82XeZAPM^WdatLJ=)x*?kP^!dE&ofm6rONAcgQ+#3R0Wuh zn?+NlwR7=JV0`mx0adV$Iru`cMH$yo{~Bd#w@FFGiaF`_uM;sTpI+#t^@l;ajqhN% zKJOe}NbBB0+SAU1^xhqd57It%^&dsPwX<)v#U(u!+#BTLtpZ7MAl1HZ<6R6icb?=W zySGr2v2$1S87SLJDiej&wfLaQ4wSVrJ|yJ-3*9Bxdl`{fHJ#B~bxEGRp;h-ZtD9;(oLb<>nv3OB!!II+Q4B-?f zTrOSf?lw;D#12WfZD35Azc-~|AGVt-!R{@IC>u8svCy;DW8{;qOx&ha(tm@clDz(q zHBloR*2T0AV7iso+C&On*q6!=#r2UwfQxfCtmywasRrc>EA6%2Az&_05(9}cj!;Y0%|HU6pVNZ|Y z>Hp;)X3U(@p>j^Qlm2#4?U+*Qk;YQp6tk7XY@XA~$y?U)meZR}@`AmT zPjl*E-mjYRl1WaWo=T2hC&{7pQn^jmYGJGzEDBk<_qpn*iw-YM@_92UTGVs=7|T6^ zmbP|k=nv%!M=@9FNps9Hc5l{-MNFjR>-JiO?B>3LzOnGl&8=xUONL}md6v3bt#*3k zH3s=ok8d;j|3CK511yT;fA}-Iv&S7ry94g%O+cCjMFm7fMQo^8LB$fqUa)Iy!QLxs z)EIm0Ce}oai8c0uHTFcKN$i?vqKTS!zB6;XizUDO{`GyH_w{-BI-mJY{m$%^o!#4- zZ0=@jIJ)*jU%++Ame26KIlZ<6WXJ3#OTvT>4||O2gc}ZGZ5vz1$ynfOVvFUeT}p9> zsi1@bhLPB4gDu`ob}|~8vtM|En6hK8ltoZ&EylhDvVljTPBoIQ2%_xHxX8V-VEHXK z%Xsk zj_E1O?D3!yPQxd|PFop11@?@wiu#@gtuNXJ>*%ZO#%)xj0zVxERwl7k=#>OV0%j+E z6jI75DvB+v^R7XfA;!G#z}v?l@guN2HwB*MDh)||4>zU79(~(27yWf9M-_(<*V)-Z zY-#xQLVoV>154GEcT=Ql(o!`=#jB|*Jk^6VRfVRisBahWcMCjGMjOZbEQ3&`tw_9E zKoDF6+o7(v-mGgKt*&s=6PN516|Jjltf*_TqIG5GAWl)`!TLW!Km18o?e%|G?dn>! ze})Xoit5LT>K7|o{k+@M(-c*qXhw?T7h7Mq1X690)zx8(Q7H2acf(r(dEPLNn!sg) z-e70_K|#MM2dJF{gYigRo@Tt&m;d&3wjJgYV2O&rd zDIE9r361;PgziB?<9I@o-=0u0kZb}{t5OaJH9B!!+uwSER$)O`tl0VB@UV51}B z187po6hpUeuOC-Qh8Tkw71`JN-mtFK>LaY`!?H8SMu@WczrAe4%N#2i%sfzucUB-q zEI=fgx?r&LdL_ew`9$GVXy>((!ofxDVxv9Hixf_LtrBt!^|$K%*#`*&EF|eGSViiR z0R=mdCxt_bq>?=1wU8{syw@`;(TWuAFX~g56izGZlSB$96!j@i3i}uJ@g{`_iu%ZM ztc$E`409qKYQ?G$o)Adt2fUj8?Ek@gXPm{%HpYQ2hSlN-T z&y--8(|j$yHj8Pg#n*0erZVp#3<73p2#o6%Gd$_;Y-7J?omYz{)-Q-Z6yU_pGd%rb zBQ1XH#=NJi#l`B%?x0Kbf4ISKanAFEVdVrk3 zbCS)8zrpsNm4m!q3|hWP%>OYAIKM!V{bTD{{PTX5*mnUghtN~HKK{P0wr|KPO4UGC7Zm?L~^U|n>CdNv<=4wx{tUoQZ<2B3v>%iz97LO$O zXuQS4)8gf6b<+8gR z?|a%wtA0eduaI&U#qoZq5_N{V(`9XO#@JgwRfL)}(!7lLk;9=6(g! zHQn&AJEHVjfwh<+?=Lp&=OLM`D&pznk7ZWTD2e_b7vdyQr!0$kU3klRsnB3V))o&3 ziY^|AQ$xG>E%r*N@(@0cJAQ+hj<6OR>rMHv%Hti&*#b$P&d2g`}vD#Zage z@u91yIy?uN=VOu``BW77Xy=R))3UvTR;VHca4nkn99_6L8xK`jvS=7vOlv95N~;ZX zy>2z(rB)ptmjQb?%i^678GeTi?P4|vXEzk`%+PC{Vsq%s<07-QsVnQp^3*OCy00x; z-DbAC2v2y4AvTP?!2ov(^4y>wJI&`W8qocDtegG;|1#%|af->)aLre|A6(+2qAv$~ z#aPteD2BIdyA0xeJW>iy$#aJ?Gna?V9y74#SsV_l%pX7~sqhy_qe>}7-`4z*orHSI zj_1xKPKKyB2<4^E<|meo zw=C|%!UAV6W zKC`Q*LI;8zg3VTTXB0I?|Azq5i|C!A+Dvovq=#dmq^0 zB)2u&K@R(w8@v#*uku=Z-DZXidab?ov$H4BUblJl({GD@heZ$O?Vzx6{2PdS2Hxf3 z**j|sp*|(mW{~ni=zmegV7zj35(I{hb#YKA6)q;DAu5bIbgL=w7bb^aEukhSQ7zyF z^I~9ZD3R%v;q2Q=dzY0q)zRk^_RZ}BP~LN}`+QqL;lX&dZ1mEFvKyUrrSVlu<7%=Q zmYSkkLQx{1D3G1;mEpX;D9Pggiu$6lvVh(DvNQ5~P)xhy3om4;fwggDjMl~nq0HZk zHin(^uzS3bEw!wPIxW)-hY; z_DQ8>gCF^Uvr0OavV}rS8NT(%pQeB0jID9tOyw9Gmm-`;upd~C=_vID{jd_O^x`Ru zl4^gD+53*iS>G)MLl}IFwY1EBhz?k`qP+Mb{*L=$aDH}z#Vg4cW@Vt1Hdko~RT4f0U%N~tCr@%s46r1L7s{NXU5yhH#IqB8tCQxbKJfXA@yYM5kMJfv4q z7x?e~b3{yeGkm&GRia|@9`W$jYd)V!av36#_^>|pX^Ts2YLl5He42xof%-0mm37Qa z3BG8^?h(oHwmu7K1Rj+A5S|F6z0+E)ah+-y@eftNLSaBc$r*3~Es(9CDl)4%)(S@F^Jy?vN7TzE}DjoheBC zuT;(~3n2qtLEA5(X@UV+%Q@3>1|>n+Iwe7Qh9!aBzDjyP<#{HbGwGEKGM>qdWU#7h zmG5Y*`b@T?(hcRMW~I8Jd@5O8P*77Ehbwvf>xN#+|wF^T+tZ%)n`l|VLtbm zeAO8064;dWPbSl;w4qZ<|E9EuG=&_$ZU+7bm^{}Edf=bTEoXsr&H|snEQl4G)wQV= z?ahK#u8|FK=Va$+JEKpiw4$0VI?=Z4(!!;V6`gGXVZLhtE%KDf^&ZeCyR?KfN4JC? zGM%}fw1jj@=74>w=73L~9Ps%dr)h#Sn#Sa8CO0toIg=FnN-|xt-f{y2CI^{Y+UUxcyPsy%e z$>vOM>IQW=!Q`p9{j{_byF-{&-G8ZNLwmY|ZM*e=mL1FF$339F#e1@Jm@LO+4JPX{ z*{~wKap3Z1oPq6A@D*r@Vdm{8F+Q%gCIeB@|(}w3ktgrKy7Yj)KJSRv{f>iwlC$J(ZF|T@s@#Ml$p9 zK%E&W$jE3gBLkgPMo^l{C=^v=x}}r?P#7KAfes3)iSp@G{S-N41%;!!j1n-Xri{`A zWix8Zs5pDS!UN^v?u@$8iN^y?qLhfD*%_t>noB8#65Y_#xoQn16P-ndBTQ*Gqj*8z zGD;A1k5M9}{7`rX3Ua6@bnX)9YSUQ@)BJpyu0ET?JWwp7w(yh$r6fkZ*twYps!J&s z^+NvDKkz(iu>;$R66S|oIdOt*y62&$_oHvs`GNsjY0*;_GhNZHDrLrE4V{}r`6h=1$O=XmZIZb2q zr_g=E>SrPrMk|<=?3CcysLhN51wCdVV_3*d=oc(gDn(#@Z~=9ZK$pUFmrzeeH5vVk zCNaunbf2y;fLbzoh(3}ahb}CKU(iyf8_0COpf4GXW`yv!EaWT}65)%C77Ox}fz}JE z#pp{xxiX}3RHV|8(K$v0_maU9-!lrwCz$T3AWVR;0+ftv5V+!e7*)izm@b-<53Ykd zGfHGs7k6h=gN3Y%dk`o~wvtOTZ;mH2-C#-zr2+yLoJuv(s5M^9bjz5o4PHv1-8WGR zq^-UVIyO2;$%H!NZ7k#|7P1E==sn-D{QBdgO!tfO2h|P0#~8UAEV7N#2}Zt@;whaX zBWRl828cHhKVao7WdNH^z-EQDAJa|1t_tMP&d|r8(7xlN&}Kp7=t8OznvSb5DiBni z(IP=L8EqC+R~bcXblw2{Wjby^bsp%tpiGwEGXs>m0Ou;u%YUv1x&qvZQP)hM1-KWZ zWsQJ7#(i|Ug}5K1p-q4m;Q>4(qs4d-qdVC^OYmSukGdja)1j<%6eux8=>B2H!8=OLA#vE{Y+kF@)?s>7m%?`)?%^~ljB?< zmkD)Jyew#coe!z}i@B5Qg1diRaBpDlyUZP#0q*xQR#Ukk<4Y>b)*Ik$LGRaFP0QKJ zbs)9t7*|KhEy%TDRl5acHf%`cR4Qqi-67vxCVQLX=*4XE0CzDaD|wWb;KAF0$Y5CH zQCVu1ztSU)%Joz_d^UMVxLN)YDjh!8JPg$5Cng_L>F|H<;Y@w7#ThruH(LgxhWWls z1~VDKWN9knQ6+eBCzVhOsP)u_{e3K`M&kkAj$FE0 z-DocFyMi3Z+!L%?i}1E+;mPXDWE}IE?5VZON>8n&_IMU;9gMDWt*6%dyxo`UTA8Qw zu0Fuqou|)RU*CUtn))0Iy+J-^(qaSI-j+iwD6L79FSIGhYfbWeL(v2~wD@c$7c#lV zuC?z;yM>Oy9euz(lF5&ClKXINx^JceeWse91$Ay_@_%=ju34x3A9im>kFCR3;0U z{D{dVOs@1Bh??bZ@Y8zimwq>>|86FaFj>gtMJmgqmwuT_JaY4YNu}NYJndH%{IMY( zrTRNl*?>xn76y%Q!sx4@(N2!5qq&E}stxlW6$ANaG1ec#y-k?))lgI+avybfFAg^6 zeP(v?%Jgdbl*z*4FoxVO?&FM+TNI>RGAfX|Yeca&ii)J}iBYjsu3|nXqsmhE&rvDx zshH>*R0c*vn#oMIj;>FA@}nD3IXfD{e;(b8x{pV{?*<IRgG`Oho0&sodmybPn_c7>-Ok1muQ=SugAWhc9aqQMD=sGLKkqosJO zX_j}iCU508`#@qj(6%pE!Hr&7<)CaImAfuGT5xN*iq!vnxil(&Emzmgf*N&#F?=GE zdznn{4005cyE_LJx1g8Io!ljXx(9Xv_m(bosQWQ>J9=Yih4&qqd%TbR9M#bs z`e7cGZ7Uq7K7%SinP*lwq&P-^jTHvDJ4S#@Ov`)nvkG7`pgzs=|6Wp+@Y0d=TeEYP9t)Vwuy4{Y9^`GB0? zLJ2Y;SC&qRG-#K&`e0#wNqF3;tsG$tXl^TzxO#nO$fahe0c}dl2z|HvakZqdqCN|2 zR1G&ErRrpN@JXlc_i|fMIX<@ym6LNJ%+lOk)qhhiPhq_-)~4`(<}WXevVoo6j^($bPq-0 zJ#u2+X1$l$2jUFqVNVDj*x+cKCvKT{f%?2mcaArp9lau`Y~Onqm9909P`Ru3IVJA;gWVDRYj~H}x*U4xGnp?Y^mlL|7hRjDsR6bM- zX+ow@Eu=fYLQVhm1>+C;Cy)72`@u4+T9ku18+zcR^03P4E&4yh4WdnS)H*kT)_4 zDsK9Ul0{HyQvtFeUqPv+d`e-0GO5mvVg$9PIy)*WXaLpupo)U>sm=$b37SZCz9>V` ze5&(BO$Du?IzQA(&=*wahdK({Pj&vNr=UWr^G5>(U7@-F^nsvzR2P883wl9yfoQrQ zH|Kmx^8|%B7oZ@tL{M3(3qorIrBhun+9aqs)di!SjOL*3&ihaZdZE%0YRrIQoQ67| zMiHpHN|#YInk;A%rIKi!O1Ds1bXL$38ZQZjhjZFasS@fJuJw?rs29AIi$lG)kJB6HrAQuRSV?^x<_@jQ6E9Y>rV5kgC+`U zSGSy3U9>^a$5fYr4hgzIb@k8#L7o}Yyy_!EB&Yfr%e)$(6hRX*HhX2#Ri+48ucvoI zlqslXy=7jF(OFjN(d?>ff_~t2Fm`b*V87wTdMmq9o1(jF{qj*3dcx=c0$nyT#cH}1 z$ga|0)DqQ*)k3yHWny{maHY0Eqhq*Nw3eQN=5jI?cP~KG&|*RH?)j8f3#v$U)6qsjX;e2I z?a-w%1MSyQ0Xo6xfGNl%OS92=Mk9>HO-4%J3Edc)<{b2s(9NW2&OwiaZV}aeh@J`E zI;#5+;j&z}+uco?i%fz}x_eTx3c5z)%|m`=dAtWS-aHgume>82yRS4K<){=UEkv^z z&G6}BxhgM383|lB)pCo{enB5HDpctjeE``BnY|rIzR9 zYJD!RK!*gCv?8(+ZK=Sin$kg$J2c(_G)&O%G~NL;RuIgF2hmhPFdH639||I#1?Ui3B*@b< zpVBHpFsmI#8wA0ub{K6J1hd)^v_}xkYDdr!L18q_qv*7t(lpJZ=(3>7RCf&hASi?C zj-h*kU{!J)J#ko&u1b!hmx5sBaRMpHoM7c~0=Y5bD~OZGCJ0s#CsD84!1;&a?7l$fkp_Y_J^)~tI9)lSxW$Z6CtS?eLEQ42wk`x(?u5afOabxYQI&so$r ze7yx!o6FWP+(Mv8i))J(cZxd%S|oU|;!>RA?vNtIDG+FJ3c+1UaV<`9D6YZXoiChw z?t9N!|62cA$)0SPJ$tsyB#%XVN7Q0O1*lT#Y*|gkI4#KY4yRb^clI>Ih}?;SO<_{! zM7R32w#}gZhy}zb%IT>uHQFR2@$kN>Oqp&t`**2mvd#Ma*FsRlh-HvR)nRI>@~O!Un>(%+{i7%uWUQXR$>+x+-dANG>l>Ft%5q%1q#4&cYik zC;?B}cC!>AfGxZJK$Q?Uo4@a^9x?LXWsW6GPe$=47Ue~uq+RADQ>tHPeM){6NTY|1 zrwA|4BEe5`mf5+|dy2MJ6~sJ@rrza^R3B=N-e>f-&}qBV@@HmmBp;g2PMX|4b^TA1 zQ$kqi=Nzl1ePRM=*Us=*qP!na5P~{WA7_XN9u0}D+Ui-Bivlcb4ZVIqYQ?!!s#op4 zoG{@RU&3uj;iN+lnVg@@yrAm5?D6xGvMeZEa3*`y^qB0fICnJkHqd93TyTKO|GNtG zI+mDGX&5vcx<=PWSpEA)P@|+Xim%ITsni8Y@Knocg|O%A%MU#Wo9t2%XTSUU)f=2Vpl+ok?y z%jePG+zIra8lM>oe^$hk;IX30tSDjN5eJG7BTk2n%C1BapHxzn=e;;kcYS-*Hbr_g z;roPd!bIqYG||O5fO>~idbH8VR#FJnAljTdP68cX zEgrxutTRo}n9ZH* zov3jaKfiOu2q=CPq#9mW0;dR7v$mm&=$N-Tp*Sv5P5>j>X3}TFad^T!>wI!h8dps{!-orn zlKtL43~EK*@5tf`CYoMH{~q5?hpckf)aNa&A(&8yn!n)uBXrc2e)fKzW%bt!&tBU&qPmMEASt3S2PNICaJd8UCK&4o4{4|ACf=M zTkzDw!9@ER9ahg^ALnuiJJAUF!f*vWE8Fv(nB^AmxO2G3x z(5qDH&9FtfTZ;S4nnaNBToSHfSZ&9uAgS(6!>gI)Dv|Vxloo7QKLnMlUX?Z-_Cn?9 zOE~3QS2bj3-Ti(5_*#z93>WHO_JOd6K3C-yya2m z5`KklMfGt0fzBa7TeAlrAC~LzO^BdJ9w_Nh@AfUMB*as|izJWbesL8=Koxct6644Z z)g&QWK4Sj$ifFYC@?%6(JH#DRNTI)uY&OIhLUaRoRxsXIj--VTU~9sdQZ0ZQ^X@aD zdG+XsNDM31mObA&w1l3MPOdU^c*-xj2wPu1H@uawnN_@`&qm(#l6VS3z4Fr66jO#< zwQ6_J&uPJmLIyqRshAEEjWO>HV(piFJ2ozVfRvxlI*g+!EeCSEFkC@_^Z{O`Hg}QI z2=bzxI?V*vMvq^Q+BJITOiFt@)Tkyy&sT)9c^Y;*qNJ@voy6^^^IexvZ(r8MG3bAn&Tn_7vBB=PGlk2sA{M79j5k{@~H`DNy%F&PR2)w>3^F z?@$riCz#fD(-rQPSATMukeOkHMSLg<jt4B?G4GmdSc`sIV=^C*ufBfDNYe-aXy?;535LWb0< zaACfr93R`lIww%a;fVzYQ2nHIA`Zob+)%qaq5~ZaS1H&T(DrTSI-n?R^&4VJ#DJaj zo1bm8B^jbBQ`GL3`!Abv>TC$`M25DqKB;WmR z3AkA?REPLhNJo5%i8s{HAr{e=L2O51pzZ>t>{mQ3c{A6M>v^i#u{BC91>wUXosPN|mD`;~$dhel10pH+!9tQyhpGnrb9Az|HQcf|n^oyJ~cAYtm{;6hp6$qGAt%>t~Sa*gU zjny(93n4NCJ3)vv;{{F`ZwZYO?OPlt*CQ>c&R>Mz+k z?mDHgP4n>hYmDP)k41H`4sU#@LSzp=G|rEG$@PhMmpnFU6dzxtz`GR~F=U3DYj9;e zRP_z8gA{6hnvE`9;K8Jd6A3;7YXCVx&@a}Q5Y@uSaajb(42D=_5|~+PhymH^ka0x> z2^}mBE^J`^vFX*oi42F*9ZWZ-R?(P$W0nU>KKo!w$OPU@e9OwE@dboV9{HsJjFL5r zQ_+>c48tIg{Hg)dff#ibGxHJvXv}#F>ZnNG6v^!Y+IqC~x3?Kd$*&6KeNozalIUL` zEH_N%(LqdxH>VddnG)(jB7l~EJtC$*ug7475F>(8CSPVW>E+~6K4~BJQaZDtF2Nr=}X4Ra>Y?4z*KW!4KL&xX?q7t`m8$1^X25XORzuG$nZB z;b8r+yLBFz-4_%_DIt1G#tAc7#}h%t=tk2*23}kq@liEvDo>wIs}F0gYPkuAZ}RM4 zA0)q&o2ERO8>$m~!~5m@%{6YvpBV*ag6gOd4WK;fJZ?2){a+>`r$)-*N5*(=GD5mJlsko7~4omsIr zHA&%^*HG}Yf@-RMZ)JtFoNEY3b^A3T`KBX*7=gksEtQq~Z|i*#&O&~S#Khd?-B^bK&KBCiK+ zt2nd#J+WDkiv~_{ybP!o&?e-Wb1I=y@CS(pbgigj@=*-d0?>ffkHn2RDY@p`Rj*O! zzZtZTT%*b7MKlD=`SKs_H!8r@nSs@*A7EUNrDE6A1Xi@)I^A*;D0}?m46Cqu2!>)j z6R&n@O&@?sX45F|4X}?8ARL7b#s-#;ePui&Mj&CM4vz?J)FVf3l;;s)^<_kJdl?V= z)z6Em^hJ|xidEpW=Fnz~gC0&IOQ-5<*ttFKp%XWs#TW53IkH>-EiO6qgj z3S)0$Q*NIuRFjm3H&gywOU$d!ZSH zvDC8BDIUcrBlCM%y07-ULV6~-Rnl6Zfr$~Rf2wirUzhX%&6AKYiEB-P}*^6 z8nke&Usyk3o?bZ_BzEEH_K}0FB(U!=F8aJ{paHs0xg^-%D<$<=pSY6maXujOEc7Zj zS~JCd3p{OnFDFwpC|)!ftiMJMH6kt;8Mw3`bl141y)TUZp*k-LjaEsME?;dZ!`r>& zal&Y_^2>~4I}MC3?GzsyQ9dejIhFT$>XkogcyuM?#FYJ01k98lsV(E6bN-%AfNcy- zsnbstU8$3YSwHv5UEx;W+76mqyRteYtz4Q@Nra6{$r7;IY5%SZJ?bS?P{~gV{k-61 zo0tY2Op&yxpPT%u;kF=KHmOB@`>ku`Zl<4EU!A~Keq4kcEGr>ZfSRbt`>kWJsI`;nFvCQJg_oJ&wV`UaGR<yy^G|6+Tlk-rSPOmKA<76V2Fz6U zu{qjEIz|)S+$9Rps{Y+-{N1Ykr{&1P8`yjq9F*?DR4|%BZIQ|g(blE;T7zgB5;Wa~ zY-|8kZdOpE$w^Du=~?z8<|y`?fYG;Np;b^vQqNqf_oPW*#PQVU?&{>VJ-=moTqGq- zqGNE$m7*UL$;ifk8P$Sh+V=M@qCtMJF=QBZDwp;3i*IY+_sSi}!Z;DzYptZ)$LCZ+msjGpcKAn7 z%AjWEi&TAG^KNC=W1E#)7qU^_@=Z`C$pSwmM|3=Sm z8^N~c<2n?D;O4rh)QaCg;emr*wn@R!Ib%BpcTKCBx+W33G@3#3b*$r$P|XzKKCvD0 zf?_`RM1S+ngLYRaB|5}aQ|qdZ>OHqh{83)2(crM68xg=JWWN%z$dlIh-$M{2DRz3a z$>*YL0>Ev+M50mzwn zk?4&Msc4K5L40L``>x?W^0m^b5W>FjZ;yy_`eV<#HM2;puL#u8faMW|v%RJ*zC!I0 zMrlj754eq@dVlgFAqEq|yC`who~P47L2GzF0KD%49+N|lM{X+3kasM)yv;0rVkP>b zWCg`A2BRN?-Y*Nijm9NNKV*VczVh%ZFC=5uBB&1v;?N82vqD5GjaOlT6>U(Fv;XIXUHn>gnI~3xZrbbGyW|Vg z_jgLrGIa9dCwaZffHn+=klmVyywRNM`4Wlrnuv`h-O`|0va1h3)r9pv7B|7sQ=XwD z@kO|7RqYkc)e^f*a?>DXzcSyk$Al2{M2Gf)&XN=MtMYx2x|{*Qh@{q<#_BXsGfw>CXzwS{`J^m1&~}e14fa_MKfLqAacmqh8Xr z2#(n(z3Z94TiI`yDd@7cv-v~%xB8ZE?b$IWkg&u2r)_K=hP9kkRimuRGf+nVD*#M& zhW!9nJ!4eqsv0q(Tdz18^E<1u+qZ+pO|$%!mEB)DylSN?ZDVLc&+KI2E8b*+#qPq? z4Ev62W;X+4B{y?(CA*CLo20;;U{N>@GQyTf&Hf5lkrU$MqI; z%{u)w_kLIcREtQZF12g9dxhc91iSuVNMgvmO9P8Phb1@c=9mUJ%P6`=DVS9a8T~LV zHLL?_>7$0YfxVcMh)!`~i|}#ZXtMNr(IoB*K_`#x^Sn8?44Tk9I}W&kHJ0-HecZ_e zf^E#DKe$|wqCiw6DB`Ntg9>En|KQGWEIXV8AKa&pD__hyap8~GgCfn%%LZnS!L#Q| zOtUg689n1sygevW=O;+^q|VW26nc~9a9v{KD37N5xA5rv~sj4vsV4C#GL z$b|2kV|AS3{RrGkN5gIpawV^V(>^jKF_o}V#a;k(WuB(@HS{)0)wBjAw?9I=_N4!5 zM>KWffO_vDj8?l8oFh-_^lb!fJXeAD;+PgrHPv>Xg``b|c8*OLb{G4Jxla8xqF^6X zzR_Yr?xYAuC16hM1vynzf5g>kC@I}k=#qGj3lP{iRfC50dYlqP!T1b}2wiX`lbzjF zjssZkZz&OthUhBgq=d6e`7-_h1u+6sU4JjYdxZ6vg+`#RXea%h0UG(PLKV7TpKJW< zDcr zs^IK8>wH;<7-fuwSK|Y`|4il-QT^%oL67(mL-FGU>B{hk=*L%FIyk$=vvG)DG1#+- z1Li!Fm&LcvNf$lckmrO3U>$17_T+rT<>NTTVKZMi0ByZprMUDr3UMYDG`H|OIYinRvXCod))Oodk5KqrgE%xT?8bOwx(r%|c=N3Df(k*KI zJ!GlV9*vY9frP|XJR*$Wm>-ciY?QXJMb1iDoYcz~G(`Xe;!p{EL>OitInPXEs05B~ z0?2Ry41QN@)d-}YAql08-4k#H#MzCLiS>TeM(g<+p-nn2=@B7NRdRyhx2Se1BJ@Pj z^8p=J_>%#c2-2IJp9lr7q(GRElfnvGRh(3JUd28jpJ4@1R4M25C+#B`|syFzU}$259#-rg|7^hC!MG7K0r{`gN*Q z7OXvI;FDCQNkRek<|1l0({!v?6mc?TYpnorGUfR(7$@N)>Kg(llRPhkfx;6s=aP2Z ze~t)ajezB=EL5t&(N07{gRcom$c?Bi;+cbWqRiu^gLTNw+n5ul zzGHXjldWHChKST>YP-{Ux&f>95&!gJJ*odrftYuv^z~$fPDBa4A8`$lu41_UIBQEt zr@e|^9V zRBj7^i`PzziZLM0F3Dn?{*ktJ;3@%OocvLGiLM_c8VlA1zKS;yaf=nfbqZoz_`pEQ zoS(-AnwCSH$~LR@_IbBna7E|2`&t*!Hfz(+OMy5=vrW;^iw^{zdr^4HZuE-~dKlVL zZgHS3XwAx?>boTr*LRC?X%AEDI>+3ZQq$b;&-qm@SDIJdnWkiB%aL34fVBkXmHJKu zB)CvWpkt zwbOhP2%KWeF9Kf)y<(1`i&C&ImsXqN%Q2)K3}$PIB?H0=_R+T(7zJU8aQ@?61|=(| zZ;2LbeM7118Xv8$;v<^}3miej{f3=ztUNcSJGM9{SryPIC#Gt1OFw$4-={d|n2AXN z8nf@euspHM`Vw2j_W8de2Omz%loch_qvOiec}7x zMU1MI#niWmBZ^j>GRC4n{_p1!EFkHcPL=g6Yt-`iQdktA0IHt0LLSe)F&@qHDleuq zlxb#v>m$u}|5bHJoW9_B%A~gs)THHP@}r*M+;-7h46m0sHfL&FfEvW*7Vy|Y7K<0^ z6lh*8PG&ac$0?bl(6JI~49_krT$l=-?r?fv?Q>(0J20<+U2mFo^BD-Y?;Ws3z1jY= zIt6CC#%PIZ9}6&0gR6KX{75hlPouKrO&=<-Kx0OCHGv#bS+u4t&v=7!me19x0~Tbr z1i-+3p1`W2$RCNCr3E~{UY2Ew3n0#gR)P{hYQ^ZF(#*1g(#DmOyid9BSs0-x`o&yR z$vHVi)t$-3F2tua6B_D#`3U6u9R4Zsga(+X(P0?R#_ZP}9Ye-A?<8}$K5TGOolZ>! zFrlGgUQj))qbSId&o!Z;72V`CY;KbrcSoEjS0G%%n*jB-SmU46~dDN4Zi%u&u6=tWa@0HQ&sU!@gr!}JOdq7Rd@lM z*+o2q?0rhooExUzZW`z4IgnOJG#@{S zcrzV(XZS>)WSSC<_oeSm>sFY^_|b^mFgHVtqIdFw(2jp7AMNH55EGbYY)l(6F@XaG z?J~itI0KHzQ0qUcl}zc#&>0BUw5AspSceO74xI}2jAlkxO&L5d0*nCoIk{X4=)~163rwIGfp2l!i*BU3BKY-<*RdGPZB}C0>PorJ zXBlI$XCQ$YOD;v28v25?>I?eJWssLu2?Ms)wzFgh*THNE3p$)fzd5cQ-FG2BSGjrR z`;C48Za6W++Po<-Y1Z8MmNfH4keyDv9v8TGys1MR)Jt@5;jiSHoj|9ZY*$^GjPGP^ zAmUIB7SbJyQUwcU<*aK5en@zmW>-84+LTtAe-AgpRODBxYe&C(>$*zdEU#3?7^UU4 zW=YM!NF$i_i){`<&)BkVQyFJ-3Pn0?+O{;w{n@C1+&NsQwodmc|MQw&{-rCIn~DrEB=Yx&Se?1u&gKT(^J}< z<%4#ZGiDTzyKqBGQdNGb>hK_Gx54Q5rKt;fTbhhX0$JPh zbKzwwzc=^m%hXF9B>NjYK`c<=XFT)FaCC;#R}&>*gH*T8N>MGAN$$u#iVaSaOjc9XEEZ{Tj(;KKq(@)un~ukvOMdJ?LsN$v4a$mlpx6GE^~zB5 z)M4Yo8})*RyxbcFt1k4jUElWWZ^v0mwLooJ7qxu5PfiATv-x`X^-}7!s-$<4W42&= zXGyx7)N(s8#L&8a5JbQ*o;Sp{V{Z0YsaAuO&V?o4uBcKf??!T(#U&|!AJgoFMX^@@ zDh|K$yvb}HD%47@z61=4UB`tiv->dy6HnOEY6lW#+d*rdwpjtIS58Wki zZ6v69IbMMdSm3`}mKoVH!FQMB_`)6?Igz@Z%geu<7Pwc`Y{xRlmVG~v*Q8i=;;+y( z^@)dN(`VshxBFE_4WIcuikar2g9W%i2HuLL$}>7cg~^zt+@(z@)%V&~SA^pxo^orZSI&BSrG>gU`8L6x-fI=-I9 z32C2?SLNy1y^d`6#Oe8A`0)LV><(Mo1hwf|*F)2X_J_vZoZ6DTc`^HXvk~^C#9kqy)Q+Eek{(~h+(JrSSu&@Q`)FNOU zb`_+<~Z$lv?Qmg-|s?nwKWA1`e$@s(59_=To)!|iO& zzTe#%!r@x_4X-7?30Ky?oi{6#ntw5nhm4qoSkqT!#*?iFX_6u(-RQG#%Vk#tuI|4_ zb4q^g91pr&eia0{3j1_%XILrxHm*n<*6Fbng#z|W?w<~%=eau8k^inZOw!i3%cqX$ z%P11g>ELoVIC0DoH%My7U-#>3zipf2`1%S4#PHuVal8=J@3ELLfOz#_?I}@64aQ*RMV`7y9i%aJ{*0PP_$I`oK@GBwx1$e7$Iw{o45%%d)-od_*5{aV}TNrvct- zuPZM1w=Wz{W;F7%N}A4W^Gb9%K_gf{P!;~P#Io?kW=yx@4`*Ve zABnH(AH7M%zYj}MSn5vv+fH?KvSeC-498w>4LG(lV=EHPJW==-2VO2KWzQG9f8 zdj1g30&mG?n;airOPS&Ce#U;*AkThfa2D`;U2TGIv=(CBJ5_w4Ed7eqx75bnH^RpD zZr^30v0tn5WcF^6?#%tA=g`%ISTgp*MX7hy!$FD- z*49twW97BQ801?FFO3drnEUnZhQ&a)Ray7-!wG#7p^F9JL;a`QYk$*+o1p`Y`-aM2 z!sbNmSH1x)*d25&-N(w3&GH8RG%|iuN{bDtqYth^jWP3kNA)i9q2ssO7`Jw|JkE;~ zXV&`$1{yo>`Xgkw*zU11j)b&B;J*$8oijRJx|>uSgmZ!lbL6-0@~1iiG+)X6#CD%j z*Z_m~)Z(pP>{<`Xa%`_U*xcKnSe2c$^h=kgKcHtIZX;h4ceco}$!;5V8MNT38VGVB zp*+1G8>@+R{)X)?yfydEoBWSMqY#oX>kk2a8?#UQV#^KfCkA;_+w&p=sQM8ObTXKJ9Amzt54R=f?~H*F|Qh9eoY3&B@`B1 zC7A7(oB@v;G^)7U?y5@pxBFX%)b59S`IY4^o9NT&TOxkj4AN!X{5+kgU(MGA z^WN9oL|`rLtK990`M`(ngx!2aQ4ECd3i=$}-mRSum)aO$mdu~|?kZlH$2k3b*vxkC z?~(QXhRbw1B=L~CnZe@dwBcVrXl^E4dhk@KN*BifatGE)Yny_N^2cuvS}!Hy%90< z-TV~$-X8eiHP%w*;J)@K;%*9ixX69*50+7FQ60A@ID7T(PFl6a!=>j(a3e!SE$g>k zMY?k@LkPc>G^b!7h}aC(dFX=^dVJBhxt=vQ`U_6auf1xBn*tomxG!w!DY>swK}AV& zAsgRVxz=|2bI=1tA{WZ`b_ki3^U2p-NyyzJ4#N|d<%5^-cc7h;A$_2`i^y?Bf z;-ay+qO9jkDSz;F2H{?=s9sGB9TyJ@yXd7Vp8nFAGWmKPeyO=WT&p}#Vr~qa&ZZ>| z-R5}5*`fy7J=Ks1cj82O@pbNm-jU5z8}0)YPr0V$1v!#qP`k}e)NwkiiESZ&hc{8p z2J-<*e#(Pwk~Ug;qkh0rZ`lPr;w*DuYA5Z&K&C_FsQLG8ZF%ez;%RI6!>-$Y`&c_7uedwIP2#>1;KxjFb4X*nFR3TP&C6q@bF;NHwDkJ<-sUg_krF{nM-U_b zC;^5N291~~KWvdbzL-+q9qt}$1BNITO!vmWUE7!IEbi^; zKB$-q5+|nlAMmhx^gcSb;fSe6{|4Ahm1F1qD6|l_#)PhN*RGJ}gV#N`OVjECe|#Xq zjE@(L?Q{FaZ#$eENMZ0**U4ZV^HuekfzKHdI2UEC_!8&BD$ zh2It1YVE-JJ;fMfP`&Oe8lS|>uqd}_<=$cB_(Pc}=F9QKrae-zSKpM8Sd8=MnvOU# z2-ed>SGX;12Bf53b|lesb7}LQ3w#STSG#c4OrJeo=%VQAF0LJtLfi@EynZg3F-!5& z2x))D$pb&z{-wM#5t}Xd!Sm%1F$Kewhx~#;mmyQEGg5w;`aXSr&3*A)!x*}d_(-j>NuRiFH zJHD-&Wgn@uUvlSB2s6*?aaM&Ge7l>P8>P> zYJiz_KT^$$f0vOxIR5O~wD1AXrAnLaf%dpuTkT_4e!=uJV(7U!D1bvOLnFW|K1F-~=?KZfK~yfR2Ic)>Q*mYhoMgK>dSbpET)xC} z@wV`er3lnYq*<1xpi}OAE^nO?@UdK)2ikmTTt)q~))92x^Tg|&1#u>Oj@3D8BVf8J z7ezvG1J#AvwlWEocEpPfW_A9(g33qbNp=5r0IsR?59cL7rSL2W-n+|aCf>h8!ZM+) z$!tiLF)er~s59J{zG&N6f7SCO7Wh=_Z9%3qQDe;&lS!L*ekyRgCgAkh^aaZGN-+`2 zX0B!0G8;Q!p<`J7pkic+B4nW<=oU&yQk^^_!e%K9WZOZVFrSI)DKX2=jOr;e!`xn- zAO9#4>7#r80s|URlS<%10=3@SnF!W5#PQ>*lb!X_$BDd6`6eQ72A031M?39e*zHRW z9o3L3((j0{5Qc>a|{;m@uD?LqF@C+fxfwpSxviTajbIdp%U7_XyDtxvtY0qNrj z&2UX(_}(-dV_OlPN^wStTtL`1V-gv2ekeFaQnTY#v2nqJ)V4D4iA;dFf+N%htYz!f zL9SA9?@R3CPgB>avyNq=ghEr}Ix4+FT6?B5u1(p`8^PmK^{MG$d3z~1hQVjxtDV#jJd=T`5pMBFRlRsFVjBc! zb>E!R`-W^cq^QzLNUj&MW20RBuGj$UkRiM? z@*>t$i?Ea&i*vIu8m(sae&Xx!zp#zAsiwdYLbmvkd-4UT1rxV$;QM{(NZVvb6aIT^ zCe|7rA{&atSrK=1jbdB&px+%wwtm=m;sZ^XK6)B8&l-P!`_{Z@d;L8oXRARmImgP1 zS|V4@Qi@V8CE*8nAay`tG%Nm_%kLapkDgA*@$u8|pEGH{BOx)Pg=5p=5*mKKJTIJ5 zS1G%=Zd}nQ^|+h7KJfjW>Y1~CeY1aXGqZR*BxKWaVc@-2W5_V^blD#J)cv-kn3Za= zlo9i}>wuwS=jHqEV?u9*$n?NGVY^(>&spTDm95ZzNtQmOW0Y@|0X`Q+tcU&96#YoY zqA^dUn$7u)dZs2#y4>@``5aphL!(PbIQc^2SfT;!7-9ZbknRBL#cf7RgbYG~eoeNy z?&iA()p*yb>ZddWc;d*r;t;+lD4Ld$EWTVY_Za&a?_8B~nhi zA8RSIBq$1BCcIS{C?(S7tilHtAKzVYA(2|v!>Lh1IFZ*RVk8@HzwXtA5JxK>dlbngdi`seX_O@yYwp6I*7)^K9+j#aW_x zdxXqmG}#!7^m3-Mg1GdUFp4_6dRHILfMl}Rg>-!P`MpFl0WM|_Keb69aqE?!<<)m7 zg!}A1qnMh8p{#j7uaLm`gWBw)NR1j6g|dc;Zpi_ivD2$cg_-!8h6tt@h*kT* zV^mL&V=L}kyR|wsf24$q`7JQHHD%w|Lpie7{cZ2}4zpSOZBZe$gSRzT9;>S?hQOO< zq~9#bG=2te;FG=mpEr0N3_fK{Ep=nR>NvoUUd$6%={|_RVH}fC{?OKUSGVsnjSc@brTy*cj80JDNp@6g!AZYpx^$=W_{EY&%ZdQpo74MNX;7=Qf&4?! zA_wnDWgJ~gWzcH(uVk-|Bllsg*hwv&~_xd5`f% z=GHpe)A?j^^4HxLTkL_zPbZ-PlBCA{w_5hP<$mHiK3qHtAG>Tn*7}&-FXj%0oSiY> z#FQ%EY@CX4a_<>VJGL!*$v07;18zC#E!Xgl zk84=TtBado{tggX9q#NJN1DDG+$vp#j3_JiTh97FUA)kg+%u1&=5 zdI!9y>x*q(o6$u8YPTlNSG9S!skOMb%p4aRV;a za{DvaFWR^k-Qy1maD=VPSA_FBC~x5F2mP7;FRlrP%L31{=k3!EDSL_U_?2;HJ#-|T z1URU8TWAsQd4j3E+@GaE4^dC8x^*t+?Cw!Y@x3qDn|&eg^-Ki)8=V>+;Qcbp2f1cV zi>AeUcR+ZNi{pVj)b(jWt@IK_&SNNOXrA*Uxl!`$55D-181APF?5t%iA1)QUU6t zMOFWu`aN^s+gHxbrR^_UMA}Y(ClmN9EwpD5+Xt;1ekXz2X1wC4P4gn&ha1iYSUn`P zekQyvlYVcv4PY;Cwvz8e-2AiFp{-+QiziKZ9zXp0=d_SGCa1XjY!9Z8UiaRky9Xrl z`MxM&I_(_vKV*vTd9Zo< zzqS~5M-or#H4EKg)H4j(X+fb)H+)8m-GVJkVSp}6agTQ?wrUfoJdpgBXPGl<(91wrE09YU}q!oX()4R+JlxD!GqJ*x31hYi)XMw=8Rvb=bG5{8`Odt>Xec-Yj z-YnXt1p{>G=BU0Z(-6s4foO(bd(&$;t2dSiVJ3+H(v$^*yl4!>nTRa;b@dw*CI~yS zKDH2=5MTz0Jl!No@5dVvcyio_SBPmp8B+N2LkxL}+kyOTKK0K9?0ZfDnk5m;-;4ql zZJy|4$>FyO@9J`A=wymOZA{2{6fQU}Xw@h}$X-uQsWz#HJ2GV?#Dz7S1TcPUJ6OIP zO%ACJfGs5ivOk;rgb$d1@;vZEAQm!Wpa8MQNjyDxhL}je5YnS_IG$Pw9V0F&eVPbS zL#-!!kFA8`f;@~A68PxL=a0^6q_pddeb)Yu4B0PRu4 zhe!a!2VItXWGX<+h^hSfdn`Rc=h7TZA+(QALIQ|5pCdNpC!5@@)Ju1**sZRB)2i00 z)+BWbb82iv7zH^IVmhsy4o^H#5%EC`CxYpNZaE-5@DC;@vIxTd1#B|ZM{Ak^IfD88 zk8vG%@+`2URh4Qm*#BSXr+=Z)R`GHQ5+w70PY4@09RLCtBA7W>2n~L$Y&!TTb=kjkG{$ZF-s7JtKNh2zed&fvCfC5p&UL>bz zo2tVW8XtFXvHv?&shu(=&qfo#sdi??)2sksCJNaTtfxarQBjBJ|MO�O1m17Ez$i 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%0D=~n+jmu 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%0At^+Q!=y4Xphb(7(BnniaZP7N}0M|PwuISJO zHWH2(V1=Tmi5;rv`xz`#E>*ZdM;PK4`o2f5OC-%Jb#-=Fc?HMIaS3(NS{6 z(UQEEa|Fo_Lz5^F!G!l20vL(*dg13x1v_KFF36_dD!`2|16%xF9sFQLMi zO=u4=%*w7mOQ{Ig_{C_+gj zU!+@?Gf89PJ0?tt`izr7kr|$ptpu`Iz9s8>`FuW0y+8&7jlLHY=xl)@rMgea!K>Q- zG2{A&sZBw_tpz2O#UOqX@EvUQZ_{Y0a9KL!)-Ch>ETBSxzTsQi3I0j7{c|SYuJ|R5 z$mkwlgMKAQUZ$0*KM?f3s7~1^jjCT92!nCe_B*`%jF)$L`7aU$MPbhOzuwsIkhZw!4>~48?mfXMsTt=6;2F4XXkSJ%gggVhowAOgx=k_Uu}O1 zPFC9=!y@9|ampp-;TBdqc@#q!nIJ*AYNsq-bwwXlJs$dYcj9M4+Es=o89NOnxO1L6 zEeUyMD~{q;04u_a$YCsVSn2t=l+4E^SDe*L_%9`S_?NaW@Y)%ox851b(+GBk@Gooq zg;4LKF2s3#qJb{_?tPkf?TcPW5H97DUS+;76;nMzlMNj{L%6mHC4GrYZ(_g~0v%Z; zn>@qMoG>#i%CepEn9e`y*XeZ|3864CO#Hfz9AmajtC*%S%+SYiNPcn_C5UWFB_tiQ z6^W<+2pjq(?SP-RBRU_`OyVZyJr?th_1MGo|5t%?Jg8}%=l17s*~kUqCyBWrl)j#{ zk+@M@uK$sNN~_f-ZydYOBg*Q?|d?;=f!gjx&~Qit`XO;v$o%Tgu5fO z!ytIJr~hg9;1@LEmyBv&sMvkZCBqy{mnn+ce+Qaeq4$zlkOWUrQH4+kj>VYz+nj)t7> z^~j6bzhV%hGa5h}81;S0r&?T&)>o;}f(I-je!_ikjp1qC4C7_1k+Gg=9dH$Uer`V% zEkoy^Y!1PLgT4u8%dG!EVs9@|JXdSA{XrFMUvJ~wKNu;fm2#;VppNqL0HH&Z)|ug@Bo@7MGUmK?Dl$tmg}OKBac4g0 zMt-V!prdXv)uxF4KK8YxlIw;d8JT-cM@)%@(REhI4v=@F^a3$wwJBMhl&m%-u_=j@ z5<&z0L15priS@>oU>FSLgQCti977S$D}Ky4M3+LUWv6aB;k}fuz|3_?;c&We*c1*^ zzp9;cQD;#O<=4xy*ZM2eT1!VuP)Jn|!KS^uCXc77n21JTQ$t{R=PpxAGf)?|V<^Zc z#!fEfwJJreH^t8j0~=A!N<=aFsFB2<#SU_(6v*9#wvF62>waLP-BIU7Tup*%CkRPQ zB+N-ff#Grqoiia3tP%k0OrVu^NpdrNxf#i=^yOAWib`_L$hA^Tw^T4dG2M{K%%n0a zHnU>X$rzv3HS1emGX(*58Dc{C(kg=RO_jZOH7s$IU_KqAY-& z2V}vxW*5ZH9ta_EAxl{wY5#YY272C?^xtCHV zCU((sW;&A`7Z||}F@g%+^K_%Dmf`S28L8yp3Y1g|eHqndq?8NJjmm?t(32cofr?6@ zFT-qCE}HGi#ccqVY(QTyLLRQTgqgh1Goz-G?DH6);4VbY@y}x`A6E~$aAL~b{lQHv z6oWiAbfxkwjw;U2@QY_h_ou5Jwv?#3dGlAKBcK4n|t|y(Jn|M0m zUkE%1ORh0`ajP92z4rwQV{RoMribByK)2=vjJ37iceSi}c?np0LEx4AtU2c5n|{o! z8^rQyFBF&PXX|ZhB_Bc&QOOPR{Kygmb&ePCLs9f?(wOCRq7eAGAc(^C4Gk4%7sT{TWEkhd++ErOHciy8SW#JLRzVurc{qwnel`rX&gr&&Wj)$;HXNiMpf@oKa z_+2sLcSW*0SJ(LkQxNdLl3Dz3T`_3P;Ky{hZdN-VXy_^+u?HWx+^k*^$KrsjL09bA zK^zAbz?&zgoe#0%F;dg{DCS9L=VKmSE|my=DqXcc(w_tWj{b1nN9g>+Lcy`^l%>R` zntn-B`ynd^(w068MRPrvQD>Yjk<<@_)Tanu6>!2j71n!*d8+!IthDq&-gF+vrEZI8 zkVfzW4hUoD95s!%Uy!PKsd`mbdTRf7=;pjIKnLeTmUgCyFP)!|>ujL+K|+Gu2b7nP zz`+R_Qew%FM9fH{CPPz#|I; zT$TKGuyL~ZrL$F2r7m^qK!rNo@)&=r;Kbya)0@&QDwUPBaHFHvO?_c{>vZ#;<0Hq8 zO&%ZFGWCVYk!_>*Hbibd0Pw*RCwKMSc!~gwp-nqiX$ok}OT=mHhUG>Xpv+EB&ZjDEIz4qv z{lE2k;5|2ize>2iGTwm{o_-zKJ$Gi$?CjVie=A#ll6`v9)a<6 zgt*m8wfgfZ7tIy&`Pzr~Q-ABKA9>x9A9;{t^@KX4j^Mgio~_W2@E^hb5%opDeEmh{ z@Be}AxM~I|FS*}u+Tn-!`#HQvdVWG4=KG>~R$YJH&zzL6lUn2E@x1xuOGV_-UU|Kl zk!Lzo`Vp|@E&a+RPBZ!2qK=UV>M2a3BM(}hOdemGNB$xC>WG?QK#|roLQk9wRs**qXL2s*q~;3DxtZhIsXU zKu*3yQ{AVqKNNoJXOU0I<8|E;uSCO?el!xf4b**D*)Q$eEe{2qlacUoA@Xy1UR_$maxKTt~p z1QY-Q00;mvgc?Uq(IwDqTL1tb+X4U|02}~pX<{#TX>Me1cXM!PZ*FBcFH&W5bW>8hnZaNHk^>T;C`YN? zL?nTkp6;HWo__uAZ+GL!yAf#?Ch_+>&-zby{&w*H{NLY=k^uhW!9U;mStiEAXeK|? zcdB}8s92zSV!jH1VyH3UB_dC~lK6$afpC?I_^+S`{`xym#@G2 zW@q1oWS>D<8Mx<5fSZoTemb+he(7hz3nD<2cbTLf4dgxdtnsa(_Up&`E*0?Yr_B2L zB8&s!!FZ|geE9#^k7wSkKg+y4@%&;U;e{~+@Vr+ZA-@hY5B@jJ#K`kA&-aD}*f7W_ zyu5_bVHg}`DDqn&Vy`?#f&iG)Ro7MibO=!LOAM3st~Z`$xi=DNcq6>aG#L|=nbiZqc?!(6H^MlAULgqraS74N-6nUS9 z|2-Ay>>c7nZ=$AIPd1|X9eGLYEjTPjsehU8 z;dgrp0=0MZeDB%QKW8Gy;iTOAOaEE_c?+Ut=~i5f;qBR*OE}@dY*r^Bl%(OWKJvl2 z0LIMnAB8{ahWBY#n=^VTPw8FLoZe+9qS01thi98QX&tcNFX8MbKbi_hf?UAcf~9F` zE`{$K91GQ4IQ zt1yn?tG%mfxc97&rw4LFi+jk#9H_o$3GlMBrVOCLbrrWl>c=CvKtB8H-f#vN*eJOb zX@ECeKblRqx5kothKB$%dX67WRiPw;Etza$=IUPk7KFP=WzhyOkM=6^l) zp29!g4{ruLpEYKc1V09};g_yb+X2-!ib0zD-W6=enBLe1l$(NgBr&jaaOh|UG@F>Yk3;tHsZAud&oE%l_tbDG2~7Q=V!2jXx2l8J|OWX z4{Q(d;r$GhLVWzv^Zc76q#q1Y7R+E-Sf>*hZx7BKeBoN$ff^NrV?Q$A@Zgj(4|aSM zuNHLv^JQe>hwj#5b4%Xvy$Jc1N6HhAX}@eI;wzF%_|<;h-juJ@-8lzkz4OfrN#OTs z*yl|L64PgL+r$TL0+gQXWQ5k~@4|x&@R$HmzuONFa0$8p33S`IJfYf5-cVfoHz8m! zgl#I)+=rbeA~6QCvKBQ#!m&{DJ=ibtWe6w_BhmM~6O^vuWu4VI$ftf3&Ai(r{e;@r z?R6Mj;~?XiC+>jIAx{zJ2=gcrS^PzgAV2AOw}1y9KEmZ5MgX1^uw7^639b{k^y^u0 z4P+hw6flU>l<%o>EovDK_HX*$UDhi${8(t8RmuN3$|B^yAb%7^9g3nkVy8XkY?U+4 z(6)m&Yk3jYw$E&L$sixZP(OT>L=n^9m6mB(EZ&Z$bltq^@&|f8Qo#innDGJ&= z>3Q%U|1w7`OPsN=f|1gxi>sm`8-P^k%T3k)25pmzbyI^`=CR<$ZVyP@f{{+{f@q2i zeGy&(X{M>z3~M#83C)=ikLhJBxQe7OX?19A0mB{woSVT~mQeGM9>RNwdea!Ob5b9{ zv6rXQAeZt3PMY094{{~hQ7V*0L%Ig=u*s%j?hj$xqJ$p%pK!PGnIfOE#Wa9DjdJ$4 zy_Sx4LEHxd1(4)@{SBE<5dob{o`Qpj%ba4T=ZZnJiv0elSVU# z>4wq@ zI$UxV`}(#48tRA@7yXiLY8%Kf6e9AcIJu3{`+_P`rbHqsQr+{*m(FT#&0qlRM+EaD z=vJV;E-{wy{f603;^m8sx0k&7ppn|a+^v~-Iq%LBvSk>GUzUs35`Cn~unFs%^I1v% z)=$47%=TLFxfDC0zyb3-+vj{6H}ZVMeUhQ!8E*uDr+&>=D6YOmh)}M57yKUnDlM^a zSDePQZMxndOT=kbMlD{mA$ag7G!Ic%WQ;#N!kYgXV+^_8&J^=SRc+?ic#rm+FzZAwDnO?}|4W zSFX_m<`5>XA3S@ve{MYPiVf_Fhk7Dx@2*>F@}hr#NYYQ}$8e3>DN-i{+=eIFG{VFQ zHp&>WpLjtg_sGi3=*Pizl73TV!Y+ai%ed&joQBaznj|QM>omShR`Z#dF%V7ckqnR+ zQamzFkETc+^akjkNHX|w6~)UZIjuyxkrM>iaxzWP5s8*ad11y4ZO<}|Rd6b3vFcjx z8nRE{&$ASm_5lS`80R7$6*H~vVVTQZ8#w2ha9Ovuu1DV79BSK94{0SmFHYh; zmZes%Nal@17N#6ilNZLU&uAwYDMNouaVzeEYd^jsmM-&cc}jfMk4quMp26|M84V0d z6FipF-xngi31J=Y(&Q$@1b{5eoo&rqC#W~ieUD=Jk!M>FsT(^3I@uvdQ3#LW_m6vJ z-MvDL4x^4J^E}G_Ae&`=Qr<|w>ioS+KTSmx$@Dx%0Ih!yk(KQ|Ewc5#+UEVWEL+;z zU*;v?JvuvAH{tL|AE#;5FlMYF$c7AfC=gGLtgrim*_0ti$r$5Xv1m#EpRdDV|0oT< zeC}#q^rL`mFDMDWd_D|w?`Rf8Vc?yM(KH@`T$_1E*CO}??|ZvP=SNSBY}^ch@g_+$ zi<2?PAM5^D-B$C#m%)1TQc9;_dU}YG3kD5@*!KCo9JZv(} z@yBhTmpLkfRT`Gy*Tas)r5=<(*d`{xucx^vZ?ic6^0}h^%URwa6D_YHIy+)^ZpnUgt5K61i{g#P?08k)V?x#6LlFdt9F<&0? z%ar$tJOZEtKq!S5jbJ9f05xmmj6qQ{>T()!h(<904Y>P6xE`2PDzIIqKNCa)OB=mD!AVpj&1XF>x~{Eva{H7hS4bi&9^c zly{H4nt99d4&`>^l+?h~f_bm+g3Oj`?-TMG;}SI^^sK;KR4z*oA=&ear(o`OwjZlc zOylile@Q&YawLH3zN(i7+YAo>@N%X(mXe}@2MY$YM#7a5D`GJ@U#l>bwqhs`gd&T( z6VJB>llw!a0yDCU6d47g0O?kSg4$4FTBo{AD!+=RR+9Hzi3 zZZNK0am!_Ul`F9{)|-(N0P#N1g(4p)-y>PGfZ3_EzTw71tpm#qsbYxcEN~FP?u>+g z!v{TFZbcf+D07QeVJYJiJg+CPsgI&06T8)lA#;*POJO5YC=Kf7ThrdU2EDZEnuc81o#B=3+;)=Hu ztg!=&BRzNlqu6ylHK!2#DrvQj9N&7EeuR&p(7O$@y4>Q5ZcnvP%_%i>E=c2Z>(f!>0CXS=n*Vx6dm?k>=On`Sp4i0py%70pI>vTa z(KTDZpsb`)i<0)2OPYhL-xZ(DT4woWmcI(bg|YO4&34ZAGhJqVjU8OZ?u@RRITJs*UMwWKGo;MPp6OnaH+JM;st<_Vm15+jBYKED{l!Wgb zIZwv+Y}k<7ctNiV{k5TiS}XjuiY{FTvABk~%vsM>$+Ol5t-^#HM*G%97Ii>kKW^aC zsKFyMVIh?L7#S0oj``&rRzc_Z!Uz-}MlcS#mf z#ie@#d7;aS6y3Ut+jHPM7Fm#nLtqhUPrcNdvJ%}Y`T}GbS3PvT%*?MwsoNQO8en#e zvpc2g()IyT27_GL%)|6U5t`L@_o4a7?Vly_d<>r{EMhI%DC)07Wk*2Xp+DWPi4l}D z8fu`TCmp}!0rO;GObKq7SBzbBW2Eq$zW3e=s!L+{7f|DRHbL7A#xz<1dRZW1KMj*i zMXKETnWqYf%GOIjqvS@$@kQZ~;i3pVYpfj4)i9PWE-y>Q!V{w_LG`P$R-~6B&M#)M zt1bjMW7Tamr4oKYF{cQWz?0aa)%RVEq8Ak62Q#R}W(ir!3fbl;feCuvcfrA-8iZ~gr}20D!GYGv zeidmVOCu_$k{4c|Y@rspzrndmvLJLLIu_NBmVhm8CT!DTsUXB!MenE*MfQ3qYO=s=A|C%Rsg@XynC5_CJp zYOa1XPeHPus*eT{Ua=q!0i_h6Qe#dL_iw{bA>6Vb&P7^rK`goWaW6_RN%Rq}c98U7S)GM#iHtW!% z^7hM83j>TO`3ZZt_=R)Jz~he(PsgC2F&$}N|v>|*PE)&Fv*-++FHo`qc_ zR;$1!%hX+E;UjO{lP4-rtRCg%SJ<=j!Q+4QUOQ=326pnETcQYJ%Pcr@(NQF^R_huc;Jc*FFn(MD`S>2R`rUK z-{Oi23Bd_zz|g~_CcIijR*M2ax$HW?_hUJV?497g_Bu*gewR*qSe zp!$fQlhSzePcP&(zBoi|pn`*91QO*6TfjWPJ5MXTgSX3tQ&=;U$9q;co`Hn&(^bx` zIqe-VKPSkiqLx^heoIznJ?~DY1}fG1`C+~2v%0-Gup`fm_(;PH z#t|5@!ojsnybk;cRt8s#!AU`HC>Bw7V>eb6#`;4LOjF!)FJ~&$wkPo*1DmKUD28k5 zY=+D@xyln+V5!Q}0XsnenQZ4F6OX5Qq~l>OuTecx&1IEm?iC~IBaTQz22M`WS?P>Y z2TUsVC;@|)VjMQ*+nsdRA&x^lOE1(dH#L%a$}{UgDWmRvDOk#g5UZN8YWSdzHx3Cc zMM^jeFQp|C>FksOa+_NFXIFiJL_gMN?h_^p-jRn9XhYJXxT9T^JLNdCex=jAxsmC5 zZ_TV_3AOZ*N28_7_3Os5YQ3odKaed&E=S0MaK7E0;d{Z_Go+7LAC%o{AWlJ zVal?~V9|FU-k$&c^z4U^FWt1M@9CW7ELjr%Q=nP~z!@{ePZq%Wd;L!}Ut3@OZf~a=o+du`B0s+R ze&?r`wxVzxj=h4*P~LGF7odv8)!u)=zWdhO=@&wL$HEnv-sEQCk&pww_ZDuJ>LPg< z+!rtizFQusx;N$xVeq~Q&RNU5V1T=zo`i^A$>sn7+Rou1X9(!SS5LqB>l5#{IShbr z$N1uDoQo^kDtpi7JeqhPnA>CTKcf8G|G3J(UC7IDTg6BDF}xVsNoCeQirpR(#!nfSrcD zk@6|!aes=FA^GLVDi7BQ*_>Vgi%@T#xPEo5-Mfy%4Be}{t7S~cw->2$jlKQYO~9XV zbrdeP!kLroQ&g7*GUlkh#-&?F$6l&=;KkU8iHS)qad#I-o7tQd)`;a3#f7 z2PhkGc9!c*b!_RNz2X$^t&ao(2Bo`N?S|GuhYw=!iaYb z)=ipdjH@d3ACI)6Q>TH?*Xrf?rf;4huJwiN5*$?xq_|_v*RvPj0PuDpy~Fb^7$1)f z1Ms|i#)6sfp9WgEi4xu)lB9It%fC%^d<|_}#@Dd2Vor09s@3Moi+IPAyFg52gUWR>R6;DbC~o{X z|CS2}Vd|v;&7T_NudF(jB3<$RpE{=JI>{|A^qWJgH4nG)1FBMtAkJqhb}o<{s$AX5dd{Ld56AX8>U_Kv;;iWQGy)CF z?){OW-LTUcgT?YR6gR?JR}ol9OR#333l0n@jm~7)h!c%b?O{NCg$5VWF=9ASB&S-V zYanQ+u~dSy2>#xMU4G5xF7Kz8wza#>VlS@y6V*3ttlpq1hR`jmXE1$D#=CB)XpV|$BYh#^618GWwa>z)*dn6{T zDdxzG9yKaXN3v{_iuvecuvl2}R(_FD8%c?B;GZ3%G*3!!**^?{BhqMDQJ#QhUm+rtJtPxo zMB{*C_&3JUgY3`*tfgM{W@?I&RRxB#d#t_Vyg{|$fvQASJ;qxwW2w4(m*f%WLwkSzHaV2!)*l5Ed)@V<<2{ z*n_#~D8wEFGV3DpQ*`u5-$!)@I1aD;FqYATluQyQxlAr$yF8tnD6lY6CA9kluCB{n zsI${Z(qO?_*1@Q#q7`VVm{`V0VjV;3oK87Ow$6(({MJuLpc<-+BwcQ{K*yrQ`_uVZ zilq|M^{MP^c9f|&o$g`+_U&|jsZa-KRd&e+z-=*4T52%q+SST%Ps>A`H4QE&fB`S1 zd98q}N}l#6&-D(nvvELEG_HlyL$+5)6Azc6+AxAz%l4LxR$n!C!@Q;v&Nqn4Mrr2f zvP!LWyKl{S*4nBX=At9rCh`@l?i(e$!8yL3lKerJqFx1Y8t>HvO37`7^e@#wM%mv( z_rGlWQOeM<-?0bw@r}~kN)&p^WHya+QixI^Ypoex4SD#a*0|Hye#R>Bg5iLmV0>|- zvR~$VeplEQOC!GvySy9g9IAFHx=)l)BN!=i`nyb7uyC$9Wro{#X_pqp0q6~OM(J%` z?s|d^m@{LwMl6BENhRw;_Pr{ty^Tvz)5WjWnUbT-bIN$6u4f!Lon`)&fXi#{2S)0- zSjT6O?Hsfn2!mgX(fd4%vi|$@;yS#{YkP7uie-4mw;xJln#LJt(GSBMi&1(hU2QU) zsW7D%=?AQ)u7DhVap&NS^;~iV5VLvM%4B)djWEZCV&gGMFVvF5oI5rkqz*kdI7SDh zmDIG0zztffR>!9_*)hn>1ou2I4Nq??u{MJM`$B>+>6T!T@IX z1C9byOIGzyWZ+Q&fZalgZ1PgTJa6_t%#2n9-;G_lnnl zYH4U9r5X6a3D2OTD)`c0`Ml3lB>T)#wWKUFBTA!F~E zidQv?A{1Frsi0$awN6J1wZFqrBwW=Ze0fSiEU`!L?O}~Y*|emEDo`}09?;4+6SneN4u@K`VL(c&APm}%u>k6UDtH@L?*^Y1{ z*8?i2<7`nsA@385(PP1X<8=Vhz+axcdVM%J@pe@bIAI-skvX_EUg`DAbxIXp(KfTf zQH2ahEjcTZe5%lxA6+GIC|p}~r(p_@FniNzsVZUH&uYpuScA9}Yk11V8l(gDskcYd z$O;`Qv3iAZpOwaa2IEQs@zAZ*7hPC9MzdI-w1Ss1kkI+6RxO52ltkyU|H;X^)fW6` zAlesL*{w@-EKf`ArZtw&hh|T83L`rRdwf-aZf%#?-16*VS`BDaiG#EcM`P{1LY)8= zi*dT<@$!T2?uu?48Fs3JDgdX(^wK(5br*3iH+hFtmbXe(u)!PXoLds_Q`PSe)0G($ zK4(SC$!V;8EoxF!fJUuYmmNu4RAzQ3>-@HL>~`tt0DJVa*{j`svafNt!7cih97By{ z%uC%>fdcE4Z>cUfw`19|$SJl=xR?uHE?wHJ0=trQabK#FcrjOBl`n6xpk=oL#suIG zE@2vwwpPR#MHeUuz;yL)rObK5=2FK+>+p_I=wHQfEeM0G$0Z=K`UMALT_uEwB)udl90sDU?uZfH zQ%cP=8#~ErAy{!`I+i}F)BFpJE6J#G*1xexma5|s+P)qhI%| zI-Kovrga4UG!C(7GVqQR6V4uX^&YWQQ51(tkFI&3u#p1OV|CqE*%dV^MKcv;kPKud z5*W5bee2Z?P3*&Ej%0Zr5;3}x8b`g&Z<;wLep(r*{`v9k-;vAFqA@dNmY@>YZQGX@ zP;*)C^ISv5V*1L+w^-MU^5EyIirofQ4H#f0go=lenebAZJ+9f#TN|0TrrE&fuPb34C9;RlP-g;I3zX8hOuzBhP5WGjURHZ z1ZP^!Yf!OsV00nm-;q;mc+MJl;)f~AfmBDm6cwp1wJ&6-w!_?<%_@&>t6XU0H?(9z zA#*RyvS_{eZbQT(AJ24{uha?d*3iSsDwZ*_R?c^~k;TolGWU~?Jv8W)z$S6^2 zIX2NCy^T(xY#LyAyjobJBj~=*hMLpBnrqd=VT0nV9eK7D=NC(}1rO^g{7u9f>qy#b zU1yHR;tWa`D2nyiX0^35qyM)mG|f9laII+UTK)x+A!WE4Q~+jH%T~Bbl|1!+SNnqN`_$hlA+Fb^1i1GpSlVmbE_5> zZ`T$pEOeVvw-z2i|F~PJN>Ve_5!@r;yyc=MuR*Tw?)-o8_YMBpsjYodGwg-502MZS ziP;z4Z%==hC+kj8wMLAH0aWdlx>??k-AAT?k28q?^V?ms8V!x-f)pfR8hBQ9nX3BY zGL|(&v1`7!S6a8i(%W)ZeeXS8`e9Wf96%?so>@3h!}3C=YtmC5xo>z}z8oSz)N`FL`6yr94l$M(}M(ILpYJ5pnguU>dN z-hY-CCk^DTYZzy;JkngIsTN}N_Lh*QcJJ4fRg!g~7ViWuQ0e`j|Fe`Kuykt!)_(p1 z^=E8Bfu|a!-hS>Z{_6DXv<(I?n0Gm&zy14tGB~cG8TWci3#S&lW?rq*hrUHh!<@vU zxd*5Paz(qV)7IwIKr3HmF1g0zKxf6v8sBt@(hRb_my7~yj`pwr+*Ayu%ZBtG+C|{5Yhh1^`{TEUK%`mTC(oW{X5r7@^ib!@xNJ0xj!=?B$-pKhW>lp^)v^z8WUhmS8$2NxgT9R8yLS*r;k zrZG^JWvK*b-{bm@PhK6qe?4fhMpdI_yVr<9z;RKbt~p@HX^{AbdvE`~X`l;jzj46? zU0N*iGb1ZbrQy`)>1>=TXD27eACFIuns8jP7J#2+1W7triEkVdn+p4^QtSNu?YaAU zWbHHbyHVM#!t2V`x;=8l$QI7r%@DufI{!exRJJMXc_I%sPQc^C!C`AFrsJ+=y+eN_ z|GJMQzI^|xwH1~NVQpH_SL?N}An+Fy8ncgVw!Bk>Zy%2UJSa$Q`})~8&uhbl?gIsH zPS2X0>1LI&70}=van3G=*yQChWt&jV8g`35R}DEc8R@8`QmK7(O>^W;HHnPGrMqYZYs^kA9!&OTY5s`(|=xso!%6CKk9iq20(=()hc8($J}6Ddpw`2V{Js zFG|JwPWbMp#+9qLMy+pcRohBG zt+tic;TMz*Yq*Ilc#aXPuNbI{+78oSVuxv2fK$~C@>LBZ&N1Z*L$D^hC$x&=@Uu!$ zN9pPHyj@(S^HQHxm-YINP)!{_%Qn75M`47A-@u>zdx)OFu4y zEL+`=%YbvOeq0N*Q+Y8os;Jb`cFnj`7n!T$E(?cQUe-_Tp19J(DD|D9$a)|%i>wKZ zkrs9v?x7j@hV#a#Fq9#QxnYq}H{VvJXuHT#!inrgR7~8{&B$pW3cpo>ro}9M8yVId z^{BD6(j~~T(J@CqscYzEphp`|D&4V5NFub<@SY2j6n;vLqd<4#%U?~E+|`f$LlY^o zI;wWhD0p>wXf8j4a&wsE*EKt)+1b{tjaI66u4DVGjrGrJp@CLwQgid|uR5#%>%Qpi z?Ge@5B6$zCejw7YrDAUn?>y9%Zd*GKeM;59aY@vxT>E7bzEnov67j_uQaxXNS!Z4~ zF(4@?C{?27np1*CpB7ej2kMr}*vP1oMX&4dTr-KwQ9Bp!YaF$%n746VYmYLq4&&d1 z$uz@2nlk$P6{OEWvo(iAdg+*+i}pXliG7_!Bi+sk4{wq!WwFxwSxsqG)?uyYZsEY5 zH%@DE{k@h3T%mZiV4GqT*gb>;Mi41cz}GNvL^P-?IX~wbZQC9UppPt&Wo>2K9%12G z?Gk%Uhl+s$uHT6~gx0&g%0{hiS=BLFWO7OuWGTLBktPz}p#-!-lkyO4vFQUK{nA*h zd+ZN&k)-KN)$wF^J+*ricRuxR!%F#d4rf6c4mr*fhr97pJk(T~l~z20u6TNEJN4Lh z>ap!q&BoaNwo^8+Ti$lcJmntSPPK%_$F@^T5cJq~svT5*Ms25zRXw(ydTcvY%Rr{n z{a9ool{Gdp^V4B=n8Q74ICYjVhaAF!_oOt5Xbl{%ffh4OZv=tABI%G($_0plk5naF`{%S`62Zu6M46jHUk)_e<8==_y_prLJ!<_ zRO>qxdx14#9HI8`*$f4>j@*!;9r7^uMUYJu&aUcCMI z^gjSM>Lz+%#?!D7bgF*-F)rb z>iMWTN+z>GQo&MhRkXo)p~$2%Oi^u^ke}%_`*DJ|!qw3?pu&%a8`hzx8C!(--LemN zO`pwtydJLQKs!oe*fhE2r(x$A4cn77r#S?hlrao4#_IuJOXz*HMM{S!w^J0@7OHyT zHp1((YZ(3$%$D_Iky90py(|tvY09(xAj4Jf`|+MoE8XKwz6auIPtFSC@A-QO)gHmU zmnZO9di(rra<>BUm4EjzE;{LHuc(~Yq1_xKGt+2XznNP}>Re)Pe4TTQXHk=|+qP}n zwrzL+dfK*a+qTVV+qUg#d)nH0zvN4Hlg;MlCMP+$f8Lx^^;A8j@!HimO{f3FX12w3 zdU|JtU-CsLR_FTR|8<#Zw0)>O-|cX=^vdFhS;SP(e|CiRu{;?K8VPP=Ae(Sg^$|8C zEU|Z50GHj(91sitOZmGdFL;<%@q4G&&lowH7>gIOTjJ3b_KsX{wXDKUq---PxmpR_ z(X}sR{M<;4)Rqxjp*i|IL5{$laqdgkiXRn%g58T&=}*LkxfD%9SLCKz$a*?4y!~?K zg?FX@R8QSd{}%dJb?*z$^h3V?_X*~jt(u6Z2u zxVNqoVAvtr-r*yPD$w&~^1ecuaiiOQDXu6`amzos!TBDB8ExZ^v*Uh#IC@YU3$7m`cxkckXIpzFG9Nl4_DDUP3RqZJ3T3`pO`eTb6N6EWIcr zUI>#&hJl=Ks<3FMU-mxt0x6n^k!x!E=foZgbpICI&Ifk85t_a_Y6W%d`%k%Y-;JPm>(Afp zFJ!7MZk^y~A?Cd)3t;ahw(acEp#6byvNUpUL%2RMZ!9<-r?pPqp~rYX4V1~5c{xes zY|hlYx~)4oW?Y7+VUMJGckuKX(@KMtCSH#uFxxPmc08MUPrTA06*G8rjQgJbsw z-$Y2~pDRmlWG{C61B|SBx7($r7v^4FoIsOhaEMk`EN8(4ny>u<)ialjhvCC~AMC2d zQ2g>^LH80o&W!d%X-R%71%IfPRh1qTZ``z0%o*@q;H?wv0zf@t7GJ3=1<$ktC*4nz z6v?44+@SWd5R20O{6Rk1V}WjblgWRG4+ zJfDjL(gBbtW5f{b!2L-di6_?ph)mDFk!<;ld!a4^NmBe8;_2PDfu<9`Vj<{N5vmmU zSBRUF9X!jO8QMFa2yru%1+4C@mt(52_v_b`Ry;DHw*68~8%X?k#OSt^0jH z;{AH;BCsPna+@V>o6hW};v==F>_&cF_$V(8E0|4;un1{pq;SX;n#AWaQQ(Cf4OEn@ z>>IXECpY!$<)curTn=Zsy~1P>s>VFGndWfSKidqD`OP-rqt9WMKWMxk(vWi+#%`@# z-{w=ZHeQ9yS{<^re3?ZiK{=Of{!;&5fCUV28@E{jUhCD*L?vq7)F8{z+3X|r$iETYXMtWU zd2$snqsXg$&!lp`8J=qo307*J6^Xn3CR4lQ+I|sq@*p8=wkcyVqqyee~(*+bFd`c{Zw3{g2vfh~hK& zyu#uU&7vB8DeIJq`{CR_?9 z8%hwB)n}FlTBc}V#mSU)NFsA1@M3?yx-=4$74cO}rczljVLEZxhy3iBYG9i0%nYM? zWqqupA-?)9VsDuASom|Y0|==E#xP=Qva4FAYp3_ z*Cm9>mK-fsx4DoeW2~1MAKnLwJ7~+fKd6l6ZS*$*sy(p?rnKA*X9+8MRtExET`d=@ zKOW_|XwpcO^E#!X(u#JubrM}x%<;yhMcK`^##~qDciYFFYT|5(Jq}fLR9ub5lgXn| z*8)w6MvpWV{8U`C?D~8&C!(b@>}{gyHv24(ju>V3wKH>%I=MYg$Hn?-y=k2VnJb(X z<8tn?)W`uE6Vj;~%~A(sCgUUZof+sYrDcX=z4*qdqHgk}+c`#>LH5433D>QtXW^nP z&(}H{DSko5!BA7G@k@1@kIr>BJn)MEd>d--5fkjEOAp8pTyddCtcTLoQRDfEZ{QbVJKVVd141FWmzKuzDf4Z0uX#zGp53bH(d(5km*k^&3IsH(AEAa zWpF>&=6GDifi|9+U?jSZLTGHu*C`GbSXFCPF}y=>BL2%}t@~rvJsoQX7*})U}26-r}p<2JkLcuR8M@yB2LeRxPmEQnMx4k53ZDecxkj zf-Txhi*lE`W9Va`Zsy-?V0+W4!`=P{IyY+16x`ZKd2L>syH{)MvL##KDwOw%0ISOg zRUmtiRS6y}!5CqXCf&#;ds(olP#cgNRPCsB_BcfWzkDKIOdG|HwgCE9P8e3qWnL$H zJnda8J-CE-d^@0N;|nrw%lUzE4^U;J~9lRW)K_NWSmZ;Zj!`lN27w&%rb9dgR<9Wn8mH?n9=s*(`#(7g@2vO@7P`P zW#>AK0BmMW#Lah%V7F zUvqQcB_G254;*6YIK!xeC1bZql-?!y8R`zvn{+}cU8CrAR&W#laW>~R+8!Sp0=eBd zuE>`tQ)gx?HbSEiS+SGOMw#*j)AA2?Y**8r6c|8Ln$F?`lbSxFmxB?^Hn8yNVp6l? zS!bBgOXB4D*p}*_Ddb9U{qIOI{LiYLBP%&;#+PX#MN1M|#-z zLcHWcmgR^Rby=2D%so2R7|-9pWa>+-25ibDx~wNE3pI#bm79rDOxS~zVadJp%b!Ib zUPzkptgmwxV-J1n0Tp#3=#zicE$GDw2eK-xfjNUS*T5WcxBT@nBYTa zbuC0M-HO%je9rp$JbO%E3)5iht-36#pEQ^s4FdEnRDN^SuyODEslL3=-_5C}&OIkz zKXUsFac)i2XR*QvD%d(Re@k%C&0JZG4T~&a zY&)ZLnygNci1s9cP5XJFzf^K>4>obFc>h%Dw`(FomIS6pJ^E<;>o4>l092bGTqF&t zjaFSD%*qTwb=Q$^9NIP#c;|+xKN^X;L_6ct0jnC4p!J|lvPv6!rx0e;Iw71UfL4Ah zWOfqjrSiz7Xx|34l{2t*HZ{>!xSgGLZ+DYN?z4f+D{?*G!`@`g3G2u4D#7Detx#F7Br>-nn#5LUiDLMh?exgS^rn zZ|Cz7t#TgLSU$PxEyr}7>m_7;gcx;oEZ;tjEiDkT+(-!06uZMQ4BmRb7<7Dat-Dby zIcuVNtgL)%noByB6<94m-h-R7c2r%&Fkf>-u;2GcM`Ht_ICksS z^7%}cBGo8j^u2u95EY!48a?I*rIEp?SP8cTHwGWYmPn{0lDzPmk0u{#C_|#%-=6lz zg>XyXTn!9(q?ob>J^NGqA6K5uLPX+(`qQV6FUq}5)z$c(gh(obB`tam;t`CxOl6_v zz>X@e1MP?&7ZMLkoVUr=d(G2NuyLU6wuYZIq8*6_U7|7%3IDYcLA%O`0CIWF{v(sq z{akJwqT0(*(nn?0t-X3|N`gb?qpc^78qsn!KhTZ8;mN{tyaJy8GUn%=_IvOOdwGC) z$LFJogZs7|pP|zEvA=x!qvtQ~w~%!+HF7oo{KyDavNl}f>9`Cj%D+I3c{6-~$-UWe zftF@)R6GbAKRo1Rz*|zSmHFYj}|wb^x->oJS;8TKHueR&12c6qA(NM z6?K zG5Bqd`2PmzT~u~AbS?#BLQl8Y{*CBsS6JlBSVZq3vqp*_u7O$zxj&nI%?&}8TqNTRxwd;U7xFm zPX<(T4&5cD-mDRXk*2oeu!Et-kx*+?F-2a{&05ZW_UyfGHZpfD#=d>-)>hH$&YWvt z38950nAu~H%&=+cZBasB(`B)+!lCbNwfn%t(!FzEr%-0OujhS;Bg*@VzQSpJ<&Q!E z&i^wxHi_*v4V4A;YBOCnM2F}sLqztD`CdA)Yq3f}3%dKq5q~uTa~l+t@kNE9i3dwB znps;@VtJ_i7N4>-oP^rAX?(8kgX1VJ+^}Y!W$;G-U8|3h1OVZ-iM1n{Zg?db0Wk&i zH{0j+z9m9z0}zj^fbG28ZZn<}O~A^Lvxmfrte=38g4M}wzVcG=MGIBB<4 z=!bafk#tO%Xfcm<-Lr5cH2^RP9cQ&S;h>d2_n32<&y1y<7)zxv_MW;2me?ffeWK1$ zGNkqNE76BR@(vPC3*U`!XKSHAOiD?G*<7~bNv#!;rgIA|aAS_jwZ(BvM-@?qgbGGN zH@@ncozazC7n2mS35DPujI>P zrE^Y`G%gM_N!rvg?Sj4P#O3qSx(g%vmC~Dtn^?AtJhs+Hq=SO+%#85IuBG_Hissgq zQ3atRE92kY_88-LyGL17LLf)%>CieM^v-Nb1|aT-Q!*E_wKv~ylBOa&aTe?44zt3C z8XCla_rUnYdc~(k2qQ3ozCE~qw<|}YX$5&=O_cOjxJ+W-P?V>bCR5q6M+4l$702hs zc0?BW57RVxfMNB|r8~G`495kG%8i>unUD?`ru0Da>D`VcXP08SW=bTpJcCV?qn7tz zoVV2vpt5;1$E24272*z52KGP_u3S@-1^ujB%>%hIO77+P_VGD#4W_fTE5?Ps2C*Q{ zg?@VrAk~R+Ym8$ zN^jli>ln=elq|{oCgoP#=JLI}G zPMaCt^{gPHt+y=ki%?U}-29xFm991; zff&IB&ND)O&w$HT9v$GSaJ0_s$6j5WF1OFP8)LH)rS?$m%2821kF!4g5uR+f?UnMw z{q1ivbDzm94jvMV2Aw|yh|lFFc&nEE-c+IuspTJN{k?3HEsvBEK3~@PA7xg_xfNE>^4>GN5P=Br)9p<&I8;3{E`6u%~mv4Ud zZibE8=aXvFkZvz&cmaJ_=(4qq#SvW=T{IGpe^Hghe+jKht{U?uTyy6VWQ^VuN#CCm zDe93Hs*QvaMK<&09%ke5}4Ra)E;^1yWY9%-15 z6=WCeEV|Td?yzU&y1A99h<9ET1s5+}Omz+}zKX;viOLl2b5@!pOy_Tj7M$Ihns(Z5Q=$8rElahnRC%oxV<>q?%<`%kCk?U&BKF5IwtFmyeM%r1z_WK|><(%s$l zN72j4f?VQK2KC)N4s2L*^%jUA=e?RM`WKR5eqTiG1~+hbTd9Rayq@RL3-t zUv~64QRY5ugm%No7ITH(?R7BR1fvlxd7jJWIQCyE*4$%V7A=tu2*L7B}4{~L$C&hBt7&&KDFK?`0Pt* z$2Zz-wYzD`F7@`*S;6}zQ{%0SL;HuAeda1|hGQcc@x}##|E*hL>%kM>{m&zh{p{(E zDsB&C7pd$$obHN{{X}cp*I%5g^OjCc^$=)~ZMWv0+4i%6rz>3%pJLB#Hzpz3+!G$- z0LaCH*}9*_8Yu_)1%{Q_z^pD8HRwqommRIzI$~Bg*i!)x7|}z`C@8Z2%hpapttpXa2S5Qi0L1w&>;qEbb8%U zE%_llLBzTsb-^aJ=yC8K(5)5vi_y+3CsO;e^+|=DllD_{N7v-mqNdB}qvLzKx0@b@ zT8q%!D<^b~4K9TzuF3XdJjDsyN0xMk40IB-)w)AB5jRHZI3|wUb%tjp!s_L|EQ!Q$ zf0eU@Vc4OK--+CV62vxUWED#Zxqy-!ESRaVpHErqtI+B{M&FNIa_L44-Gw0(dP5uz zqY0N4h-hz0r7j-u`TR=_XXvRXp$ohy`LD%y87?0aiskkn+k8(i^ani8ICYqln>@I? zlNv4IVL!3&`TH;8?({p}VN9EAhJ@z!korjEnN0q^CdQH+W%@9<3F)#Kt8?>gI8IBr zo(_~eF=Sftnur@BdS+{OC&t^%#sI3}jO>ovTocBIZV$1zAF|!Pt*&?W9FJ@!b8H{+ zu(PIe!;y~)IG4F@lUMsV&p&xlI!(%{u2~tnywBYSY^MxUneOH;f@04!B0$z3UTKts zSn&W1fXH6=jkn~QpAY#JMp61U1=DmLdZ}-{#hNmL%RaECG9obYv?erhns@UAIv3Ld zppuv@E?8d0IF`IwzH|ZUFF~kUYNm!cVN)jk2{8|uFQ3iOwv(kHu6Ebb+vyNhHqq%n zcCt+&{d0MEohjnY+R1N17qo4K8c798;P@(pSXFvllMOZm+7>X2_+ep`radeq_;WZZ zf)$+MSvq^AD5XAJ(=p)!MFW^ynqh;W=E?Hlyx? zDD4g2{0er;7P14ZFUu4*Y0w!-r_=?EdPnKkj>wrKN38}fnf4ojvJRLdQ?I8aY+-_~ z8v+@WFZkn!fA7d{?-}>+W_4NXa}6Hpdv9Cowyeplnr;Z#*0)-2iSD(tG_`&qO>#FT z(}U0XQ7G3#5V!vs`2#iZ*diAa00D@H`WM`YgOM(K7>8I;XT1)D0W%Uo;`hj^MKeel z;l0r>4J$wJ=9|64M-;Cv)fie5B@h~mbyzx0ohkn#ar zOLa;_UmfpA2((+`T;3v%GP4(OQFin4Vlt{^w@doo_J2Y*bt9OCcdkvL;rr_bWf1qchEWo)R_`zAmFq7T)4kf|A3|J@xkOP-5bfKFs06WZX@&~ zFG(|4<)CSLh4K@=z<2_MRc&jA{R_5E zqGu|F|M2K2Gl79AlAUM`FID?M4Ekg8cQ<8oq5Vf#M0$S1@Qfm7BXzP$E#6Q9 zdgds1Z%jN-gv%u2bH;VQIEi}#oncs2o~*eR;hj94 zN5Sr$+K3cvSOuzqo=R0*6LRHAH`4VR1)LxmB&i1!in;bU7D z;)F)1TK;x8YcXucs0UeeTvF~q@G&Op_>0)5o}-e#N@U<}fDPs@m@I%?>|cO(4%#|) zsDY(7z~{%eJ&bmrcb64dK_%F|AbAKsM}RtQY6ni;1)$^OBkwct^*2*nDTs+I z(P*lQVdV(=?#pIj&h<|jV5;xdNB2ixIxbajVJ^>qgVrjiki6P{o42cCOv9nQu)!wV z@3&_vmGnb$gw(CRsLSw*Sd{Tb4UWQtj|mM1wWW+Uf;-}o^aDlN#QLs-k6Y#P#+52p zA(f7&+y9TVPIKiRI-c$4b&{L>By@G;%W1Tf4XbNpLwaL>sdUU9Io;E((dt%?qg%)o z2!-m2HN|ibQhX1*YxNh#WRBmQ`!B^{kk#!>9WUQE z%w+D##(=Kf;(FG~sC6!maCO|?NywCn)~X-&Q%VAKPSC(*iL8a#712)$$Th`HyD=#% z^NA*26{Wvot$1U4kzFCc0^V;$1TZKw${uCmWYEQ}(G&jG7}t*UPmMC0x(5>|o>1EUTq#AcueZFu;E?XYJ|qF=Q5 zs=NlJiuK-SKfriL{ziNUYGM3!G-G34^Az zQbW?g)t&bcBc>vRPMC8#^vB{{RiUn4DjW_CWRZ2g<}U{VX9@`eppKDbDilTXD}FRr2WvY+ z_(z7sAFo!gFWHB4=Sv8*x$s+s(zzM7neaXk$2&*Kp5D4&p=v>vi%FGu_Q+54v>Fr_ zeR)r~!v^@-)neYJ0?v9@lW5k-`t-rtudPkr|Iz9Aq*|0BRtjcHwVTe9^QcwCz}N;(0pk!=D&plW-uJ-UF8V9ZGNwXn_(N;9nKDBgfm<;d-Ql!5>4 zlfbB}q%@w`BoYx?dvDQw7+!3&FxxR`8q*cPEv)G4wu^F6Zla(ZrTT4qxrFl%OD zW1%p%WOut#KIWvFe(|Ewwy@e$PO)a^8O&6g_*N-J$Dtl+u@ygn6M=FQp`q>RIG1t_ zKG3V8q|{kLJ!RVr%s5MI*VTzO_mA4RtZUhRllUw8i19eqsZk^zFh{+?dZGYu%;1Tc zmJjyV>Pm(hGr)OrZe~%Ml@WzAi1ZfvivPQ2vc0L9YI>QP7sb|Lf$u<1GE4ybFB1aH z%b?YoLQD;n$jD#MaUB{2@5DJ08h)V5F!gZSCjk7>gj(wab;^OBaGzM1J5iT)qo>4q z-YkS<&HzKOwN8Ce7Sz24xa>7a){XMTaX^7H6IwQIjHvG1Bv7u^Gt zOOfSfh!$|4BO>NRM~wt-b>s;_8_W{T9qZ7TLQKU}IuowM@w9PKD}Gz6i);D4)HXX& zTyH&=o5k-lR_CV~mpmkazWZB0D{H``LQff(muy{ljRPBTV}b;Dr3~^Yeo${ztd=2G zEyE+iltz5>+yKz0#XBG(L9)1>w@#tC`5a3CqWWM`sznU3+#TJ>7bKDuZuV$kfg?nC zsIB(|WGB_}fe0{?TJXh&FHr=^D4{%u>N)R)@a?0=XR-7$#Np+S@#iMo@Qg#zzPpH^ ztkU`Ju_H>;#P)6v`%nM=hb^xiyFskN*%H^ZsP^#Ii;-jXR$-O=JAeXgRk}SVJp2o^ z*QqV3^0$Gw%y!=BTlyTJ^g3+qA0(^VdLtqj^cj7ze3G8Abr{N$^bV{R9)ytx&CTnt zfLKjR97t3@|0s&c8_KYLX&fPcT<99rICgG}?Rl-j`28*EH_k3&=P*ObyJDAg6fYu^ z{j^2hYUCUn(#&7jXdo)>bWP~egG5dn=Yl;~^8-3M6)ODm_t?J-$VXtPUq}%B+`crr z|Mof}Ev-RlFMZ0CWu8t+rkPFqu`jPs50;t5sph4;68w&@0@MekxkhruxgojOXH?G4 z4ZMf|!ZeN*H+3Mz7D{XaIlNfe8hvEKs5o{W>J)}8WG%zz>9U58acU7h<)mJGdt9mG z>ei@r)3;rXTVh;A86z%AZXW?zgJ1ry;(&0T!ofQh-uQbrZ2w1Eu&w9RqiY-Jh_bT*D{>=9@eAQD^qVe%ulN4SQ&kUUH$UBA|r%?O=1A0%rywIFgVM6WH zBU~pcsSCGMJGSOqd!qMOcYgKqXDO=FBJR`S`%ja}6UyCVEW@#2PClgx&-2c$ zqac-k)4V-L&qZ4Y7{z`*eACaHTAd|Uq+os1pfd!*&fW+PHzX=3lkWwbPcFq$wRQUt zx;$Z4(EtzbQK@^8sxh?#G)?LZbvksigB26EtP4W{J&oxMoHWjgjaH>-03PD1EUf(0 zGnTq$%gxNF<{$2m4LTcZhykqMT%nN~P5u}3y+}^z@}{kSL78u(Y*gHY(eC`$e$hjD zYI*i%^w*c%sS z;H0;u=-nkAe?aI*a9l*KnC{u8rPYJ@mfv=@co=QM1-6LeaP$Hi5b@dvrGXeuf2^=T z+IBYSO5d{BDaZhM40dS+d!yaDG3#8cbX$_H$^g?o@p`_^`qD3p=RaHQVg{$(C=!`| zq~%}=rSip*jv!&phFG`TN6BT<5u3Hdo+rp;yr9;zJn+;(*nva{;GJ5T-YG%ei%3x@ z3+=wS)_e{}$Tiw!is%?kvxNx(E&lAn5axxHP`;A$qt3ONG6AnwZ;@2P{l$GTC>xr| z=y1WPcEAbf!UmJb&UqMvie`0%ntvWbPB-ai@h@~v_=qPNBtdMl2JsZKKh|pUkjt#3j zsn$#JmWGS7{k>popI0syEj-^}EI?Fp2bTO-T7VlV8Ybqhl+w6Yt1fov<)|f6BOKA} z)46TZ9NKdUQQ|E<=pFRPH4P%@dM)QNNdZIKEylqx(@sB&^g*~(AZ|pZv9jvR-dywb z`=B#bIT}|pG@M|U?LqN|qC)p~pbye^kmMHH`fShMYXNqp(PAcBaqu(KvlJUAQiJF>A83Pi zTq1*+K$bc3?P=PB)aFcB%A{gqNNU}wvJnvxZ6p_$(!;v)ivD-d-i9-OtHe`{j)i+M@hq8IpVLeNe_#Puz_J6QIDzKxO%N&nS&1S4#Gc5OA^x2JtX=zB~buL2R%dMH|jvI@z`>3T=9dTLH1+Y5r^KQV}vX-wfvcq zu1a2RoL9#%1+U#HNgLi??yzDmnE?G^i_dqn*Gq)gZG`MtyO(|1udaw)Ge3bveX*+0UXZbsM^igqRJj^z*TWrc)kj?=jP!t+ z2^NH^V$jjXRfV+2+&R-AsvwnQAZgQ{bv;mXTDdg$*N`v zk^JvV1}A!&xSgbbD*97DSOl&u*IQ}F!VCLQN`IyH9R~{)s8(35WCEl2x zGsdF6Nn%S%zc8-F%>KAO5wSX!@B&7vGix~cwZeK?yQuJWMFRm?@ry{( z>4zEcaefX!Mtn|0N!Ut$${VC1b-E%)<|H7knWMwsi{|tH`ZDq0w>SpjimlBy$CrL9 z20>eCs$7lJxiKBOBcd~P+vpXVWaYayo z81a2m8yc?SWS3?9p-2K5=8~l;x=?e{mzzAn+@5T#wfhYTQKpMG*{LrF^3Pj>13w&1 zbG})ArqWOexhW3c(+|tKz3mNBpJCX6RH~lblnr0W*HBowvV*lKbrmH|{7DF-3v3%= zqe8DV-iBNLyu_vrJH?{=r_j z@NJ+?<0;?ujOpRAfal><>VGuxMAdrWnDf!;^2RGyx(1&yk>D8mv04oYniaI66>+y(*mLHv%t-VA5qB zM-bAw;06AdxBwAc-YFWvxb~*V$C87?=M_Ikebv-D0N9KF3t!Y<)2Kinyf&XCib*oj zln)b|0HI*q!xUnK2=6vFgA|OG;fYkZja74D&!Iq$sN*F_gwIw&G7>DD0-8rHNJHD{ z%-&(<%wjd2#RW{g=f@9@_-vd?C6!k)Zh+`dYoY@7Mu}~&DxTS6a+1HPNw|@}mIlw7 zT}CcRA8_IxeTf6$#2IDeD9V{|c>(;yREB0dqqoK;W#U1+PnoC2F=%l#(OA4~IbM`e z>*=V2wO`b1e7yM|emw_~!(mtVEB(~8emjw3Yfh}T|w zef1KQ|4}hWKsTGZ0Oz7c?NKfb$T z!6M!~*CZoWR=bx>__)s2s!OZw(yJYy)%&WOV}!%F8JKI(W534Hb}H4nZYKP?|JMi_ z6{BOB-<9(!GTfGRpz}^$mwMf+%S8~Vy+ui0KHeLn9g~i{V3a|pgrSztib4vSNlou7 zvvljkt-6Q3C9Hj>YFNk^6bdoykrIm7P<+S*k7o}CNi;gVVD-UY&NyBjJE8Y zWrYD|T^uA4garDkDgZ#PqydD=XJ_EQxqxxglKAKWt`(CWrG5l%w9+nDgJUgWT-&RD z&XAQc%VJmJf{(?TFf-}9pgDh?`hmRSdMPdPWc87(zjK6U4f)v8~MLb@~0jJ&u2Sm=7(@twHs)mIw`!bwZgR<2})JnQ_9;<7Xi=_Q>yq ze@2x$c73X`R}A5sQqN5)E>gy@7DMGmjg_8g@0*kSZjAD$3JafV;d|FkO^T}5RpRt! zvM8=f?5BA})~~;*luiAJ zgFLH(HQxl<-HLw{%(69kN7)#RAd;tdk*0Uyr6g5#MzB+%6XQ&*Q`)~Zv2yOXWVCn_ z{fbDn+$Y1O+HhsV&bY=+QmK2MrnR zP3KnAvQae%+XhIB4l-4$<8!3+a9K~}Hq%k{N{=|oXeyZ)kL;xmv&DVp%BghC3eiKV z@xrU%%LASYk{-ycj3y|}bHeh0x`eR@$7DazUcp4*6~w-3&rDpD0rZ(T%G|hV>IH8l z9*p-4YY`|T+{8owK+o6)nz% z+8T+S{H63cP+OnF-GswxXFKy6Cta+VWwS!a?G6_jOLI67N^m_fWjpKJSMfT z1&&7>c!cJV0~V**e~-c?3`{At4-exJ45pygABn;x4NNI*&&E^AN-f+4dH2cAP5C=R1V7B~W< zMHk45?ob9ctJ1HH!lesrF1wEho-%oz!z5^=H6JKTz6JIf*cxP z=hbZDFL39xM(%k_y5;n+ec~A*v454;S%ff_J``>Gyrk4yAJ0G6-Y|C;tA!ZiGz$%%ZNy-^mAUGnX zvA6A|{k66_9_4zzCtdjrqw|1(eUB~HtqLI!-495fcz8nJvxbHCj?hewDQk}DWmk}} zBqpHL2gSTVgPI7v`g%opr#7L11jlxX$#3?!?P=S8xkh_!(U6^4R<)UXI&7nj=le$g zQp-X~crlvc&UG zUGHibM-=4SU=4Fc?G^&X1CN3mAsN+T{b|eN^Qs)$M$mqnHu7ejnyW| z>wl=2eK0fgbis=r+H!l7Q4Qm~Zc4+gFSVxFfS;Z}RJnnm!JjSXahIO>654t#W!BG& zccjkGBr3jTecymSqYY^yUKyC+HPJop(?0#mM%bVrhQj7Eb@^7Rsm1-yYbPMa@c(m0 z@SEafrjn&z)_ZuS*}x=Yty#ktu_FzTkS5z-0q!lmV+5`3SI_MQyy}2i)v}YnaMjh& z+NE@$Or)AqS*}&4@<}e;D0e_I!fZ8WVS=BwBNh5ViK}E!>$STdOSF(3?ct3u>%VXXJ*lYSB~m=z-g ze^2&IWWnwVThoD%*NSw|J?f9dseQ$O_rfr>R#%trdKNTi)`j02nxi6XLrB)Uid+W$ z=L0dxaNCOA0D#ej3azO-+@@+DH^B#yC_$`eZr}SCiOJY4A*N@29>UA%q~ChPSO04X zVw~*zfMX$Itoc_1$`xWsm5ma}cOr?O1(wkd!s${~(e4BoemIP3qRAe z4 z?64}&m}}S}OZ9Kmj*GzhadOg(6^c*V^~jl8y^pUB=n`C&n&k~(8N={3CAOdPZ$ITz zzbKU6ZpClf@unC*tp|>h1?~qZG4AihnY^P|HaZb zKu6MbT~9QbbTqMT+xEmxCf39@I<{@w_Qampwr#urJn#3fRkgbN^uFir>aNwR>()7Y zA2&IXsh@our~F%nYB;rxU;DNMo2E%R*Fq^^KMT3kfO?}Pn*^l@oQ-R_F1~k7!&U=g zBjxmo&io?p`8POuh!OjMlG%h#RS)>1Hsg^5M(vR>3r;>67jFEpet|8{>41lNhCL8_ zZHGr!NNM-*$9l)DViGRAJrx>J%6)Dg*mkU_S1j){H*s zkkK8bq{x3f2v!ky-?UEUv12d?SxajI8ePbkd}DX9F7mAk@QCnXWT2)K`YzuJMa~i2 z)fwRWcZUb@Ba;nx3lTO* z=H<-+&c~nt9Y*?eD>KHT^uf<`)}{V?{AmYyaVuI{iAvX%Rd#s4^+U+1TCSS(lI190GgkG8mWsYbvzE#F(f^*i9KKyLRmNP4aBYbl-V z(d3M>Cu&L#MsJRz+LnFW_Pf7pA}&7PDjEDw|3|1t zJ2DzV;)wpB#!~ydpQs4I3^6A_sFQ2$F~-dl_Q;4bU~(LDcNF^h*lq9)^9SCFD781o z$Dh|(1L<<+oJ=vBY#QvbrqOv&@^ojVN4DC-PLaq%H^q%EUMkiyEe^KgTi#0AuH9yw z`6qbw=B|QGQ>w#;lKIXqi)Rav^33JD#dEG$cCs-D>K|O@Zr|&MS(b97T%I<-T1d;` z5A+eK*(fW2IFkjDA~eg34fKTia1RV_7$j>@oQnu&LwCFV9C@Avl)7%`Zq>fAGaB>l zDYVTtR9X)PTC`lg%rBhWXg{247~a>hK+FD~k{mam$RAZ!j^&h;o19&8CLulY*`X=S z!kw+Ps}QW(r=ULVr<&w>m(xfPnvTxtiY?@Zi(FYy&`bb@Hu|WvkG22ruI7(H!_oS) zLN%A=j6qSbdZ|me`C5x0G@vHg0{!bvvyaVcVwnvE(f5wsM<*^D&!%xadjOg8&>w@nuU0X}k8bXBbQ2Tb9mb(n{du(NV9KbC?t+V<2| zFx9p`;pSQ5-2kgr`r)q&*cIPZ=IeZAi}>LBdDckBoGVfHtbDCutxr8R%P{iDPI#>Q z==|c&pjyrWXM{dB*0L%b)2FneIb1QsWY1_!>}NOQkda%ea?fzfK4)U%GRA9bN7QO% z&M3miSk9tv6N-<8;#ab(nB7EVHs2oTV23e(7x}=mXIQVpgwYBwcS~st zd7E`dFpk7n>Q9qG#Zd^MriV(49WK;T?kA-~zT}#lA=42VNz{LNBi;^TrO2un8Qev$ zeX=7uAD5H~yI`xDq8%OKvHN_SR|NHF(yEY(zm!krLg2 z(Jk{qw;o34VN48xbh;%cvUGmPjoPA)Xxkm9w%Xe1pi9{D-3;^kQV7SEGL-L{b?a#K z*1P+fwx9JasW=V4<^5kLRI*ifSpT&l!7CVcGLUugrRE17IB*i>gLe!CTg6^<8Rs#{ z*b8lji*B38D_hmWd0OheDaGEj^|PED{5*tf{@jOoCYABo{|R`Q^D4`* zQ2VoEl({|n#_5CiTDZ->zR*VLgDYAAp4Q&1KUmhu4VOjXGC~bdn5>AubM9qSqh6Wy z2&|LzH7Ha$LYtB+@!dI9@wS<>qWxfR@{m?AU%E@Qn`UA5K zao<8Ra%vX8!g2g1KFVc$p4Fl}cF+|hhG0`XUti0>e6re6 z`xzK39Pokk?ZW@V%in9W?^JGpz7WF=uf*(KgtmP}9Wa?4)QFkn(Ctg;#)sITV6kNJ zng8+{I*;qM>(gA}Awht(rB2I7@og_{-@d)SmEg6o*ga=~_3A|Qj{7qw&plsNORZyR zzT)A#Eq$#8F6eaebb-DmS~>q8NUu!vjDm9Jbt17;`iHLyqo2GzwA$C9N-mr`|M6A{`Ao)C964yv;-{MP5Mj zS!*20Vy8KBK{RC<%;QBEwW?dlFD9M`ajPaI>y`exd8mi0$%)E4SU5{eAX?<-=W1)X ziHxOKCvU4?o8Jd?hgF|*&ZwGW#Z@wJ5hwQTlTxw;%f>bp6I#V}21oA7Sq)LXEv<9f z;ylx*wFL#qv~6?L!D9bm1nz?i3|F1d?N>PB#*W|;L-d#C7XS7gd8C<0_Y&B2WpnQ% zly8{G%(~7m;GN(I>X4ziptSXNM;HwI^RjcU)?9>TZC^$wYZl2;#}xE#sdg+;Rw%5c zt{Y46d`YTmi>>}Zi05YY!@u~$##kAZ6&@q~WR@3qlDj!8Od}*3qZq(OGT-q!xfER_ z>DszI;SCN;ik4JpcC>(}Gb1r^zec;FZk}YG93HfMXtzyPWIEA5&!roin_+`LH!l8}rfW`2bAHp0GsUH(v1PC4)yvJI4<-G}O5@KMM*cM5OxHHxO6UD=H|HvZS4b`xLHXK~iVN;*>Pv5DtE!p9fR|06fyrAR zMl(J3-{Os^p`e=PhTr5!dT#>chIRh<*JdvrPZ2e_-5>@vUp>fs?(-U2xkr&havXwb z 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

@{%pr2}*z$`5a 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 literal 0 HcmV?d00001 diff --git a/packages/RestSharp.105.2.3/lib/MonoAndroid10/RestSharp.xml b/packages/RestSharp.105.2.3/lib/MonoAndroid10/RestSharp.xml new file mode 100644 index 0000000..d48b003 --- /dev/null +++ b/packages/RestSharp.105.2.3/lib/MonoAndroid10/RestSharp.xml @@ -0,0 +1,3020 @@ + + + + RestSharp + + + +

+ Types of parameters that can be added to requests + + + + + Data formats + + + + + HTTP method to use when making requests + + + + + Format strings for commonly-used date formats + + + + + .NET format string for ISO 8601 date format + + + + + .NET format string for roundtrip date format + + + + + Status for responses (surprised?) + + + + + Convert a to a instance. + + The response status. + + responseStatus + + + + Container for files to be uploaded with requests + + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The content type to use in the request. + The + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The using the default content type. + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + HttpWebRequest wrapper (async methods) + + + HttpWebRequest wrapper + + + HttpWebRequest wrapper (sync methods) + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + Execute an async POST-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Execute an async GET-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Creates an IHttp + + + + + + Default constructor + + + + + Execute a POST request + + + + + Execute a PUT request + + + + + Execute a GET request + + + + + Execute a HEAD request + + + + + Execute an OPTIONS request + + + + + Execute a DELETE request + + + + + Execute a PATCH request + + + + + Execute a MERGE request + + + + + Execute a GET-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + Execute a POST-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + True if this HTTP request has any HTTP parameters + + + + + True if this HTTP request has any HTTP cookies + + + + + True if a request body has been specified + + + + + True if files have been set to be uploaded + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + UserAgent to be sent with request + + + + + Timeout in milliseconds to be used for the request + + + + + The number of milliseconds before the writing or reading times out. + + + + + System.Net.ICredentials to be sent with request + + + + + The System.Net.CookieContainer to be used for the request + + + + + The method to use to write the response instead of reading into RawBytes + + + + + Collection of files to be sent with request + + + + + Whether or not HTTP 3xx response redirects should be automatically followed + + + + + X509CertificateCollection to be sent with request + + + + + Maximum number of automatic redirects to follow if FollowRedirects is true + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. + + + + + HTTP headers to be sent with request + + + + + HTTP parameters (QueryString or Form values) to be sent with request + + + + + HTTP cookies to be sent with request + + + + + Request body to be sent with request + + + + + Content type of the request body. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + URL to call for this request + + + + + Flag to send authorisation header with the HttpWebRequest + + + + + Proxy info to be sent with request + + + + + Caching policy for requests created with this wrapper. + + + + + Representation of an HTTP cookie + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Container for HTTP file + + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + Representation of an HTTP header + + + + + Name of the header + + + + + Value of the header + + + + + Representation of an HTTP parameter (QueryString or Form value) + + + + + Name of the parameter + + + + + Value of the parameter + + + + + Content-Type of the parameter + + + + + HTTP response data + + + + + HTTP response data + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Default constructor + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + Lazy-loaded string representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + X509CertificateCollection to be sent with request + + + + + Parameter container for REST requests + + + + + Return a human-readable representation of this parameter + + String + + + + Name of the parameter + + + + + Value of the parameter + + + + + Type of the parameter + + + + + MIME content type of the parameter + + + + + Client to translate RestRequests into Http requests and process response result + + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Default constructor that registers default content handlers + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Registers a content handler to process response content + + MIME content type of the response content + Deserializer to use to process content + + + + Remove a content handler for the specified MIME content type + + MIME content type to remove + + + + Remove all content handlers + + + + + Retrieve the handler for the specified MIME content type + + MIME content type to retrieve + IDeserializer instance + + + + Assembles URL to call based on parameters, method and resource + + RestRequest to execute + Assembled System.Uri + + + + Executes the specified request and downloads the response data + + Request to execute + Response data + + + + Executes the request and returns a response, authenticating if needed + + Request to be executed + RestResponse + + + + Executes the specified request and deserializes the response content using the appropriate content handler + + Target deserialization type + Request to execute + RestResponse[[T]] with deserialized data in Data property + + + + Maximum number of redirects to follow if FollowRedirects is true + + + + + X509CertificateCollection to be sent with request + + + + + Proxy to use for requests made by this client instance. + Passed on to underlying WebRequest if set. + + + + + The cache policy to use for requests initiated by this client instance. + + + + + Default is true. Determine whether or not requests that result in + HTTP status codes of 3xx should follow returned redirect + + + + + The CookieContainer used for requests made by this client instance + + + + + UserAgent to use for requests made by this client instance + + + + + Timeout in milliseconds to use for requests made by this client instance + + + + + The number of milliseconds before the writing or reading times out. + + + + + Whether to invoke async callbacks using the SynchronizationContext.Current captured when invoked + + + + + Authenticator to use for requests made by this client instance + + + + + Combined with Request.Resource to construct URL for request + Should include scheme and domain without trailing slash. + + + client.BaseUrl = new Uri("http://example.com"); + + + + + Parameters included with every request made with this instance of RestClient + If specified in both client and request, the request wins + + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Request to be executed + Callback function to be executed upon completion + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Target deserialization type + Request to be executed + Callback function to be executed upon completion providing access to the async handle + + + + Add a parameter to use on every request made with this client instance + + The IRestClient instance + Parameter to add + + + + + Removes a parameter from the default parameters that are used on every request made with this client instance + + The IRestClient instance + The name of the parameter that needs to be removed + + + + + Adds a HTTP parameter (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + Used on every request made by this client instance + + The IRestClient instance + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + The IRestClient instance + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Shortcut to AddDefaultParameter(name, value, HttpHeader) overload + + The IRestClient instance + Name of the header to add + Value of the header to add + + + + + Shortcut to AddDefaultParameter(name, value, UrlSegment) overload + + The IRestClient instance + Name of the segment to add + Value of the segment to add + + + + + Container for data used to make requests + + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Default constructor + + + + + Sets Method property to value of method + + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Internal Method so that RestClient can increase the number of attempts + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + A function to run prior to deserializing starting (e.g. change settings if error encountered) + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Gets or sets a user-defined state object that contains information about a request and which can be later + retrieved when the request completes. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Base class for common properties shared by RestResponse and RestResponse[[T]] + + + + + Default constructor + + + + + Assists with debugging responses by displaying in the debugger output + + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + The exception thrown during the request, if any + + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Container for data sent back from API + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exceptions thrown during the request, if any. + + Will contain only network transport or framework exceptions thrown during the request. + HTTP protocol errors are handled by RestSharp and will not appear here. + + + + Deserialized entity data + + + + + Deserialized entity data + + + + + Container for data sent back from API + + + + + Represents the json array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The capacity of the json array. + + + + The json representation of the array. + + The json representation of the array. + + + + Represents the json object. + + + + + The internal member dictionary. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The implementation to use when comparing keys, or null to use the default for the type of the key. + + + + Adds the specified key. + + The key. + The value. + + + + Determines whether the specified key contains key. + + The key. + + true if the specified key contains key; otherwise, false. + + + + + Removes the specified key. + + The key. + + + + + Tries the get value. + + The key. + The value. + + + + + Adds the specified item. + + The item. + + + + Clears this instance. + + + + + Determines whether [contains] [the specified item]. + + The item. + + true if [contains] [the specified item]; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the specified item. + + The item. + + + + + Gets the enumerator. + + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a json that represents the current . + + + A json that represents the current . + + + + + Gets the at the specified index. + + + + + + Gets the keys. + + The keys. + + + + Gets the values. + + The values. + + + + Gets or sets the with the specified key. + + + + + + Gets the count. + + The count. + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + This class encodes and decodes JSON strings. + Spec. details, see http://www.json.org/ + + JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList<object>) and JsonObject(IDictionary<string,object>). + All numbers are parsed to doubles. + + + + + Parses the string json into a value + + A JSON string. + An IList<object>, a IDictionary<string,object>, a double, a string, null, true, or false + + + + Try parsing the json string into a value. + + + A JSON string. + + + The object. + + + Returns true if successfull otherwise false. + + + + + Converts a IDictionary<string,object> / IList<object> object into a JSON string + + A IDictionary<string,object> / IList<object> + Serializer strategy to use + A JSON encoded string, or null if object 'json' is not serializable + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Helper methods for validating required values + + + + + Require a parameter to not be null + + Name of the parameter + Value of the parameter + + + + Helper methods for validating values + + + + + Validate an integer value is between the specified values (exclusive of min/max) + + Value to validate + Exclusive minimum value + Exclusive maximum value + + + + Validate a string length + + String to be validated + Maximum length of the string + + + + Default JSON serializer for request bodies + Doesn't currently use the SerializeAs attribute, defers to Newtonsoft's attributes + + + + + Default serializer + + + + + Serialize the object as JSON + + Object to serialize + JSON as String + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Content type for serialized content + + + + + Allows control how class and property names and values are serialized by XmlSerializer + Currently not supported with the JsonSerializer + When specified at the property level the class-level specification is overridden + + + + + Called by the attribute when NameStyle is speficied + + The string to transform + String + + + + The name to use for the serialized element + + + + + Sets the value to be serialized as an Attribute instead of an Element + + + + + The culture to use when serializing + + + + + Transforms the casing of the name based on the selected value. + + + + + The order to serialize the element. Default is int.MaxValue. + + + + + Options for transforming casing of element names + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Encoding for serialized content + + + + + Need to subclass StringWriter in order to override Encoding + + + + + Default XML Serializer + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Extension method overload! + + + + + Save a byte array to a file + + Bytes to save + Full path to save file to + + + + Read a stream into a byte array + + Stream to read + byte[] + + + + Copies bytes from one stream to another + + The input stream. + The output stream. + + + + Converts a byte array to a string, using its byte order mark to convert it to the right encoding. + http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx + + An array of bytes to convert + The byte as a string. + + + + Reflection extensions + + + + + Retrieve an attribute from a member (property) + + Type of attribute to retrieve + Member to retrieve attribute from + + + + + Retrieve an attribute from a type + + Type of attribute to retrieve + Type to retrieve attribute from + + + + + Checks a type to see if it derives from a raw generic (e.g. List[[]]) + + + + + + + + Find a value from a System.Enum by trying several possible variants + of the string value of the enum. + + Type of enum + Value for which to search + The culture used to calculate the name variants + + + + + XML Extension Methods + + + + + Returns the name of an element with the namespace if specified + + Element name + XML Namespace + + + + + Allows control how class and property names and values are deserialized by XmlAttributeDeserializer + + + + + The name to use for the serialized element + + + + + Sets if the property to Deserialize is an Attribute or Element (Default: false) + + + + + Tries to Authenticate with the credentials of the currently logged in user, or impersonate a user + + + + + Authenticate with the credentials of the currently logged in user + + + + + Authenticate by impersonation + + + + + + + Authenticate by impersonation, using an existing ICredentials instance + + + + + + Uses Uri.EscapeDataString() based on recommendations on MSDN + http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx + + + + + Check that a string is not null or empty + + String to check + bool + + + + Remove underscores from a string + + String to process + string + + + + Parses most common JSON date formats + + JSON value to parse + + DateTime + + + + Remove leading and trailing " from a string + + String to parse + String + + + + Checks a string to see if it matches a regex + + String to check + Pattern to match + bool + + + + Converts a string to pascal case + + String to convert + + string + + + + Converts a string to pascal case with the option to remove underscores + + String to convert + Option to remove underscores + + + + + + Converts a string to camel case + + String to convert + + String + + + + Convert the first letter of a string to lower case + + String to convert + string + + + + Checks to see if a string is all uppper case + + String to check + bool + + + + Add underscores to a pascal-cased string + + String to convert + string + + + + Add dashes to a pascal-cased string + + String to convert + string + + + + Add an undescore prefix to a pascasl-cased string + + + + + + + Add spaces to a pascal-cased string + + String to convert + string + + + + Return possible variants of a name for name matching. + + String to convert + The culture to use for conversion + IEnumerable<string> + + + + Decodes an HTML-encoded string and returns the decoded string. + + The HTML string to decode. + The decoded text. + + + + Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream. + + The HTML string to decode + The TextWriter output stream containing the decoded string. + + + + HTML-encodes a string and sends the resulting output to a TextWriter output stream. + + The string to encode. + The TextWriter output stream containing the encoded string. + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + + + + Base class for OAuth 2 Authenticators. + + + Since there are many ways to authenticate in OAuth2, + this is used as a base class to differentiate between + other authenticators. + + Any other OAuth2 authenticators must derive from this + abstract class. + + + + + Access token to be used when authenticating. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Gets the access token. + + + + + The OAuth 2 authenticator using URI query parameter. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.2 + + + + + Initializes a new instance of the class. + + + The access token. + + + + + The OAuth 2 authenticator using the authorization request header field. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.1 + + + + + Stores the Authorization header value as "[tokenType] accessToken". used for performance. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Initializes a new instance of the class. + + + The access token. + + + The token type. + + + + + All text parameters are UTF-8 encoded (per section 5.1). + + + + + + Generates a random 16-byte lowercase alphanumeric string. + + + + + + + Generates a timestamp based on the current elapsed seconds since '01/01/1970 0000 GMT" + + + + + + + Generates a timestamp based on the elapsed seconds of a given time since '01/01/1970 0000 GMT" + + + A specified point in time. + + + + + The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986. + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + The value to escape. + The escaped value. + + The method is supposed to take on + RFC 3986 behavior if certain elements are present in a .config file. Even if this + actually worked (which in my experiments it doesn't), we can't rely on every + host actually having this configuration element present. + + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + + + + + + Sorts a collection of key-value pairs by name, and then value if equal, + concatenating them into a single string. This string should be encoded + prior to, or after normalization is run. + + + + + + + + Sorts a by name, and then value if equal. + + A collection of parameters to sort + A sorted parameter collection + + + + Creates a request URL suitable for making OAuth requests. + Resulting URLs must exclude port 80 or port 443 when accompanied by HTTP and HTTPS, respectively. + Resulting URLs must be lower case. + + + The original request URL + + + + + Creates a request elements concatentation value to send with a request. + This is also known as the signature base. + + + + The request's HTTP method type + The request URL + The request's parameters + A signature base string + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The signature base + The consumer secret + The token secret + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer secret + The token secret + + + + + A class to encapsulate OAuth authentication flow. + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + Any existing, non-OAuth query parameters desired in the request + + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + Generates a instance to pass to an + for the purpose of exchanging user credentials + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + + + + + + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + diff --git a/packages/RestSharp.105.2.3/lib/MonoTouch10/RestSharp.xml b/packages/RestSharp.105.2.3/lib/MonoTouch10/RestSharp.xml new file mode 100644 index 0000000..d48b003 --- /dev/null +++ b/packages/RestSharp.105.2.3/lib/MonoTouch10/RestSharp.xml @@ -0,0 +1,3020 @@ + + + + RestSharp + + + + + Types of parameters that can be added to requests + + + + + Data formats + + + + + HTTP method to use when making requests + + + + + Format strings for commonly-used date formats + + + + + .NET format string for ISO 8601 date format + + + + + .NET format string for roundtrip date format + + + + + Status for responses (surprised?) + + + + + Convert a to a instance. + + The response status. + + responseStatus + + + + Container for files to be uploaded with requests + + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The content type to use in the request. + The + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The using the default content type. + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + HttpWebRequest wrapper (async methods) + + + HttpWebRequest wrapper + + + HttpWebRequest wrapper (sync methods) + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + Execute an async POST-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Execute an async GET-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Creates an IHttp + + + + + + Default constructor + + + + + Execute a POST request + + + + + Execute a PUT request + + + + + Execute a GET request + + + + + Execute a HEAD request + + + + + Execute an OPTIONS request + + + + + Execute a DELETE request + + + + + Execute a PATCH request + + + + + Execute a MERGE request + + + + + Execute a GET-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + Execute a POST-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + True if this HTTP request has any HTTP parameters + + + + + True if this HTTP request has any HTTP cookies + + + + + True if a request body has been specified + + + + + True if files have been set to be uploaded + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + UserAgent to be sent with request + + + + + Timeout in milliseconds to be used for the request + + + + + The number of milliseconds before the writing or reading times out. + + + + + System.Net.ICredentials to be sent with request + + + + + The System.Net.CookieContainer to be used for the request + + + + + The method to use to write the response instead of reading into RawBytes + + + + + Collection of files to be sent with request + + + + + Whether or not HTTP 3xx response redirects should be automatically followed + + + + + X509CertificateCollection to be sent with request + + + + + Maximum number of automatic redirects to follow if FollowRedirects is true + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. + + + + + HTTP headers to be sent with request + + + + + HTTP parameters (QueryString or Form values) to be sent with request + + + + + HTTP cookies to be sent with request + + + + + Request body to be sent with request + + + + + Content type of the request body. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + URL to call for this request + + + + + Flag to send authorisation header with the HttpWebRequest + + + + + Proxy info to be sent with request + + + + + Caching policy for requests created with this wrapper. + + + + + Representation of an HTTP cookie + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Container for HTTP file + + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + Representation of an HTTP header + + + + + Name of the header + + + + + Value of the header + + + + + Representation of an HTTP parameter (QueryString or Form value) + + + + + Name of the parameter + + + + + Value of the parameter + + + + + Content-Type of the parameter + + + + + HTTP response data + + + + + HTTP response data + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Default constructor + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + Lazy-loaded string representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + X509CertificateCollection to be sent with request + + + + + Parameter container for REST requests + + + + + Return a human-readable representation of this parameter + + String + + + + Name of the parameter + + + + + Value of the parameter + + + + + Type of the parameter + + + + + MIME content type of the parameter + + + + + Client to translate RestRequests into Http requests and process response result + + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Default constructor that registers default content handlers + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Registers a content handler to process response content + + MIME content type of the response content + Deserializer to use to process content + + + + Remove a content handler for the specified MIME content type + + MIME content type to remove + + + + Remove all content handlers + + + + + Retrieve the handler for the specified MIME content type + + MIME content type to retrieve + IDeserializer instance + + + + Assembles URL to call based on parameters, method and resource + + RestRequest to execute + Assembled System.Uri + + + + Executes the specified request and downloads the response data + + Request to execute + Response data + + + + Executes the request and returns a response, authenticating if needed + + Request to be executed + RestResponse + + + + Executes the specified request and deserializes the response content using the appropriate content handler + + Target deserialization type + Request to execute + RestResponse[[T]] with deserialized data in Data property + + + + Maximum number of redirects to follow if FollowRedirects is true + + + + + X509CertificateCollection to be sent with request + + + + + Proxy to use for requests made by this client instance. + Passed on to underlying WebRequest if set. + + + + + The cache policy to use for requests initiated by this client instance. + + + + + Default is true. Determine whether or not requests that result in + HTTP status codes of 3xx should follow returned redirect + + + + + The CookieContainer used for requests made by this client instance + + + + + UserAgent to use for requests made by this client instance + + + + + Timeout in milliseconds to use for requests made by this client instance + + + + + The number of milliseconds before the writing or reading times out. + + + + + Whether to invoke async callbacks using the SynchronizationContext.Current captured when invoked + + + + + Authenticator to use for requests made by this client instance + + + + + Combined with Request.Resource to construct URL for request + Should include scheme and domain without trailing slash. + + + client.BaseUrl = new Uri("http://example.com"); + + + + + Parameters included with every request made with this instance of RestClient + If specified in both client and request, the request wins + + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Request to be executed + Callback function to be executed upon completion + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Target deserialization type + Request to be executed + Callback function to be executed upon completion providing access to the async handle + + + + Add a parameter to use on every request made with this client instance + + The IRestClient instance + Parameter to add + + + + + Removes a parameter from the default parameters that are used on every request made with this client instance + + The IRestClient instance + The name of the parameter that needs to be removed + + + + + Adds a HTTP parameter (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + Used on every request made by this client instance + + The IRestClient instance + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + The IRestClient instance + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Shortcut to AddDefaultParameter(name, value, HttpHeader) overload + + The IRestClient instance + Name of the header to add + Value of the header to add + + + + + Shortcut to AddDefaultParameter(name, value, UrlSegment) overload + + The IRestClient instance + Name of the segment to add + Value of the segment to add + + + + + Container for data used to make requests + + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Default constructor + + + + + Sets Method property to value of method + + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Internal Method so that RestClient can increase the number of attempts + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + A function to run prior to deserializing starting (e.g. change settings if error encountered) + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Gets or sets a user-defined state object that contains information about a request and which can be later + retrieved when the request completes. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Base class for common properties shared by RestResponse and RestResponse[[T]] + + + + + Default constructor + + + + + Assists with debugging responses by displaying in the debugger output + + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + The exception thrown during the request, if any + + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Container for data sent back from API + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exceptions thrown during the request, if any. + + Will contain only network transport or framework exceptions thrown during the request. + HTTP protocol errors are handled by RestSharp and will not appear here. + + + + Deserialized entity data + + + + + Deserialized entity data + + + + + Container for data sent back from API + + + + + Represents the json array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The capacity of the json array. + + + + The json representation of the array. + + The json representation of the array. + + + + Represents the json object. + + + + + The internal member dictionary. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The implementation to use when comparing keys, or null to use the default for the type of the key. + + + + Adds the specified key. + + The key. + The value. + + + + Determines whether the specified key contains key. + + The key. + + true if the specified key contains key; otherwise, false. + + + + + Removes the specified key. + + The key. + + + + + Tries the get value. + + The key. + The value. + + + + + Adds the specified item. + + The item. + + + + Clears this instance. + + + + + Determines whether [contains] [the specified item]. + + The item. + + true if [contains] [the specified item]; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the specified item. + + The item. + + + + + Gets the enumerator. + + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a json that represents the current . + + + A json that represents the current . + + + + + Gets the at the specified index. + + + + + + Gets the keys. + + The keys. + + + + Gets the values. + + The values. + + + + Gets or sets the with the specified key. + + + + + + Gets the count. + + The count. + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + This class encodes and decodes JSON strings. + Spec. details, see http://www.json.org/ + + JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList<object>) and JsonObject(IDictionary<string,object>). + All numbers are parsed to doubles. + + + + + Parses the string json into a value + + A JSON string. + An IList<object>, a IDictionary<string,object>, a double, a string, null, true, or false + + + + Try parsing the json string into a value. + + + A JSON string. + + + The object. + + + Returns true if successfull otherwise false. + + + + + Converts a IDictionary<string,object> / IList<object> object into a JSON string + + A IDictionary<string,object> / IList<object> + Serializer strategy to use + A JSON encoded string, or null if object 'json' is not serializable + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Helper methods for validating required values + + + + + Require a parameter to not be null + + Name of the parameter + Value of the parameter + + + + Helper methods for validating values + + + + + Validate an integer value is between the specified values (exclusive of min/max) + + Value to validate + Exclusive minimum value + Exclusive maximum value + + + + Validate a string length + + String to be validated + Maximum length of the string + + + + Default JSON serializer for request bodies + Doesn't currently use the SerializeAs attribute, defers to Newtonsoft's attributes + + + + + Default serializer + + + + + Serialize the object as JSON + + Object to serialize + JSON as String + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Content type for serialized content + + + + + Allows control how class and property names and values are serialized by XmlSerializer + Currently not supported with the JsonSerializer + When specified at the property level the class-level specification is overridden + + + + + Called by the attribute when NameStyle is speficied + + The string to transform + String + + + + The name to use for the serialized element + + + + + Sets the value to be serialized as an Attribute instead of an Element + + + + + The culture to use when serializing + + + + + Transforms the casing of the name based on the selected value. + + + + + The order to serialize the element. Default is int.MaxValue. + + + + + Options for transforming casing of element names + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Encoding for serialized content + + + + + Need to subclass StringWriter in order to override Encoding + + + + + Default XML Serializer + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Extension method overload! + + + + + Save a byte array to a file + + Bytes to save + Full path to save file to + + + + Read a stream into a byte array + + Stream to read + byte[] + + + + Copies bytes from one stream to another + + The input stream. + The output stream. + + + + Converts a byte array to a string, using its byte order mark to convert it to the right encoding. + http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx + + An array of bytes to convert + The byte as a string. + + + + Reflection extensions + + + + + Retrieve an attribute from a member (property) + + Type of attribute to retrieve + Member to retrieve attribute from + + + + + Retrieve an attribute from a type + + Type of attribute to retrieve + Type to retrieve attribute from + + + + + Checks a type to see if it derives from a raw generic (e.g. List[[]]) + + + + + + + + Find a value from a System.Enum by trying several possible variants + of the string value of the enum. + + Type of enum + Value for which to search + The culture used to calculate the name variants + + + + + XML Extension Methods + + + + + Returns the name of an element with the namespace if specified + + Element name + XML Namespace + + + + + Allows control how class and property names and values are deserialized by XmlAttributeDeserializer + + + + + The name to use for the serialized element + + + + + Sets if the property to Deserialize is an Attribute or Element (Default: false) + + + + + Tries to Authenticate with the credentials of the currently logged in user, or impersonate a user + + + + + Authenticate with the credentials of the currently logged in user + + + + + Authenticate by impersonation + + + + + + + Authenticate by impersonation, using an existing ICredentials instance + + + + + + Uses Uri.EscapeDataString() based on recommendations on MSDN + http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx + + + + + Check that a string is not null or empty + + String to check + bool + + + + Remove underscores from a string + + String to process + string + + + + Parses most common JSON date formats + + JSON value to parse + + DateTime + + + + Remove leading and trailing " from a string + + String to parse + String + + + + Checks a string to see if it matches a regex + + String to check + Pattern to match + bool + + + + Converts a string to pascal case + + String to convert + + string + + + + Converts a string to pascal case with the option to remove underscores + + String to convert + Option to remove underscores + + + + + + Converts a string to camel case + + String to convert + + String + + + + Convert the first letter of a string to lower case + + String to convert + string + + + + Checks to see if a string is all uppper case + + String to check + bool + + + + Add underscores to a pascal-cased string + + String to convert + string + + + + Add dashes to a pascal-cased string + + String to convert + string + + + + Add an undescore prefix to a pascasl-cased string + + + + + + + Add spaces to a pascal-cased string + + String to convert + string + + + + Return possible variants of a name for name matching. + + String to convert + The culture to use for conversion + IEnumerable<string> + + + + Decodes an HTML-encoded string and returns the decoded string. + + The HTML string to decode. + The decoded text. + + + + Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream. + + The HTML string to decode + The TextWriter output stream containing the decoded string. + + + + HTML-encodes a string and sends the resulting output to a TextWriter output stream. + + The string to encode. + The TextWriter output stream containing the encoded string. + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + + + + Base class for OAuth 2 Authenticators. + + + Since there are many ways to authenticate in OAuth2, + this is used as a base class to differentiate between + other authenticators. + + Any other OAuth2 authenticators must derive from this + abstract class. + + + + + Access token to be used when authenticating. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Gets the access token. + + + + + The OAuth 2 authenticator using URI query parameter. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.2 + + + + + Initializes a new instance of the class. + + + The access token. + + + + + The OAuth 2 authenticator using the authorization request header field. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.1 + + + + + Stores the Authorization header value as "[tokenType] accessToken". used for performance. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Initializes a new instance of the class. + + + The access token. + + + The token type. + + + + + All text parameters are UTF-8 encoded (per section 5.1). + + + + + + Generates a random 16-byte lowercase alphanumeric string. + + + + + + + Generates a timestamp based on the current elapsed seconds since '01/01/1970 0000 GMT" + + + + + + + Generates a timestamp based on the elapsed seconds of a given time since '01/01/1970 0000 GMT" + + + A specified point in time. + + + + + The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986. + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + The value to escape. + The escaped value. + + The method is supposed to take on + RFC 3986 behavior if certain elements are present in a .config file. Even if this + actually worked (which in my experiments it doesn't), we can't rely on every + host actually having this configuration element present. + + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + + + + + + Sorts a collection of key-value pairs by name, and then value if equal, + concatenating them into a single string. This string should be encoded + prior to, or after normalization is run. + + + + + + + + Sorts a by name, and then value if equal. + + A collection of parameters to sort + A sorted parameter collection + + + + Creates a request URL suitable for making OAuth requests. + Resulting URLs must exclude port 80 or port 443 when accompanied by HTTP and HTTPS, respectively. + Resulting URLs must be lower case. + + + The original request URL + + + + + Creates a request elements concatentation value to send with a request. + This is also known as the signature base. + + + + The request's HTTP method type + The request URL + The request's parameters + A signature base string + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The signature base + The consumer secret + The token secret + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer secret + The token secret + + + + + A class to encapsulate OAuth authentication flow. + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + Any existing, non-OAuth query parameters desired in the request + + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + Generates a instance to pass to an + for the purpose of exchanging user credentials + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + + + + + + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + diff --git a/packages/RestSharp.105.2.3/lib/Xamarin.iOS10/RestSharp.xml b/packages/RestSharp.105.2.3/lib/Xamarin.iOS10/RestSharp.xml new file mode 100644 index 0000000..d48b003 --- /dev/null +++ b/packages/RestSharp.105.2.3/lib/Xamarin.iOS10/RestSharp.xml @@ -0,0 +1,3020 @@ + + + + RestSharp + + + + + Types of parameters that can be added to requests + + + + + Data formats + + + + + HTTP method to use when making requests + + + + + Format strings for commonly-used date formats + + + + + .NET format string for ISO 8601 date format + + + + + .NET format string for roundtrip date format + + + + + Status for responses (surprised?) + + + + + Convert a to a instance. + + The response status. + + responseStatus + + + + Container for files to be uploaded with requests + + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The content type to use in the request. + The + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The using the default content type. + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + HttpWebRequest wrapper (async methods) + + + HttpWebRequest wrapper + + + HttpWebRequest wrapper (sync methods) + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + Execute an async POST-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Execute an async GET-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Creates an IHttp + + + + + + Default constructor + + + + + Execute a POST request + + + + + Execute a PUT request + + + + + Execute a GET request + + + + + Execute a HEAD request + + + + + Execute an OPTIONS request + + + + + Execute a DELETE request + + + + + Execute a PATCH request + + + + + Execute a MERGE request + + + + + Execute a GET-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + Execute a POST-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + True if this HTTP request has any HTTP parameters + + + + + True if this HTTP request has any HTTP cookies + + + + + True if a request body has been specified + + + + + True if files have been set to be uploaded + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + UserAgent to be sent with request + + + + + Timeout in milliseconds to be used for the request + + + + + The number of milliseconds before the writing or reading times out. + + + + + System.Net.ICredentials to be sent with request + + + + + The System.Net.CookieContainer to be used for the request + + + + + The method to use to write the response instead of reading into RawBytes + + + + + Collection of files to be sent with request + + + + + Whether or not HTTP 3xx response redirects should be automatically followed + + + + + X509CertificateCollection to be sent with request + + + + + Maximum number of automatic redirects to follow if FollowRedirects is true + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. + + + + + HTTP headers to be sent with request + + + + + HTTP parameters (QueryString or Form values) to be sent with request + + + + + HTTP cookies to be sent with request + + + + + Request body to be sent with request + + + + + Content type of the request body. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + URL to call for this request + + + + + Flag to send authorisation header with the HttpWebRequest + + + + + Proxy info to be sent with request + + + + + Caching policy for requests created with this wrapper. + + + + + Representation of an HTTP cookie + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Container for HTTP file + + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + Representation of an HTTP header + + + + + Name of the header + + + + + Value of the header + + + + + Representation of an HTTP parameter (QueryString or Form value) + + + + + Name of the parameter + + + + + Value of the parameter + + + + + Content-Type of the parameter + + + + + HTTP response data + + + + + HTTP response data + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Default constructor + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + Lazy-loaded string representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + X509CertificateCollection to be sent with request + + + + + Parameter container for REST requests + + + + + Return a human-readable representation of this parameter + + String + + + + Name of the parameter + + + + + Value of the parameter + + + + + Type of the parameter + + + + + MIME content type of the parameter + + + + + Client to translate RestRequests into Http requests and process response result + + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Default constructor that registers default content handlers + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Registers a content handler to process response content + + MIME content type of the response content + Deserializer to use to process content + + + + Remove a content handler for the specified MIME content type + + MIME content type to remove + + + + Remove all content handlers + + + + + Retrieve the handler for the specified MIME content type + + MIME content type to retrieve + IDeserializer instance + + + + Assembles URL to call based on parameters, method and resource + + RestRequest to execute + Assembled System.Uri + + + + Executes the specified request and downloads the response data + + Request to execute + Response data + + + + Executes the request and returns a response, authenticating if needed + + Request to be executed + RestResponse + + + + Executes the specified request and deserializes the response content using the appropriate content handler + + Target deserialization type + Request to execute + RestResponse[[T]] with deserialized data in Data property + + + + Maximum number of redirects to follow if FollowRedirects is true + + + + + X509CertificateCollection to be sent with request + + + + + Proxy to use for requests made by this client instance. + Passed on to underlying WebRequest if set. + + + + + The cache policy to use for requests initiated by this client instance. + + + + + Default is true. Determine whether or not requests that result in + HTTP status codes of 3xx should follow returned redirect + + + + + The CookieContainer used for requests made by this client instance + + + + + UserAgent to use for requests made by this client instance + + + + + Timeout in milliseconds to use for requests made by this client instance + + + + + The number of milliseconds before the writing or reading times out. + + + + + Whether to invoke async callbacks using the SynchronizationContext.Current captured when invoked + + + + + Authenticator to use for requests made by this client instance + + + + + Combined with Request.Resource to construct URL for request + Should include scheme and domain without trailing slash. + + + client.BaseUrl = new Uri("http://example.com"); + + + + + Parameters included with every request made with this instance of RestClient + If specified in both client and request, the request wins + + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Request to be executed + Callback function to be executed upon completion + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Target deserialization type + Request to be executed + Callback function to be executed upon completion providing access to the async handle + + + + Add a parameter to use on every request made with this client instance + + The IRestClient instance + Parameter to add + + + + + Removes a parameter from the default parameters that are used on every request made with this client instance + + The IRestClient instance + The name of the parameter that needs to be removed + + + + + Adds a HTTP parameter (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + Used on every request made by this client instance + + The IRestClient instance + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + The IRestClient instance + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Shortcut to AddDefaultParameter(name, value, HttpHeader) overload + + The IRestClient instance + Name of the header to add + Value of the header to add + + + + + Shortcut to AddDefaultParameter(name, value, UrlSegment) overload + + The IRestClient instance + Name of the segment to add + Value of the segment to add + + + + + Container for data used to make requests + + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Default constructor + + + + + Sets Method property to value of method + + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Internal Method so that RestClient can increase the number of attempts + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + A function to run prior to deserializing starting (e.g. change settings if error encountered) + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Gets or sets a user-defined state object that contains information about a request and which can be later + retrieved when the request completes. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Base class for common properties shared by RestResponse and RestResponse[[T]] + + + + + Default constructor + + + + + Assists with debugging responses by displaying in the debugger output + + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + The exception thrown during the request, if any + + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Container for data sent back from API + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exceptions thrown during the request, if any. + + Will contain only network transport or framework exceptions thrown during the request. + HTTP protocol errors are handled by RestSharp and will not appear here. + + + + Deserialized entity data + + + + + Deserialized entity data + + + + + Container for data sent back from API + + + + + Represents the json array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The capacity of the json array. + + + + The json representation of the array. + + The json representation of the array. + + + + Represents the json object. + + + + + The internal member dictionary. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The implementation to use when comparing keys, or null to use the default for the type of the key. + + + + Adds the specified key. + + The key. + The value. + + + + Determines whether the specified key contains key. + + The key. + + true if the specified key contains key; otherwise, false. + + + + + Removes the specified key. + + The key. + + + + + Tries the get value. + + The key. + The value. + + + + + Adds the specified item. + + The item. + + + + Clears this instance. + + + + + Determines whether [contains] [the specified item]. + + The item. + + true if [contains] [the specified item]; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the specified item. + + The item. + + + + + Gets the enumerator. + + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a json that represents the current . + + + A json that represents the current . + + + + + Gets the at the specified index. + + + + + + Gets the keys. + + The keys. + + + + Gets the values. + + The values. + + + + Gets or sets the with the specified key. + + + + + + Gets the count. + + The count. + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + This class encodes and decodes JSON strings. + Spec. details, see http://www.json.org/ + + JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList<object>) and JsonObject(IDictionary<string,object>). + All numbers are parsed to doubles. + + + + + Parses the string json into a value + + A JSON string. + An IList<object>, a IDictionary<string,object>, a double, a string, null, true, or false + + + + Try parsing the json string into a value. + + + A JSON string. + + + The object. + + + Returns true if successfull otherwise false. + + + + + Converts a IDictionary<string,object> / IList<object> object into a JSON string + + A IDictionary<string,object> / IList<object> + Serializer strategy to use + A JSON encoded string, or null if object 'json' is not serializable + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Helper methods for validating required values + + + + + Require a parameter to not be null + + Name of the parameter + Value of the parameter + + + + Helper methods for validating values + + + + + Validate an integer value is between the specified values (exclusive of min/max) + + Value to validate + Exclusive minimum value + Exclusive maximum value + + + + Validate a string length + + String to be validated + Maximum length of the string + + + + Default JSON serializer for request bodies + Doesn't currently use the SerializeAs attribute, defers to Newtonsoft's attributes + + + + + Default serializer + + + + + Serialize the object as JSON + + Object to serialize + JSON as String + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Content type for serialized content + + + + + Allows control how class and property names and values are serialized by XmlSerializer + Currently not supported with the JsonSerializer + When specified at the property level the class-level specification is overridden + + + + + Called by the attribute when NameStyle is speficied + + The string to transform + String + + + + The name to use for the serialized element + + + + + Sets the value to be serialized as an Attribute instead of an Element + + + + + The culture to use when serializing + + + + + Transforms the casing of the name based on the selected value. + + + + + The order to serialize the element. Default is int.MaxValue. + + + + + Options for transforming casing of element names + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Encoding for serialized content + + + + + Need to subclass StringWriter in order to override Encoding + + + + + Default XML Serializer + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Extension method overload! + + + + + Save a byte array to a file + + Bytes to save + Full path to save file to + + + + Read a stream into a byte array + + Stream to read + byte[] + + + + Copies bytes from one stream to another + + The input stream. + The output stream. + + + + Converts a byte array to a string, using its byte order mark to convert it to the right encoding. + http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx + + An array of bytes to convert + The byte as a string. + + + + Reflection extensions + + + + + Retrieve an attribute from a member (property) + + Type of attribute to retrieve + Member to retrieve attribute from + + + + + Retrieve an attribute from a type + + Type of attribute to retrieve + Type to retrieve attribute from + + + + + Checks a type to see if it derives from a raw generic (e.g. List[[]]) + + + + + + + + Find a value from a System.Enum by trying several possible variants + of the string value of the enum. + + Type of enum + Value for which to search + The culture used to calculate the name variants + + + + + XML Extension Methods + + + + + Returns the name of an element with the namespace if specified + + Element name + XML Namespace + + + + + Allows control how class and property names and values are deserialized by XmlAttributeDeserializer + + + + + The name to use for the serialized element + + + + + Sets if the property to Deserialize is an Attribute or Element (Default: false) + + + + + Tries to Authenticate with the credentials of the currently logged in user, or impersonate a user + + + + + Authenticate with the credentials of the currently logged in user + + + + + Authenticate by impersonation + + + + + + + Authenticate by impersonation, using an existing ICredentials instance + + + + + + Uses Uri.EscapeDataString() based on recommendations on MSDN + http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx + + + + + Check that a string is not null or empty + + String to check + bool + + + + Remove underscores from a string + + String to process + string + + + + Parses most common JSON date formats + + JSON value to parse + + DateTime + + + + Remove leading and trailing " from a string + + String to parse + String + + + + Checks a string to see if it matches a regex + + String to check + Pattern to match + bool + + + + Converts a string to pascal case + + String to convert + + string + + + + Converts a string to pascal case with the option to remove underscores + + String to convert + Option to remove underscores + + + + + + Converts a string to camel case + + String to convert + + String + + + + Convert the first letter of a string to lower case + + String to convert + string + + + + Checks to see if a string is all uppper case + + String to check + bool + + + + Add underscores to a pascal-cased string + + String to convert + string + + + + Add dashes to a pascal-cased string + + String to convert + string + + + + Add an undescore prefix to a pascasl-cased string + + + + + + + Add spaces to a pascal-cased string + + String to convert + string + + + + Return possible variants of a name for name matching. + + String to convert + The culture to use for conversion + IEnumerable<string> + + + + Decodes an HTML-encoded string and returns the decoded string. + + The HTML string to decode. + The decoded text. + + + + Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream. + + The HTML string to decode + The TextWriter output stream containing the decoded string. + + + + HTML-encodes a string and sends the resulting output to a TextWriter output stream. + + The string to encode. + The TextWriter output stream containing the encoded string. + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + + + + Base class for OAuth 2 Authenticators. + + + Since there are many ways to authenticate in OAuth2, + this is used as a base class to differentiate between + other authenticators. + + Any other OAuth2 authenticators must derive from this + abstract class. + + + + + Access token to be used when authenticating. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Gets the access token. + + + + + The OAuth 2 authenticator using URI query parameter. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.2 + + + + + Initializes a new instance of the class. + + + The access token. + + + + + The OAuth 2 authenticator using the authorization request header field. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.1 + + + + + Stores the Authorization header value as "[tokenType] accessToken". used for performance. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Initializes a new instance of the class. + + + The access token. + + + The token type. + + + + + All text parameters are UTF-8 encoded (per section 5.1). + + + + + + Generates a random 16-byte lowercase alphanumeric string. + + + + + + + Generates a timestamp based on the current elapsed seconds since '01/01/1970 0000 GMT" + + + + + + + Generates a timestamp based on the elapsed seconds of a given time since '01/01/1970 0000 GMT" + + + A specified point in time. + + + + + The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986. + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + The value to escape. + The escaped value. + + The method is supposed to take on + RFC 3986 behavior if certain elements are present in a .config file. Even if this + actually worked (which in my experiments it doesn't), we can't rely on every + host actually having this configuration element present. + + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + + + + + + Sorts a collection of key-value pairs by name, and then value if equal, + concatenating them into a single string. This string should be encoded + prior to, or after normalization is run. + + + + + + + + Sorts a by name, and then value if equal. + + A collection of parameters to sort + A sorted parameter collection + + + + Creates a request URL suitable for making OAuth requests. + Resulting URLs must exclude port 80 or port 443 when accompanied by HTTP and HTTPS, respectively. + Resulting URLs must be lower case. + + + The original request URL + + + + + Creates a request elements concatentation value to send with a request. + This is also known as the signature base. + + + + The request's HTTP method type + The request URL + The request's parameters + A signature base string + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The signature base + The consumer secret + The token secret + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer secret + The token secret + + + + + A class to encapsulate OAuth authentication flow. + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + Any existing, non-OAuth query parameters desired in the request + + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + Generates a instance to pass to an + for the purpose of exchanging user credentials + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + + + + + + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + diff --git a/packages/RestSharp.105.2.3/lib/net35/RestSharp.xml b/packages/RestSharp.105.2.3/lib/net35/RestSharp.xml new file mode 100644 index 0000000..543b8b0 --- /dev/null +++ b/packages/RestSharp.105.2.3/lib/net35/RestSharp.xml @@ -0,0 +1,2858 @@ + + + + RestSharp + + + + + JSON WEB TOKEN (JWT) Authenticator class. + https://tools.ietf.org/html/draft-ietf-oauth-json-web-token + + + + + Tries to Authenticate with the credentials of the currently logged in user, or impersonate a user + + + + + Authenticate with the credentials of the currently logged in user + + + + + Authenticate by impersonation + + + + + + + Authenticate by impersonation, using an existing ICredentials instance + + + + + + + + + Base class for OAuth 2 Authenticators. + + + Since there are many ways to authenticate in OAuth2, + this is used as a base class to differentiate between + other authenticators. + + Any other OAuth2 authenticators must derive from this + abstract class. + + + + + Access token to be used when authenticating. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Gets the access token. + + + + + The OAuth 2 authenticator using URI query parameter. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.2 + + + + + Initializes a new instance of the class. + + + The access token. + + + + + The OAuth 2 authenticator using the authorization request header field. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.1 + + + + + Stores the Authorization header value as "[tokenType] accessToken". used for performance. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Initializes a new instance of the class. + + + The access token. + + + The token type. + + + + + All text parameters are UTF-8 encoded (per section 5.1). + + + + + + Generates a random 16-byte lowercase alphanumeric string. + + + + + + + Generates a timestamp based on the current elapsed seconds since '01/01/1970 0000 GMT" + + + + + + + Generates a timestamp based on the elapsed seconds of a given time since '01/01/1970 0000 GMT" + + + A specified point in time. + + + + + The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986. + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + The value to escape. + The escaped value. + + The method is supposed to take on + RFC 3986 behavior if certain elements are present in a .config file. Even if this + actually worked (which in my experiments it doesn't), we can't rely on every + host actually having this configuration element present. + + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + + + + + + Sorts a collection of key-value pairs by name, and then value if equal, + concatenating them into a single string. This string should be encoded + prior to, or after normalization is run. + + + + + + + + Sorts a by name, and then value if equal. + + A collection of parameters to sort + A sorted parameter collection + + + + Creates a request URL suitable for making OAuth requests. + Resulting URLs must exclude port 80 or port 443 when accompanied by HTTP and HTTPS, respectively. + Resulting URLs must be lower case. + + + The original request URL + + + + + Creates a request elements concatentation value to send with a request. + This is also known as the signature base. + + + + The request's HTTP method type + The request URL + The request's parameters + A signature base string + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The signature base + The consumer secret + The token secret + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer secret + The token secret + + + + + A class to encapsulate OAuth authentication flow. + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + Any existing, non-OAuth query parameters desired in the request + + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + Generates a instance to pass to an + for the purpose of exchanging user credentials + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + + + + + + + + + + Allows control how class and property names and values are deserialized by XmlAttributeDeserializer + + + + + The name to use for the serialized element + + + + + Sets if the property to Deserialize is an Attribute or Element (Default: false) + + + + + Decodes an HTML-encoded string and returns the decoded string. + + The HTML string to decode. + The decoded text. + + + + Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream. + + The HTML string to decode + The TextWriter output stream containing the decoded string. + + + + HTML-encodes a string and sends the resulting output to a TextWriter output stream. + + The string to encode. + The TextWriter output stream containing the encoded string. + + + + Convert a to a instance. + + The response status. + + responseStatus + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Request to be executed + Callback function to be executed upon completion + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Target deserialization type + Request to be executed + Callback function to be executed upon completion providing access to the async handle + + + + Add a parameter to use on every request made with this client instance + + The IRestClient instance + Parameter to add + + + + + Removes a parameter from the default parameters that are used on every request made with this client instance + + The IRestClient instance + The name of the parameter that needs to be removed + + + + + Adds a HTTP parameter (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + Used on every request made by this client instance + + The IRestClient instance + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + The IRestClient instance + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Shortcut to AddDefaultParameter(name, value, HttpHeader) overload + + The IRestClient instance + Name of the header to add + Value of the header to add + + + + + Shortcut to AddDefaultParameter(name, value, UrlSegment) overload + + The IRestClient instance + Name of the segment to add + Value of the segment to add + + + + + Uses Uri.EscapeDataString() based on recommendations on MSDN + http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx + + + + + Check that a string is not null or empty + + String to check + bool + + + + Remove underscores from a string + + String to process + string + + + + Parses most common JSON date formats + + JSON value to parse + + DateTime + + + + Remove leading and trailing " from a string + + String to parse + String + + + + Checks a string to see if it matches a regex + + String to check + Pattern to match + bool + + + + Converts a string to pascal case + + String to convert + + string + + + + Converts a string to pascal case with the option to remove underscores + + String to convert + Option to remove underscores + + + + + + Converts a string to camel case + + String to convert + + String + + + + Convert the first letter of a string to lower case + + String to convert + string + + + + Checks to see if a string is all uppper case + + String to check + bool + + + + Add underscores to a pascal-cased string + + String to convert + string + + + + Add dashes to a pascal-cased string + + String to convert + string + + + + Add an undescore prefix to a pascasl-cased string + + + + + + + Add spaces to a pascal-cased string + + String to convert + string + + + + Return possible variants of a name for name matching. + + String to convert + The culture to use for conversion + IEnumerable<string> + + + + HttpWebRequest wrapper (sync methods) + + + HttpWebRequest wrapper + + + HttpWebRequest wrapper (async methods) + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + Execute a POST request + + + + + Execute a PUT request + + + + + Execute a GET request + + + + + Execute a HEAD request + + + + + Execute an OPTIONS request + + + + + Execute a DELETE request + + + + + Execute a PATCH request + + + + + Execute a MERGE request + + + + + Execute a GET-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + Execute a POST-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + Creates an IHttp + + + + + + Default constructor + + + + + Execute an async POST-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Execute an async GET-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + True if this HTTP request has any HTTP parameters + + + + + True if this HTTP request has any HTTP cookies + + + + + True if a request body has been specified + + + + + True if files have been set to be uploaded + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + UserAgent to be sent with request + + + + + Timeout in milliseconds to be used for the request + + + + + The number of milliseconds before the writing or reading times out. + + + + + System.Net.ICredentials to be sent with request + + + + + The System.Net.CookieContainer to be used for the request + + + + + The method to use to write the response instead of reading into RawBytes + + + + + Collection of files to be sent with request + + + + + Whether or not HTTP 3xx response redirects should be automatically followed + + + + + X509CertificateCollection to be sent with request + + + + + Maximum number of automatic redirects to follow if FollowRedirects is true + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. + + + + + HTTP headers to be sent with request + + + + + HTTP parameters (QueryString or Form values) to be sent with request + + + + + HTTP cookies to be sent with request + + + + + Request body to be sent with request + + + + + Content type of the request body. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + URL to call for this request + + + + + Flag to send authorisation header with the HttpWebRequest + + + + + Proxy info to be sent with request + + + + + Caching policy for requests created with this wrapper. + + + + + Representation of an HTTP cookie + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + HTTP response data + + + + + HTTP response data + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Default constructor + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + Lazy-loaded string representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Types of parameters that can be added to requests + + + + + Data formats + + + + + HTTP method to use when making requests + + + + + Format strings for commonly-used date formats + + + + + .NET format string for ISO 8601 date format + + + + + .NET format string for roundtrip date format + + + + + Status for responses (surprised?) + + + + + Extension method overload! + + + + + Save a byte array to a file + + Bytes to save + Full path to save file to + + + + Read a stream into a byte array + + Stream to read + byte[] + + + + Copies bytes from one stream to another + + The input stream. + The output stream. + + + + Converts a byte array to a string, using its byte order mark to convert it to the right encoding. + http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx + + An array of bytes to convert + The byte as a string. + + + + Reflection extensions + + + + + Retrieve an attribute from a member (property) + + Type of attribute to retrieve + Member to retrieve attribute from + + + + + Retrieve an attribute from a type + + Type of attribute to retrieve + Type to retrieve attribute from + + + + + Checks a type to see if it derives from a raw generic (e.g. List[[]]) + + + + + + + + Find a value from a System.Enum by trying several possible variants + of the string value of the enum. + + Type of enum + Value for which to search + The culture used to calculate the name variants + + + + + XML Extension Methods + + + + + Returns the name of an element with the namespace if specified + + Element name + XML Namespace + + + + + Container for files to be uploaded with requests + + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The content type to use in the request. + The + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The using the default content type. + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + Container for HTTP file + + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + Representation of an HTTP header + + + + + Name of the header + + + + + Value of the header + + + + + Representation of an HTTP parameter (QueryString or Form value) + + + + + Name of the parameter + + + + + Value of the parameter + + + + + Content-Type of the parameter + + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + X509CertificateCollection to be sent with request + + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container for data sent back from API + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exceptions thrown during the request, if any. + + Will contain only network transport or framework exceptions thrown during the request. + HTTP protocol errors are handled by RestSharp and will not appear here. + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Base class for common properties shared by RestResponse and RestResponse[[T]] + + + + + Default constructor + + + + + Assists with debugging responses by displaying in the debugger output + + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + The exception thrown during the request, if any + + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Container for data sent back from API + + + + + Parameter container for REST requests + + + + + Return a human-readable representation of this parameter + + String + + + + Name of the parameter + + + + + Value of the parameter + + + + + Type of the parameter + + + + + MIME content type of the parameter + + + + + Client to translate RestRequests into Http requests and process response result + + + + + Default constructor that registers default content handlers + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Registers a content handler to process response content + + MIME content type of the response content + Deserializer to use to process content + + + + Remove a content handler for the specified MIME content type + + MIME content type to remove + + + + Remove all content handlers + + + + + Retrieve the handler for the specified MIME content type + + MIME content type to retrieve + IDeserializer instance + + + + Assembles URL to call based on parameters, method and resource + + RestRequest to execute + Assembled System.Uri + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes the specified request and downloads the response data + + Request to execute + Response data + + + + Executes the request and returns a response, authenticating if needed + + Request to be executed + RestResponse + + + + Executes the specified request and deserializes the response content using the appropriate content handler + + Target deserialization type + Request to execute + RestResponse[[T]] with deserialized data in Data property + + + + Maximum number of redirects to follow if FollowRedirects is true + + + + + X509CertificateCollection to be sent with request + + + + + Proxy to use for requests made by this client instance. + Passed on to underlying WebRequest if set. + + + + + The cache policy to use for requests initiated by this client instance. + + + + + Default is true. Determine whether or not requests that result in + HTTP status codes of 3xx should follow returned redirect + + + + + The CookieContainer used for requests made by this client instance + + + + + UserAgent to use for requests made by this client instance + + + + + Timeout in milliseconds to use for requests made by this client instance + + + + + The number of milliseconds before the writing or reading times out. + + + + + Whether to invoke async callbacks using the SynchronizationContext.Current captured when invoked + + + + + Authenticator to use for requests made by this client instance + + + + + Combined with Request.Resource to construct URL for request + Should include scheme and domain without trailing slash. + + + client.BaseUrl = new Uri("http://example.com"); + + + + + Parameters included with every request made with this instance of RestClient + If specified in both client and request, the request wins + + + + + Container for data used to make requests + + + + + Default constructor + + + + + Sets Method property to value of method + + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Internal Method so that RestClient can increase the number of attempts + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + A function to run prior to deserializing starting (e.g. change settings if error encountered) + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Gets or sets a user-defined state object that contains information about a request and which can be later + retrieved when the request completes. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Encoding for serialized content + + + + + Need to subclass StringWriter in order to override Encoding + + + + + Default JSON serializer for request bodies + Doesn't currently use the SerializeAs attribute, defers to Newtonsoft's attributes + + + + + Default serializer + + + + + Serialize the object as JSON + + Object to serialize + JSON as String + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Content type for serialized content + + + + + Allows control how class and property names and values are serialized by XmlSerializer + Currently not supported with the JsonSerializer + When specified at the property level the class-level specification is overridden + + + + + Called by the attribute when NameStyle is speficied + + The string to transform + String + + + + The name to use for the serialized element + + + + + Sets the value to be serialized as an Attribute instead of an Element + + + + + The culture to use when serializing + + + + + Transforms the casing of the name based on the selected value. + + + + + The order to serialize the element. Default is int.MaxValue. + + + + + Options for transforming casing of element names + + + + + Default XML Serializer + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Represents the json array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The capacity of the json array. + + + + The json representation of the array. + + The json representation of the array. + + + + Represents the json object. + + + + + The internal member dictionary. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The implementation to use when comparing keys, or null to use the default for the type of the key. + + + + Adds the specified key. + + The key. + The value. + + + + Determines whether the specified key contains key. + + The key. + + true if the specified key contains key; otherwise, false. + + + + + Removes the specified key. + + The key. + + + + + Tries the get value. + + The key. + The value. + + + + + Adds the specified item. + + The item. + + + + Clears this instance. + + + + + Determines whether [contains] [the specified item]. + + The item. + + true if [contains] [the specified item]; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the specified item. + + The item. + + + + + Gets the enumerator. + + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a json that represents the current . + + + A json that represents the current . + + + + + Gets the at the specified index. + + + + + + Gets the keys. + + The keys. + + + + Gets the values. + + The values. + + + + Gets or sets the with the specified key. + + + + + + Gets the count. + + The count. + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + This class encodes and decodes JSON strings. + Spec. details, see http://www.json.org/ + + JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList<object>) and JsonObject(IDictionary<string,object>). + All numbers are parsed to doubles. + + + + + Parses the string json into a value + + A JSON string. + An IList<object>, a IDictionary<string,object>, a double, a string, null, true, or false + + + + Try parsing the json string into a value. + + + A JSON string. + + + The object. + + + Returns true if successfull otherwise false. + + + + + Converts a IDictionary<string,object> / IList<object> object into a JSON string + + A IDictionary<string,object> / IList<object> + Serializer strategy to use + A JSON encoded string, or null if object 'json' is not serializable + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Helper methods for validating values + + + + + Validate an integer value is between the specified values (exclusive of min/max) + + Value to validate + Exclusive minimum value + Exclusive maximum value + + + + Validate a string length + + String to be validated + Maximum length of the string + + + + Helper methods for validating required values + + + + + Require a parameter to not be null + + Name of the parameter + Value of the parameter + + + diff --git a/packages/RestSharp.105.2.3/lib/net4-client/RestSharp.xml b/packages/RestSharp.105.2.3/lib/net4-client/RestSharp.xml new file mode 100644 index 0000000..16ca278 --- /dev/null +++ b/packages/RestSharp.105.2.3/lib/net4-client/RestSharp.xml @@ -0,0 +1,3095 @@ + + + + RestSharp + + + + + JSON WEB TOKEN (JWT) Authenticator class. + https://tools.ietf.org/html/draft-ietf-oauth-json-web-token + + + + + Tries to Authenticate with the credentials of the currently logged in user, or impersonate a user + + + + + Authenticate with the credentials of the currently logged in user + + + + + Authenticate by impersonation + + + + + + + Authenticate by impersonation, using an existing ICredentials instance + + + + + + + + + Base class for OAuth 2 Authenticators. + + + Since there are many ways to authenticate in OAuth2, + this is used as a base class to differentiate between + other authenticators. + + Any other OAuth2 authenticators must derive from this + abstract class. + + + + + Access token to be used when authenticating. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Gets the access token. + + + + + The OAuth 2 authenticator using URI query parameter. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.2 + + + + + Initializes a new instance of the class. + + + The access token. + + + + + The OAuth 2 authenticator using the authorization request header field. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.1 + + + + + Stores the Authorization header value as "[tokenType] accessToken". used for performance. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Initializes a new instance of the class. + + + The access token. + + + The token type. + + + + + All text parameters are UTF-8 encoded (per section 5.1). + + + + + + Generates a random 16-byte lowercase alphanumeric string. + + + + + + + Generates a timestamp based on the current elapsed seconds since '01/01/1970 0000 GMT" + + + + + + + Generates a timestamp based on the elapsed seconds of a given time since '01/01/1970 0000 GMT" + + + A specified point in time. + + + + + The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986. + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + The value to escape. + The escaped value. + + The method is supposed to take on + RFC 3986 behavior if certain elements are present in a .config file. Even if this + actually worked (which in my experiments it doesn't), we can't rely on every + host actually having this configuration element present. + + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + + + + + + Sorts a collection of key-value pairs by name, and then value if equal, + concatenating them into a single string. This string should be encoded + prior to, or after normalization is run. + + + + + + + + Sorts a by name, and then value if equal. + + A collection of parameters to sort + A sorted parameter collection + + + + Creates a request URL suitable for making OAuth requests. + Resulting URLs must exclude port 80 or port 443 when accompanied by HTTP and HTTPS, respectively. + Resulting URLs must be lower case. + + + The original request URL + + + + + Creates a request elements concatentation value to send with a request. + This is also known as the signature base. + + + + The request's HTTP method type + The request URL + The request's parameters + A signature base string + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The signature base + The consumer secret + The token secret + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer secret + The token secret + + + + + A class to encapsulate OAuth authentication flow. + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + Any existing, non-OAuth query parameters desired in the request + + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + Generates a instance to pass to an + for the purpose of exchanging user credentials + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + + + + + + + + + + Allows control how class and property names and values are deserialized by XmlAttributeDeserializer + + + + + The name to use for the serialized element + + + + + Sets if the property to Deserialize is an Attribute or Element (Default: false) + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Types of parameters that can be added to requests + + + + + Data formats + + + + + HTTP method to use when making requests + + + + + Format strings for commonly-used date formats + + + + + .NET format string for ISO 8601 date format + + + + + .NET format string for roundtrip date format + + + + + Status for responses (surprised?) + + + + + Extension method overload! + + + + + Save a byte array to a file + + Bytes to save + Full path to save file to + + + + Read a stream into a byte array + + Stream to read + byte[] + + + + Copies bytes from one stream to another + + The input stream. + The output stream. + + + + Converts a byte array to a string, using its byte order mark to convert it to the right encoding. + http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx + + An array of bytes to convert + The byte as a string. + + + + Decodes an HTML-encoded string and returns the decoded string. + + The HTML string to decode. + The decoded text. + + + + Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream. + + The HTML string to decode + The TextWriter output stream containing the decoded string. + + + + HTML-encodes a string and sends the resulting output to a TextWriter output stream. + + The string to encode. + The TextWriter output stream containing the encoded string. + + + + Reflection extensions + + + + + Retrieve an attribute from a member (property) + + Type of attribute to retrieve + Member to retrieve attribute from + + + + + Retrieve an attribute from a type + + Type of attribute to retrieve + Type to retrieve attribute from + + + + + Checks a type to see if it derives from a raw generic (e.g. List[[]]) + + + + + + + + Find a value from a System.Enum by trying several possible variants + of the string value of the enum. + + Type of enum + Value for which to search + The culture used to calculate the name variants + + + + + Convert a to a instance. + + The response status. + + responseStatus + + + + Uses Uri.EscapeDataString() based on recommendations on MSDN + http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx + + + + + Check that a string is not null or empty + + String to check + bool + + + + Remove underscores from a string + + String to process + string + + + + Parses most common JSON date formats + + JSON value to parse + + DateTime + + + + Remove leading and trailing " from a string + + String to parse + String + + + + Checks a string to see if it matches a regex + + String to check + Pattern to match + bool + + + + Converts a string to pascal case + + String to convert + + string + + + + Converts a string to pascal case with the option to remove underscores + + String to convert + Option to remove underscores + + + + + + Converts a string to camel case + + String to convert + + String + + + + Convert the first letter of a string to lower case + + String to convert + string + + + + Checks to see if a string is all uppper case + + String to check + bool + + + + Add underscores to a pascal-cased string + + String to convert + string + + + + Add dashes to a pascal-cased string + + String to convert + string + + + + Add an undescore prefix to a pascasl-cased string + + + + + + + Add spaces to a pascal-cased string + + String to convert + string + + + + Return possible variants of a name for name matching. + + String to convert + The culture to use for conversion + IEnumerable<string> + + + + XML Extension Methods + + + + + Returns the name of an element with the namespace if specified + + Element name + XML Namespace + + + + + Container for files to be uploaded with requests + + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The content type to use in the request. + The + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The using the default content type. + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + HttpWebRequest wrapper (async methods) + + + HttpWebRequest wrapper + + + HttpWebRequest wrapper (sync methods) + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + Execute an async POST-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Execute an async GET-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Creates an IHttp + + + + + + Default constructor + + + + + Execute a POST request + + + + + Execute a PUT request + + + + + Execute a GET request + + + + + Execute a HEAD request + + + + + Execute an OPTIONS request + + + + + Execute a DELETE request + + + + + Execute a PATCH request + + + + + Execute a MERGE request + + + + + Execute a GET-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + Execute a POST-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + True if this HTTP request has any HTTP parameters + + + + + True if this HTTP request has any HTTP cookies + + + + + True if a request body has been specified + + + + + True if files have been set to be uploaded + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + UserAgent to be sent with request + + + + + Timeout in milliseconds to be used for the request + + + + + The number of milliseconds before the writing or reading times out. + + + + + System.Net.ICredentials to be sent with request + + + + + The System.Net.CookieContainer to be used for the request + + + + + The method to use to write the response instead of reading into RawBytes + + + + + Collection of files to be sent with request + + + + + Whether or not HTTP 3xx response redirects should be automatically followed + + + + + X509CertificateCollection to be sent with request + + + + + Maximum number of automatic redirects to follow if FollowRedirects is true + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. + + + + + HTTP headers to be sent with request + + + + + HTTP parameters (QueryString or Form values) to be sent with request + + + + + HTTP cookies to be sent with request + + + + + Request body to be sent with request + + + + + Content type of the request body. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + URL to call for this request + + + + + Flag to send authorisation header with the HttpWebRequest + + + + + Proxy info to be sent with request + + + + + Caching policy for requests created with this wrapper. + + + + + Representation of an HTTP cookie + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Container for HTTP file + + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + Representation of an HTTP header + + + + + Name of the header + + + + + Value of the header + + + + + Representation of an HTTP parameter (QueryString or Form value) + + + + + Name of the parameter + + + + + Value of the parameter + + + + + Content-Type of the parameter + + + + + HTTP response data + + + + + HTTP response data + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Default constructor + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + Lazy-loaded string representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + X509CertificateCollection to be sent with request + + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container for data sent back from API + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exceptions thrown during the request, if any. + + Will contain only network transport or framework exceptions thrown during the request. + HTTP protocol errors are handled by RestSharp and will not appear here. + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Parameter container for REST requests + + + + + Return a human-readable representation of this parameter + + String + + + + Name of the parameter + + + + + Value of the parameter + + + + + Type of the parameter + + + + + MIME content type of the parameter + + + + + Client to translate RestRequests into Http requests and process response result + + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Default constructor that registers default content handlers + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Registers a content handler to process response content + + MIME content type of the response content + Deserializer to use to process content + + + + Remove a content handler for the specified MIME content type + + MIME content type to remove + + + + Remove all content handlers + + + + + Retrieve the handler for the specified MIME content type + + MIME content type to retrieve + IDeserializer instance + + + + Assembles URL to call based on parameters, method and resource + + RestRequest to execute + Assembled System.Uri + + + + Executes the specified request and downloads the response data + + Request to execute + Response data + + + + Executes the request and returns a response, authenticating if needed + + Request to be executed + RestResponse + + + + Executes the specified request and deserializes the response content using the appropriate content handler + + Target deserialization type + Request to execute + RestResponse[[T]] with deserialized data in Data property + + + + Maximum number of redirects to follow if FollowRedirects is true + + + + + X509CertificateCollection to be sent with request + + + + + Proxy to use for requests made by this client instance. + Passed on to underlying WebRequest if set. + + + + + The cache policy to use for requests initiated by this client instance. + + + + + Default is true. Determine whether or not requests that result in + HTTP status codes of 3xx should follow returned redirect + + + + + The CookieContainer used for requests made by this client instance + + + + + UserAgent to use for requests made by this client instance + + + + + Timeout in milliseconds to use for requests made by this client instance + + + + + The number of milliseconds before the writing or reading times out. + + + + + Whether to invoke async callbacks using the SynchronizationContext.Current captured when invoked + + + + + Authenticator to use for requests made by this client instance + + + + + Combined with Request.Resource to construct URL for request + Should include scheme and domain without trailing slash. + + + client.BaseUrl = new Uri("http://example.com"); + + + + + Parameters included with every request made with this instance of RestClient + If specified in both client and request, the request wins + + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Request to be executed + Callback function to be executed upon completion + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Target deserialization type + Request to be executed + Callback function to be executed upon completion providing access to the async handle + + + + Add a parameter to use on every request made with this client instance + + The IRestClient instance + Parameter to add + + + + + Removes a parameter from the default parameters that are used on every request made with this client instance + + The IRestClient instance + The name of the parameter that needs to be removed + + + + + Adds a HTTP parameter (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + Used on every request made by this client instance + + The IRestClient instance + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + The IRestClient instance + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Shortcut to AddDefaultParameter(name, value, HttpHeader) overload + + The IRestClient instance + Name of the header to add + Value of the header to add + + + + + Shortcut to AddDefaultParameter(name, value, UrlSegment) overload + + The IRestClient instance + Name of the segment to add + Value of the segment to add + + + + + Container for data used to make requests + + + + + Default constructor + + + + + Sets Method property to value of method + + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Internal Method so that RestClient can increase the number of attempts + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + A function to run prior to deserializing starting (e.g. change settings if error encountered) + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Gets or sets a user-defined state object that contains information about a request and which can be later + retrieved when the request completes. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Base class for common properties shared by RestResponse and RestResponse[[T]] + + + + + Default constructor + + + + + Assists with debugging responses by displaying in the debugger output + + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + The exception thrown during the request, if any + + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Container for data sent back from API + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Encoding for serialized content + + + + + Need to subclass StringWriter in order to override Encoding + + + + + Default JSON serializer for request bodies + Doesn't currently use the SerializeAs attribute, defers to Newtonsoft's attributes + + + + + Default serializer + + + + + Serialize the object as JSON + + Object to serialize + JSON as String + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Content type for serialized content + + + + + Allows control how class and property names and values are serialized by XmlSerializer + Currently not supported with the JsonSerializer + When specified at the property level the class-level specification is overridden + + + + + Called by the attribute when NameStyle is speficied + + The string to transform + String + + + + The name to use for the serialized element + + + + + Sets the value to be serialized as an Attribute instead of an Element + + + + + The culture to use when serializing + + + + + Transforms the casing of the name based on the selected value. + + + + + The order to serialize the element. Default is int.MaxValue. + + + + + Options for transforming casing of element names + + + + + Default XML Serializer + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Helper methods for validating required values + + + + + Require a parameter to not be null + + Name of the parameter + Value of the parameter + + + + Represents the json array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The capacity of the json array. + + + + The json representation of the array. + + The json representation of the array. + + + + Represents the json object. + + + + + The internal member dictionary. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The implementation to use when comparing keys, or null to use the default for the type of the key. + + + + Adds the specified key. + + The key. + The value. + + + + Determines whether the specified key contains key. + + The key. + + true if the specified key contains key; otherwise, false. + + + + + Removes the specified key. + + The key. + + + + + Tries the get value. + + The key. + The value. + + + + + Adds the specified item. + + The item. + + + + Clears this instance. + + + + + Determines whether [contains] [the specified item]. + + The item. + + true if [contains] [the specified item]; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the specified item. + + The item. + + + + + Gets the enumerator. + + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a json that represents the current . + + + A json that represents the current . + + + + + Provides implementation for type conversion operations. Classes derived from the class can override this method to specify dynamic behavior for operations that convert an object from one type to another. + + Provides information about the conversion operation. The binder.Type property provides the type to which the object must be converted. For example, for the statement (String)sampleObject in C# (CType(sampleObject, Type) in Visual Basic), where sampleObject is an instance of the class derived from the class, binder.Type returns the type. The binder.Explicit property provides information about the kind of conversion that occurs. It returns true for explicit conversion and false for implicit conversion. + The result of the type conversion operation. + + Alwasy returns true. + + + + + Provides the implementation for operations that delete an object member. This method is not intended for use in C# or Visual Basic. + + Provides information about the deletion. + + Alwasy returns true. + + + + + Provides the implementation for operations that get a value by index. Classes derived from the class can override this method to specify dynamic behavior for indexing operations. + + Provides information about the operation. + The indexes that are used in the operation. For example, for the sampleObject[3] operation in C# (sampleObject(3) in Visual Basic), where sampleObject is derived from the DynamicObject class, is equal to 3. + The result of the index operation. + + Alwasy returns true. + + + + + Provides the implementation for operations that get member values. Classes derived from the class can override this method to specify dynamic behavior for operations such as getting a value for a property. + + Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member on which the dynamic operation is performed. For example, for the Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive. + The result of the get operation. For example, if the method is called for a property, you can assign the property value to . + + Alwasy returns true. + + + + + Provides the implementation for operations that set a value by index. Classes derived from the class can override this method to specify dynamic behavior for operations that access objects by a specified index. + + Provides information about the operation. + The indexes that are used in the operation. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the class, is equal to 3. + The value to set to the object that has the specified index. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the class, is equal to 10. + + true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown. + + + + + Provides the implementation for operations that set member values. Classes derived from the class can override this method to specify dynamic behavior for operations such as setting a value for a property. + + Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member to which the value is being assigned. For example, for the statement sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive. + The value to set to the member. For example, for sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the class, the is "Test". + + true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.) + + + + + Returns the enumeration of all dynamic member names. + + + A sequence that contains dynamic member names. + + + + + Gets the at the specified index. + + + + + + Gets the keys. + + The keys. + + + + Gets the values. + + The values. + + + + Gets or sets the with the specified key. + + + + + + Gets the count. + + The count. + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + This class encodes and decodes JSON strings. + Spec. details, see http://www.json.org/ + + JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList<object>) and JsonObject(IDictionary<string,object>). + All numbers are parsed to doubles. + + + + + Parses the string json into a value + + A JSON string. + An IList<object>, a IDictionary<string,object>, a double, a string, null, true, or false + + + + Try parsing the json string into a value. + + + A JSON string. + + + The object. + + + Returns true if successfull otherwise false. + + + + + Converts a IDictionary<string,object> / IList<object> object into a JSON string + + A IDictionary<string,object> / IList<object> + Serializer strategy to use + A JSON encoded string, or null if object 'json' is not serializable + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Helper methods for validating values + + + + + Validate an integer value is between the specified values (exclusive of min/max) + + Value to validate + Exclusive minimum value + Exclusive maximum value + + + + Validate a string length + + String to be validated + Maximum length of the string + + + diff --git a/packages/RestSharp.105.2.3/lib/net4/RestSharp.xml b/packages/RestSharp.105.2.3/lib/net4/RestSharp.xml new file mode 100644 index 0000000..16ca278 --- /dev/null +++ b/packages/RestSharp.105.2.3/lib/net4/RestSharp.xml @@ -0,0 +1,3095 @@ + + + + RestSharp + + + + + JSON WEB TOKEN (JWT) Authenticator class. + https://tools.ietf.org/html/draft-ietf-oauth-json-web-token + + + + + Tries to Authenticate with the credentials of the currently logged in user, or impersonate a user + + + + + Authenticate with the credentials of the currently logged in user + + + + + Authenticate by impersonation + + + + + + + Authenticate by impersonation, using an existing ICredentials instance + + + + + + + + + Base class for OAuth 2 Authenticators. + + + Since there are many ways to authenticate in OAuth2, + this is used as a base class to differentiate between + other authenticators. + + Any other OAuth2 authenticators must derive from this + abstract class. + + + + + Access token to be used when authenticating. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Gets the access token. + + + + + The OAuth 2 authenticator using URI query parameter. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.2 + + + + + Initializes a new instance of the class. + + + The access token. + + + + + The OAuth 2 authenticator using the authorization request header field. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.1 + + + + + Stores the Authorization header value as "[tokenType] accessToken". used for performance. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Initializes a new instance of the class. + + + The access token. + + + The token type. + + + + + All text parameters are UTF-8 encoded (per section 5.1). + + + + + + Generates a random 16-byte lowercase alphanumeric string. + + + + + + + Generates a timestamp based on the current elapsed seconds since '01/01/1970 0000 GMT" + + + + + + + Generates a timestamp based on the elapsed seconds of a given time since '01/01/1970 0000 GMT" + + + A specified point in time. + + + + + The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986. + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + The value to escape. + The escaped value. + + The method is supposed to take on + RFC 3986 behavior if certain elements are present in a .config file. Even if this + actually worked (which in my experiments it doesn't), we can't rely on every + host actually having this configuration element present. + + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + + + + + + Sorts a collection of key-value pairs by name, and then value if equal, + concatenating them into a single string. This string should be encoded + prior to, or after normalization is run. + + + + + + + + Sorts a by name, and then value if equal. + + A collection of parameters to sort + A sorted parameter collection + + + + Creates a request URL suitable for making OAuth requests. + Resulting URLs must exclude port 80 or port 443 when accompanied by HTTP and HTTPS, respectively. + Resulting URLs must be lower case. + + + The original request URL + + + + + Creates a request elements concatentation value to send with a request. + This is also known as the signature base. + + + + The request's HTTP method type + The request URL + The request's parameters + A signature base string + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The signature base + The consumer secret + The token secret + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer secret + The token secret + + + + + A class to encapsulate OAuth authentication flow. + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + Any existing, non-OAuth query parameters desired in the request + + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + Generates a instance to pass to an + for the purpose of exchanging user credentials + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + + + + + + + + + + Allows control how class and property names and values are deserialized by XmlAttributeDeserializer + + + + + The name to use for the serialized element + + + + + Sets if the property to Deserialize is an Attribute or Element (Default: false) + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Types of parameters that can be added to requests + + + + + Data formats + + + + + HTTP method to use when making requests + + + + + Format strings for commonly-used date formats + + + + + .NET format string for ISO 8601 date format + + + + + .NET format string for roundtrip date format + + + + + Status for responses (surprised?) + + + + + Extension method overload! + + + + + Save a byte array to a file + + Bytes to save + Full path to save file to + + + + Read a stream into a byte array + + Stream to read + byte[] + + + + Copies bytes from one stream to another + + The input stream. + The output stream. + + + + Converts a byte array to a string, using its byte order mark to convert it to the right encoding. + http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx + + An array of bytes to convert + The byte as a string. + + + + Decodes an HTML-encoded string and returns the decoded string. + + The HTML string to decode. + The decoded text. + + + + Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream. + + The HTML string to decode + The TextWriter output stream containing the decoded string. + + + + HTML-encodes a string and sends the resulting output to a TextWriter output stream. + + The string to encode. + The TextWriter output stream containing the encoded string. + + + + Reflection extensions + + + + + Retrieve an attribute from a member (property) + + Type of attribute to retrieve + Member to retrieve attribute from + + + + + Retrieve an attribute from a type + + Type of attribute to retrieve + Type to retrieve attribute from + + + + + Checks a type to see if it derives from a raw generic (e.g. List[[]]) + + + + + + + + Find a value from a System.Enum by trying several possible variants + of the string value of the enum. + + Type of enum + Value for which to search + The culture used to calculate the name variants + + + + + Convert a to a instance. + + The response status. + + responseStatus + + + + Uses Uri.EscapeDataString() based on recommendations on MSDN + http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx + + + + + Check that a string is not null or empty + + String to check + bool + + + + Remove underscores from a string + + String to process + string + + + + Parses most common JSON date formats + + JSON value to parse + + DateTime + + + + Remove leading and trailing " from a string + + String to parse + String + + + + Checks a string to see if it matches a regex + + String to check + Pattern to match + bool + + + + Converts a string to pascal case + + String to convert + + string + + + + Converts a string to pascal case with the option to remove underscores + + String to convert + Option to remove underscores + + + + + + Converts a string to camel case + + String to convert + + String + + + + Convert the first letter of a string to lower case + + String to convert + string + + + + Checks to see if a string is all uppper case + + String to check + bool + + + + Add underscores to a pascal-cased string + + String to convert + string + + + + Add dashes to a pascal-cased string + + String to convert + string + + + + Add an undescore prefix to a pascasl-cased string + + + + + + + Add spaces to a pascal-cased string + + String to convert + string + + + + Return possible variants of a name for name matching. + + String to convert + The culture to use for conversion + IEnumerable<string> + + + + XML Extension Methods + + + + + Returns the name of an element with the namespace if specified + + Element name + XML Namespace + + + + + Container for files to be uploaded with requests + + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The content type to use in the request. + The + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The using the default content type. + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + HttpWebRequest wrapper (async methods) + + + HttpWebRequest wrapper + + + HttpWebRequest wrapper (sync methods) + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + Execute an async POST-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Execute an async GET-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Creates an IHttp + + + + + + Default constructor + + + + + Execute a POST request + + + + + Execute a PUT request + + + + + Execute a GET request + + + + + Execute a HEAD request + + + + + Execute an OPTIONS request + + + + + Execute a DELETE request + + + + + Execute a PATCH request + + + + + Execute a MERGE request + + + + + Execute a GET-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + Execute a POST-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + True if this HTTP request has any HTTP parameters + + + + + True if this HTTP request has any HTTP cookies + + + + + True if a request body has been specified + + + + + True if files have been set to be uploaded + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + UserAgent to be sent with request + + + + + Timeout in milliseconds to be used for the request + + + + + The number of milliseconds before the writing or reading times out. + + + + + System.Net.ICredentials to be sent with request + + + + + The System.Net.CookieContainer to be used for the request + + + + + The method to use to write the response instead of reading into RawBytes + + + + + Collection of files to be sent with request + + + + + Whether or not HTTP 3xx response redirects should be automatically followed + + + + + X509CertificateCollection to be sent with request + + + + + Maximum number of automatic redirects to follow if FollowRedirects is true + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. + + + + + HTTP headers to be sent with request + + + + + HTTP parameters (QueryString or Form values) to be sent with request + + + + + HTTP cookies to be sent with request + + + + + Request body to be sent with request + + + + + Content type of the request body. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + URL to call for this request + + + + + Flag to send authorisation header with the HttpWebRequest + + + + + Proxy info to be sent with request + + + + + Caching policy for requests created with this wrapper. + + + + + Representation of an HTTP cookie + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Container for HTTP file + + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + Representation of an HTTP header + + + + + Name of the header + + + + + Value of the header + + + + + Representation of an HTTP parameter (QueryString or Form value) + + + + + Name of the parameter + + + + + Value of the parameter + + + + + Content-Type of the parameter + + + + + HTTP response data + + + + + HTTP response data + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Default constructor + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + Lazy-loaded string representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + X509CertificateCollection to be sent with request + + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container for data sent back from API + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exceptions thrown during the request, if any. + + Will contain only network transport or framework exceptions thrown during the request. + HTTP protocol errors are handled by RestSharp and will not appear here. + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Parameter container for REST requests + + + + + Return a human-readable representation of this parameter + + String + + + + Name of the parameter + + + + + Value of the parameter + + + + + Type of the parameter + + + + + MIME content type of the parameter + + + + + Client to translate RestRequests into Http requests and process response result + + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Default constructor that registers default content handlers + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Registers a content handler to process response content + + MIME content type of the response content + Deserializer to use to process content + + + + Remove a content handler for the specified MIME content type + + MIME content type to remove + + + + Remove all content handlers + + + + + Retrieve the handler for the specified MIME content type + + MIME content type to retrieve + IDeserializer instance + + + + Assembles URL to call based on parameters, method and resource + + RestRequest to execute + Assembled System.Uri + + + + Executes the specified request and downloads the response data + + Request to execute + Response data + + + + Executes the request and returns a response, authenticating if needed + + Request to be executed + RestResponse + + + + Executes the specified request and deserializes the response content using the appropriate content handler + + Target deserialization type + Request to execute + RestResponse[[T]] with deserialized data in Data property + + + + Maximum number of redirects to follow if FollowRedirects is true + + + + + X509CertificateCollection to be sent with request + + + + + Proxy to use for requests made by this client instance. + Passed on to underlying WebRequest if set. + + + + + The cache policy to use for requests initiated by this client instance. + + + + + Default is true. Determine whether or not requests that result in + HTTP status codes of 3xx should follow returned redirect + + + + + The CookieContainer used for requests made by this client instance + + + + + UserAgent to use for requests made by this client instance + + + + + Timeout in milliseconds to use for requests made by this client instance + + + + + The number of milliseconds before the writing or reading times out. + + + + + Whether to invoke async callbacks using the SynchronizationContext.Current captured when invoked + + + + + Authenticator to use for requests made by this client instance + + + + + Combined with Request.Resource to construct URL for request + Should include scheme and domain without trailing slash. + + + client.BaseUrl = new Uri("http://example.com"); + + + + + Parameters included with every request made with this instance of RestClient + If specified in both client and request, the request wins + + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Request to be executed + Callback function to be executed upon completion + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Target deserialization type + Request to be executed + Callback function to be executed upon completion providing access to the async handle + + + + Add a parameter to use on every request made with this client instance + + The IRestClient instance + Parameter to add + + + + + Removes a parameter from the default parameters that are used on every request made with this client instance + + The IRestClient instance + The name of the parameter that needs to be removed + + + + + Adds a HTTP parameter (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + Used on every request made by this client instance + + The IRestClient instance + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + The IRestClient instance + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Shortcut to AddDefaultParameter(name, value, HttpHeader) overload + + The IRestClient instance + Name of the header to add + Value of the header to add + + + + + Shortcut to AddDefaultParameter(name, value, UrlSegment) overload + + The IRestClient instance + Name of the segment to add + Value of the segment to add + + + + + Container for data used to make requests + + + + + Default constructor + + + + + Sets Method property to value of method + + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Internal Method so that RestClient can increase the number of attempts + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + A function to run prior to deserializing starting (e.g. change settings if error encountered) + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Gets or sets a user-defined state object that contains information about a request and which can be later + retrieved when the request completes. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Base class for common properties shared by RestResponse and RestResponse[[T]] + + + + + Default constructor + + + + + Assists with debugging responses by displaying in the debugger output + + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + The exception thrown during the request, if any + + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Container for data sent back from API + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Encoding for serialized content + + + + + Need to subclass StringWriter in order to override Encoding + + + + + Default JSON serializer for request bodies + Doesn't currently use the SerializeAs attribute, defers to Newtonsoft's attributes + + + + + Default serializer + + + + + Serialize the object as JSON + + Object to serialize + JSON as String + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Content type for serialized content + + + + + Allows control how class and property names and values are serialized by XmlSerializer + Currently not supported with the JsonSerializer + When specified at the property level the class-level specification is overridden + + + + + Called by the attribute when NameStyle is speficied + + The string to transform + String + + + + The name to use for the serialized element + + + + + Sets the value to be serialized as an Attribute instead of an Element + + + + + The culture to use when serializing + + + + + Transforms the casing of the name based on the selected value. + + + + + The order to serialize the element. Default is int.MaxValue. + + + + + Options for transforming casing of element names + + + + + Default XML Serializer + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Helper methods for validating required values + + + + + Require a parameter to not be null + + Name of the parameter + Value of the parameter + + + + Represents the json array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The capacity of the json array. + + + + The json representation of the array. + + The json representation of the array. + + + + Represents the json object. + + + + + The internal member dictionary. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The implementation to use when comparing keys, or null to use the default for the type of the key. + + + + Adds the specified key. + + The key. + The value. + + + + Determines whether the specified key contains key. + + The key. + + true if the specified key contains key; otherwise, false. + + + + + Removes the specified key. + + The key. + + + + + Tries the get value. + + The key. + The value. + + + + + Adds the specified item. + + The item. + + + + Clears this instance. + + + + + Determines whether [contains] [the specified item]. + + The item. + + true if [contains] [the specified item]; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the specified item. + + The item. + + + + + Gets the enumerator. + + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a json that represents the current . + + + A json that represents the current . + + + + + Provides implementation for type conversion operations. Classes derived from the class can override this method to specify dynamic behavior for operations that convert an object from one type to another. + + Provides information about the conversion operation. The binder.Type property provides the type to which the object must be converted. For example, for the statement (String)sampleObject in C# (CType(sampleObject, Type) in Visual Basic), where sampleObject is an instance of the class derived from the class, binder.Type returns the type. The binder.Explicit property provides information about the kind of conversion that occurs. It returns true for explicit conversion and false for implicit conversion. + The result of the type conversion operation. + + Alwasy returns true. + + + + + Provides the implementation for operations that delete an object member. This method is not intended for use in C# or Visual Basic. + + Provides information about the deletion. + + Alwasy returns true. + + + + + Provides the implementation for operations that get a value by index. Classes derived from the class can override this method to specify dynamic behavior for indexing operations. + + Provides information about the operation. + The indexes that are used in the operation. For example, for the sampleObject[3] operation in C# (sampleObject(3) in Visual Basic), where sampleObject is derived from the DynamicObject class, is equal to 3. + The result of the index operation. + + Alwasy returns true. + + + + + Provides the implementation for operations that get member values. Classes derived from the class can override this method to specify dynamic behavior for operations such as getting a value for a property. + + Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member on which the dynamic operation is performed. For example, for the Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive. + The result of the get operation. For example, if the method is called for a property, you can assign the property value to . + + Alwasy returns true. + + + + + Provides the implementation for operations that set a value by index. Classes derived from the class can override this method to specify dynamic behavior for operations that access objects by a specified index. + + Provides information about the operation. + The indexes that are used in the operation. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the class, is equal to 3. + The value to set to the object that has the specified index. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the class, is equal to 10. + + true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown. + + + + + Provides the implementation for operations that set member values. Classes derived from the class can override this method to specify dynamic behavior for operations such as setting a value for a property. + + Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member to which the value is being assigned. For example, for the statement sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive. + The value to set to the member. For example, for sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the class, the is "Test". + + true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.) + + + + + Returns the enumeration of all dynamic member names. + + + A sequence that contains dynamic member names. + + + + + Gets the at the specified index. + + + + + + Gets the keys. + + The keys. + + + + Gets the values. + + The values. + + + + Gets or sets the with the specified key. + + + + + + Gets the count. + + The count. + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + This class encodes and decodes JSON strings. + Spec. details, see http://www.json.org/ + + JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList<object>) and JsonObject(IDictionary<string,object>). + All numbers are parsed to doubles. + + + + + Parses the string json into a value + + A JSON string. + An IList<object>, a IDictionary<string,object>, a double, a string, null, true, or false + + + + Try parsing the json string into a value. + + + A JSON string. + + + The object. + + + Returns true if successfull otherwise false. + + + + + Converts a IDictionary<string,object> / IList<object> object into a JSON string + + A IDictionary<string,object> / IList<object> + Serializer strategy to use + A JSON encoded string, or null if object 'json' is not serializable + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Helper methods for validating values + + + + + Validate an integer value is between the specified values (exclusive of min/max) + + Value to validate + Exclusive minimum value + Exclusive maximum value + + + + Validate a string length + + String to be validated + Maximum length of the string + + + diff --git a/packages/RestSharp.105.2.3/lib/net45/RestSharp.xml b/packages/RestSharp.105.2.3/lib/net45/RestSharp.xml new file mode 100644 index 0000000..16ca278 --- /dev/null +++ b/packages/RestSharp.105.2.3/lib/net45/RestSharp.xml @@ -0,0 +1,3095 @@ + + + + RestSharp + + + + + JSON WEB TOKEN (JWT) Authenticator class. + https://tools.ietf.org/html/draft-ietf-oauth-json-web-token + + + + + Tries to Authenticate with the credentials of the currently logged in user, or impersonate a user + + + + + Authenticate with the credentials of the currently logged in user + + + + + Authenticate by impersonation + + + + + + + Authenticate by impersonation, using an existing ICredentials instance + + + + + + + + + Base class for OAuth 2 Authenticators. + + + Since there are many ways to authenticate in OAuth2, + this is used as a base class to differentiate between + other authenticators. + + Any other OAuth2 authenticators must derive from this + abstract class. + + + + + Access token to be used when authenticating. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Gets the access token. + + + + + The OAuth 2 authenticator using URI query parameter. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.2 + + + + + Initializes a new instance of the class. + + + The access token. + + + + + The OAuth 2 authenticator using the authorization request header field. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.1 + + + + + Stores the Authorization header value as "[tokenType] accessToken". used for performance. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Initializes a new instance of the class. + + + The access token. + + + The token type. + + + + + All text parameters are UTF-8 encoded (per section 5.1). + + + + + + Generates a random 16-byte lowercase alphanumeric string. + + + + + + + Generates a timestamp based on the current elapsed seconds since '01/01/1970 0000 GMT" + + + + + + + Generates a timestamp based on the elapsed seconds of a given time since '01/01/1970 0000 GMT" + + + A specified point in time. + + + + + The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986. + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + The value to escape. + The escaped value. + + The method is supposed to take on + RFC 3986 behavior if certain elements are present in a .config file. Even if this + actually worked (which in my experiments it doesn't), we can't rely on every + host actually having this configuration element present. + + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + + + + + + Sorts a collection of key-value pairs by name, and then value if equal, + concatenating them into a single string. This string should be encoded + prior to, or after normalization is run. + + + + + + + + Sorts a by name, and then value if equal. + + A collection of parameters to sort + A sorted parameter collection + + + + Creates a request URL suitable for making OAuth requests. + Resulting URLs must exclude port 80 or port 443 when accompanied by HTTP and HTTPS, respectively. + Resulting URLs must be lower case. + + + The original request URL + + + + + Creates a request elements concatentation value to send with a request. + This is also known as the signature base. + + + + The request's HTTP method type + The request URL + The request's parameters + A signature base string + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The signature base + The consumer secret + The token secret + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer secret + The token secret + + + + + A class to encapsulate OAuth authentication flow. + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + Any existing, non-OAuth query parameters desired in the request + + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + Generates a instance to pass to an + for the purpose of exchanging user credentials + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + + + + + + + + + + Allows control how class and property names and values are deserialized by XmlAttributeDeserializer + + + + + The name to use for the serialized element + + + + + Sets if the property to Deserialize is an Attribute or Element (Default: false) + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Types of parameters that can be added to requests + + + + + Data formats + + + + + HTTP method to use when making requests + + + + + Format strings for commonly-used date formats + + + + + .NET format string for ISO 8601 date format + + + + + .NET format string for roundtrip date format + + + + + Status for responses (surprised?) + + + + + Extension method overload! + + + + + Save a byte array to a file + + Bytes to save + Full path to save file to + + + + Read a stream into a byte array + + Stream to read + byte[] + + + + Copies bytes from one stream to another + + The input stream. + The output stream. + + + + Converts a byte array to a string, using its byte order mark to convert it to the right encoding. + http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx + + An array of bytes to convert + The byte as a string. + + + + Decodes an HTML-encoded string and returns the decoded string. + + The HTML string to decode. + The decoded text. + + + + Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream. + + The HTML string to decode + The TextWriter output stream containing the decoded string. + + + + HTML-encodes a string and sends the resulting output to a TextWriter output stream. + + The string to encode. + The TextWriter output stream containing the encoded string. + + + + Reflection extensions + + + + + Retrieve an attribute from a member (property) + + Type of attribute to retrieve + Member to retrieve attribute from + + + + + Retrieve an attribute from a type + + Type of attribute to retrieve + Type to retrieve attribute from + + + + + Checks a type to see if it derives from a raw generic (e.g. List[[]]) + + + + + + + + Find a value from a System.Enum by trying several possible variants + of the string value of the enum. + + Type of enum + Value for which to search + The culture used to calculate the name variants + + + + + Convert a to a instance. + + The response status. + + responseStatus + + + + Uses Uri.EscapeDataString() based on recommendations on MSDN + http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx + + + + + Check that a string is not null or empty + + String to check + bool + + + + Remove underscores from a string + + String to process + string + + + + Parses most common JSON date formats + + JSON value to parse + + DateTime + + + + Remove leading and trailing " from a string + + String to parse + String + + + + Checks a string to see if it matches a regex + + String to check + Pattern to match + bool + + + + Converts a string to pascal case + + String to convert + + string + + + + Converts a string to pascal case with the option to remove underscores + + String to convert + Option to remove underscores + + + + + + Converts a string to camel case + + String to convert + + String + + + + Convert the first letter of a string to lower case + + String to convert + string + + + + Checks to see if a string is all uppper case + + String to check + bool + + + + Add underscores to a pascal-cased string + + String to convert + string + + + + Add dashes to a pascal-cased string + + String to convert + string + + + + Add an undescore prefix to a pascasl-cased string + + + + + + + Add spaces to a pascal-cased string + + String to convert + string + + + + Return possible variants of a name for name matching. + + String to convert + The culture to use for conversion + IEnumerable<string> + + + + XML Extension Methods + + + + + Returns the name of an element with the namespace if specified + + Element name + XML Namespace + + + + + Container for files to be uploaded with requests + + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The content type to use in the request. + The + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The using the default content type. + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + HttpWebRequest wrapper (async methods) + + + HttpWebRequest wrapper + + + HttpWebRequest wrapper (sync methods) + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + Execute an async POST-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Execute an async GET-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Creates an IHttp + + + + + + Default constructor + + + + + Execute a POST request + + + + + Execute a PUT request + + + + + Execute a GET request + + + + + Execute a HEAD request + + + + + Execute an OPTIONS request + + + + + Execute a DELETE request + + + + + Execute a PATCH request + + + + + Execute a MERGE request + + + + + Execute a GET-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + Execute a POST-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + True if this HTTP request has any HTTP parameters + + + + + True if this HTTP request has any HTTP cookies + + + + + True if a request body has been specified + + + + + True if files have been set to be uploaded + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + UserAgent to be sent with request + + + + + Timeout in milliseconds to be used for the request + + + + + The number of milliseconds before the writing or reading times out. + + + + + System.Net.ICredentials to be sent with request + + + + + The System.Net.CookieContainer to be used for the request + + + + + The method to use to write the response instead of reading into RawBytes + + + + + Collection of files to be sent with request + + + + + Whether or not HTTP 3xx response redirects should be automatically followed + + + + + X509CertificateCollection to be sent with request + + + + + Maximum number of automatic redirects to follow if FollowRedirects is true + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. + + + + + HTTP headers to be sent with request + + + + + HTTP parameters (QueryString or Form values) to be sent with request + + + + + HTTP cookies to be sent with request + + + + + Request body to be sent with request + + + + + Content type of the request body. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + URL to call for this request + + + + + Flag to send authorisation header with the HttpWebRequest + + + + + Proxy info to be sent with request + + + + + Caching policy for requests created with this wrapper. + + + + + Representation of an HTTP cookie + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Container for HTTP file + + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + Representation of an HTTP header + + + + + Name of the header + + + + + Value of the header + + + + + Representation of an HTTP parameter (QueryString or Form value) + + + + + Name of the parameter + + + + + Value of the parameter + + + + + Content-Type of the parameter + + + + + HTTP response data + + + + + HTTP response data + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Default constructor + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + Lazy-loaded string representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + X509CertificateCollection to be sent with request + + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container for data sent back from API + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exceptions thrown during the request, if any. + + Will contain only network transport or framework exceptions thrown during the request. + HTTP protocol errors are handled by RestSharp and will not appear here. + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Parameter container for REST requests + + + + + Return a human-readable representation of this parameter + + String + + + + Name of the parameter + + + + + Value of the parameter + + + + + Type of the parameter + + + + + MIME content type of the parameter + + + + + Client to translate RestRequests into Http requests and process response result + + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Default constructor that registers default content handlers + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Registers a content handler to process response content + + MIME content type of the response content + Deserializer to use to process content + + + + Remove a content handler for the specified MIME content type + + MIME content type to remove + + + + Remove all content handlers + + + + + Retrieve the handler for the specified MIME content type + + MIME content type to retrieve + IDeserializer instance + + + + Assembles URL to call based on parameters, method and resource + + RestRequest to execute + Assembled System.Uri + + + + Executes the specified request and downloads the response data + + Request to execute + Response data + + + + Executes the request and returns a response, authenticating if needed + + Request to be executed + RestResponse + + + + Executes the specified request and deserializes the response content using the appropriate content handler + + Target deserialization type + Request to execute + RestResponse[[T]] with deserialized data in Data property + + + + Maximum number of redirects to follow if FollowRedirects is true + + + + + X509CertificateCollection to be sent with request + + + + + Proxy to use for requests made by this client instance. + Passed on to underlying WebRequest if set. + + + + + The cache policy to use for requests initiated by this client instance. + + + + + Default is true. Determine whether or not requests that result in + HTTP status codes of 3xx should follow returned redirect + + + + + The CookieContainer used for requests made by this client instance + + + + + UserAgent to use for requests made by this client instance + + + + + Timeout in milliseconds to use for requests made by this client instance + + + + + The number of milliseconds before the writing or reading times out. + + + + + Whether to invoke async callbacks using the SynchronizationContext.Current captured when invoked + + + + + Authenticator to use for requests made by this client instance + + + + + Combined with Request.Resource to construct URL for request + Should include scheme and domain without trailing slash. + + + client.BaseUrl = new Uri("http://example.com"); + + + + + Parameters included with every request made with this instance of RestClient + If specified in both client and request, the request wins + + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Request to be executed + Callback function to be executed upon completion + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Target deserialization type + Request to be executed + Callback function to be executed upon completion providing access to the async handle + + + + Add a parameter to use on every request made with this client instance + + The IRestClient instance + Parameter to add + + + + + Removes a parameter from the default parameters that are used on every request made with this client instance + + The IRestClient instance + The name of the parameter that needs to be removed + + + + + Adds a HTTP parameter (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + Used on every request made by this client instance + + The IRestClient instance + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + The IRestClient instance + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Shortcut to AddDefaultParameter(name, value, HttpHeader) overload + + The IRestClient instance + Name of the header to add + Value of the header to add + + + + + Shortcut to AddDefaultParameter(name, value, UrlSegment) overload + + The IRestClient instance + Name of the segment to add + Value of the segment to add + + + + + Container for data used to make requests + + + + + Default constructor + + + + + Sets Method property to value of method + + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Internal Method so that RestClient can increase the number of attempts + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + A function to run prior to deserializing starting (e.g. change settings if error encountered) + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Gets or sets a user-defined state object that contains information about a request and which can be later + retrieved when the request completes. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Base class for common properties shared by RestResponse and RestResponse[[T]] + + + + + Default constructor + + + + + Assists with debugging responses by displaying in the debugger output + + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + The exception thrown during the request, if any + + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Container for data sent back from API + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Encoding for serialized content + + + + + Need to subclass StringWriter in order to override Encoding + + + + + Default JSON serializer for request bodies + Doesn't currently use the SerializeAs attribute, defers to Newtonsoft's attributes + + + + + Default serializer + + + + + Serialize the object as JSON + + Object to serialize + JSON as String + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Content type for serialized content + + + + + Allows control how class and property names and values are serialized by XmlSerializer + Currently not supported with the JsonSerializer + When specified at the property level the class-level specification is overridden + + + + + Called by the attribute when NameStyle is speficied + + The string to transform + String + + + + The name to use for the serialized element + + + + + Sets the value to be serialized as an Attribute instead of an Element + + + + + The culture to use when serializing + + + + + Transforms the casing of the name based on the selected value. + + + + + The order to serialize the element. Default is int.MaxValue. + + + + + Options for transforming casing of element names + + + + + Default XML Serializer + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Helper methods for validating required values + + + + + Require a parameter to not be null + + Name of the parameter + Value of the parameter + + + + Represents the json array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The capacity of the json array. + + + + The json representation of the array. + + The json representation of the array. + + + + Represents the json object. + + + + + The internal member dictionary. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The implementation to use when comparing keys, or null to use the default for the type of the key. + + + + Adds the specified key. + + The key. + The value. + + + + Determines whether the specified key contains key. + + The key. + + true if the specified key contains key; otherwise, false. + + + + + Removes the specified key. + + The key. + + + + + Tries the get value. + + The key. + The value. + + + + + Adds the specified item. + + The item. + + + + Clears this instance. + + + + + Determines whether [contains] [the specified item]. + + The item. + + true if [contains] [the specified item]; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the specified item. + + The item. + + + + + Gets the enumerator. + + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a json that represents the current . + + + A json that represents the current . + + + + + Provides implementation for type conversion operations. Classes derived from the class can override this method to specify dynamic behavior for operations that convert an object from one type to another. + + Provides information about the conversion operation. The binder.Type property provides the type to which the object must be converted. For example, for the statement (String)sampleObject in C# (CType(sampleObject, Type) in Visual Basic), where sampleObject is an instance of the class derived from the class, binder.Type returns the type. The binder.Explicit property provides information about the kind of conversion that occurs. It returns true for explicit conversion and false for implicit conversion. + The result of the type conversion operation. + + Alwasy returns true. + + + + + Provides the implementation for operations that delete an object member. This method is not intended for use in C# or Visual Basic. + + Provides information about the deletion. + + Alwasy returns true. + + + + + Provides the implementation for operations that get a value by index. Classes derived from the class can override this method to specify dynamic behavior for indexing operations. + + Provides information about the operation. + The indexes that are used in the operation. For example, for the sampleObject[3] operation in C# (sampleObject(3) in Visual Basic), where sampleObject is derived from the DynamicObject class, is equal to 3. + The result of the index operation. + + Alwasy returns true. + + + + + Provides the implementation for operations that get member values. Classes derived from the class can override this method to specify dynamic behavior for operations such as getting a value for a property. + + Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member on which the dynamic operation is performed. For example, for the Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive. + The result of the get operation. For example, if the method is called for a property, you can assign the property value to . + + Alwasy returns true. + + + + + Provides the implementation for operations that set a value by index. Classes derived from the class can override this method to specify dynamic behavior for operations that access objects by a specified index. + + Provides information about the operation. + The indexes that are used in the operation. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the class, is equal to 3. + The value to set to the object that has the specified index. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the class, is equal to 10. + + true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown. + + + + + Provides the implementation for operations that set member values. Classes derived from the class can override this method to specify dynamic behavior for operations such as setting a value for a property. + + Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member to which the value is being assigned. For example, for the statement sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive. + The value to set to the member. For example, for sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the class, the is "Test". + + true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.) + + + + + Returns the enumeration of all dynamic member names. + + + A sequence that contains dynamic member names. + + + + + Gets the at the specified index. + + + + + + Gets the keys. + + The keys. + + + + Gets the values. + + The values. + + + + Gets or sets the with the specified key. + + + + + + Gets the count. + + The count. + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + This class encodes and decodes JSON strings. + Spec. details, see http://www.json.org/ + + JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList<object>) and JsonObject(IDictionary<string,object>). + All numbers are parsed to doubles. + + + + + Parses the string json into a value + + A JSON string. + An IList<object>, a IDictionary<string,object>, a double, a string, null, true, or false + + + + Try parsing the json string into a value. + + + A JSON string. + + + The object. + + + Returns true if successfull otherwise false. + + + + + Converts a IDictionary<string,object> / IList<object> object into a JSON string + + A IDictionary<string,object> / IList<object> + Serializer strategy to use + A JSON encoded string, or null if object 'json' is not serializable + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Helper methods for validating values + + + + + Validate an integer value is between the specified values (exclusive of min/max) + + Value to validate + Exclusive minimum value + Exclusive maximum value + + + + Validate a string length + + String to be validated + Maximum length of the string + + + diff --git a/packages/RestSharp.105.2.3/lib/net451/RestSharp.xml b/packages/RestSharp.105.2.3/lib/net451/RestSharp.xml new file mode 100644 index 0000000..16ca278 --- /dev/null +++ b/packages/RestSharp.105.2.3/lib/net451/RestSharp.xml @@ -0,0 +1,3095 @@ + + + + RestSharp + + + + + JSON WEB TOKEN (JWT) Authenticator class. + https://tools.ietf.org/html/draft-ietf-oauth-json-web-token + + + + + Tries to Authenticate with the credentials of the currently logged in user, or impersonate a user + + + + + Authenticate with the credentials of the currently logged in user + + + + + Authenticate by impersonation + + + + + + + Authenticate by impersonation, using an existing ICredentials instance + + + + + + + + + Base class for OAuth 2 Authenticators. + + + Since there are many ways to authenticate in OAuth2, + this is used as a base class to differentiate between + other authenticators. + + Any other OAuth2 authenticators must derive from this + abstract class. + + + + + Access token to be used when authenticating. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Gets the access token. + + + + + The OAuth 2 authenticator using URI query parameter. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.2 + + + + + Initializes a new instance of the class. + + + The access token. + + + + + The OAuth 2 authenticator using the authorization request header field. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.1 + + + + + Stores the Authorization header value as "[tokenType] accessToken". used for performance. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Initializes a new instance of the class. + + + The access token. + + + The token type. + + + + + All text parameters are UTF-8 encoded (per section 5.1). + + + + + + Generates a random 16-byte lowercase alphanumeric string. + + + + + + + Generates a timestamp based on the current elapsed seconds since '01/01/1970 0000 GMT" + + + + + + + Generates a timestamp based on the elapsed seconds of a given time since '01/01/1970 0000 GMT" + + + A specified point in time. + + + + + The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986. + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + The value to escape. + The escaped value. + + The method is supposed to take on + RFC 3986 behavior if certain elements are present in a .config file. Even if this + actually worked (which in my experiments it doesn't), we can't rely on every + host actually having this configuration element present. + + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + + + + + + Sorts a collection of key-value pairs by name, and then value if equal, + concatenating them into a single string. This string should be encoded + prior to, or after normalization is run. + + + + + + + + Sorts a by name, and then value if equal. + + A collection of parameters to sort + A sorted parameter collection + + + + Creates a request URL suitable for making OAuth requests. + Resulting URLs must exclude port 80 or port 443 when accompanied by HTTP and HTTPS, respectively. + Resulting URLs must be lower case. + + + The original request URL + + + + + Creates a request elements concatentation value to send with a request. + This is also known as the signature base. + + + + The request's HTTP method type + The request URL + The request's parameters + A signature base string + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The signature base + The consumer secret + The token secret + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer secret + The token secret + + + + + A class to encapsulate OAuth authentication flow. + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + Any existing, non-OAuth query parameters desired in the request + + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + Generates a instance to pass to an + for the purpose of exchanging user credentials + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + + + + + + + + + + Allows control how class and property names and values are deserialized by XmlAttributeDeserializer + + + + + The name to use for the serialized element + + + + + Sets if the property to Deserialize is an Attribute or Element (Default: false) + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Types of parameters that can be added to requests + + + + + Data formats + + + + + HTTP method to use when making requests + + + + + Format strings for commonly-used date formats + + + + + .NET format string for ISO 8601 date format + + + + + .NET format string for roundtrip date format + + + + + Status for responses (surprised?) + + + + + Extension method overload! + + + + + Save a byte array to a file + + Bytes to save + Full path to save file to + + + + Read a stream into a byte array + + Stream to read + byte[] + + + + Copies bytes from one stream to another + + The input stream. + The output stream. + + + + Converts a byte array to a string, using its byte order mark to convert it to the right encoding. + http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx + + An array of bytes to convert + The byte as a string. + + + + Decodes an HTML-encoded string and returns the decoded string. + + The HTML string to decode. + The decoded text. + + + + Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream. + + The HTML string to decode + The TextWriter output stream containing the decoded string. + + + + HTML-encodes a string and sends the resulting output to a TextWriter output stream. + + The string to encode. + The TextWriter output stream containing the encoded string. + + + + Reflection extensions + + + + + Retrieve an attribute from a member (property) + + Type of attribute to retrieve + Member to retrieve attribute from + + + + + Retrieve an attribute from a type + + Type of attribute to retrieve + Type to retrieve attribute from + + + + + Checks a type to see if it derives from a raw generic (e.g. List[[]]) + + + + + + + + Find a value from a System.Enum by trying several possible variants + of the string value of the enum. + + Type of enum + Value for which to search + The culture used to calculate the name variants + + + + + Convert a to a instance. + + The response status. + + responseStatus + + + + Uses Uri.EscapeDataString() based on recommendations on MSDN + http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx + + + + + Check that a string is not null or empty + + String to check + bool + + + + Remove underscores from a string + + String to process + string + + + + Parses most common JSON date formats + + JSON value to parse + + DateTime + + + + Remove leading and trailing " from a string + + String to parse + String + + + + Checks a string to see if it matches a regex + + String to check + Pattern to match + bool + + + + Converts a string to pascal case + + String to convert + + string + + + + Converts a string to pascal case with the option to remove underscores + + String to convert + Option to remove underscores + + + + + + Converts a string to camel case + + String to convert + + String + + + + Convert the first letter of a string to lower case + + String to convert + string + + + + Checks to see if a string is all uppper case + + String to check + bool + + + + Add underscores to a pascal-cased string + + String to convert + string + + + + Add dashes to a pascal-cased string + + String to convert + string + + + + Add an undescore prefix to a pascasl-cased string + + + + + + + Add spaces to a pascal-cased string + + String to convert + string + + + + Return possible variants of a name for name matching. + + String to convert + The culture to use for conversion + IEnumerable<string> + + + + XML Extension Methods + + + + + Returns the name of an element with the namespace if specified + + Element name + XML Namespace + + + + + Container for files to be uploaded with requests + + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The content type to use in the request. + The + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The using the default content type. + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + HttpWebRequest wrapper (async methods) + + + HttpWebRequest wrapper + + + HttpWebRequest wrapper (sync methods) + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + Execute an async POST-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Execute an async GET-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Creates an IHttp + + + + + + Default constructor + + + + + Execute a POST request + + + + + Execute a PUT request + + + + + Execute a GET request + + + + + Execute a HEAD request + + + + + Execute an OPTIONS request + + + + + Execute a DELETE request + + + + + Execute a PATCH request + + + + + Execute a MERGE request + + + + + Execute a GET-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + Execute a POST-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + True if this HTTP request has any HTTP parameters + + + + + True if this HTTP request has any HTTP cookies + + + + + True if a request body has been specified + + + + + True if files have been set to be uploaded + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + UserAgent to be sent with request + + + + + Timeout in milliseconds to be used for the request + + + + + The number of milliseconds before the writing or reading times out. + + + + + System.Net.ICredentials to be sent with request + + + + + The System.Net.CookieContainer to be used for the request + + + + + The method to use to write the response instead of reading into RawBytes + + + + + Collection of files to be sent with request + + + + + Whether or not HTTP 3xx response redirects should be automatically followed + + + + + X509CertificateCollection to be sent with request + + + + + Maximum number of automatic redirects to follow if FollowRedirects is true + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. + + + + + HTTP headers to be sent with request + + + + + HTTP parameters (QueryString or Form values) to be sent with request + + + + + HTTP cookies to be sent with request + + + + + Request body to be sent with request + + + + + Content type of the request body. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + URL to call for this request + + + + + Flag to send authorisation header with the HttpWebRequest + + + + + Proxy info to be sent with request + + + + + Caching policy for requests created with this wrapper. + + + + + Representation of an HTTP cookie + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Container for HTTP file + + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + Representation of an HTTP header + + + + + Name of the header + + + + + Value of the header + + + + + Representation of an HTTP parameter (QueryString or Form value) + + + + + Name of the parameter + + + + + Value of the parameter + + + + + Content-Type of the parameter + + + + + HTTP response data + + + + + HTTP response data + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Default constructor + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + Lazy-loaded string representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + X509CertificateCollection to be sent with request + + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container for data sent back from API + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exceptions thrown during the request, if any. + + Will contain only network transport or framework exceptions thrown during the request. + HTTP protocol errors are handled by RestSharp and will not appear here. + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Parameter container for REST requests + + + + + Return a human-readable representation of this parameter + + String + + + + Name of the parameter + + + + + Value of the parameter + + + + + Type of the parameter + + + + + MIME content type of the parameter + + + + + Client to translate RestRequests into Http requests and process response result + + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Default constructor that registers default content handlers + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Registers a content handler to process response content + + MIME content type of the response content + Deserializer to use to process content + + + + Remove a content handler for the specified MIME content type + + MIME content type to remove + + + + Remove all content handlers + + + + + Retrieve the handler for the specified MIME content type + + MIME content type to retrieve + IDeserializer instance + + + + Assembles URL to call based on parameters, method and resource + + RestRequest to execute + Assembled System.Uri + + + + Executes the specified request and downloads the response data + + Request to execute + Response data + + + + Executes the request and returns a response, authenticating if needed + + Request to be executed + RestResponse + + + + Executes the specified request and deserializes the response content using the appropriate content handler + + Target deserialization type + Request to execute + RestResponse[[T]] with deserialized data in Data property + + + + Maximum number of redirects to follow if FollowRedirects is true + + + + + X509CertificateCollection to be sent with request + + + + + Proxy to use for requests made by this client instance. + Passed on to underlying WebRequest if set. + + + + + The cache policy to use for requests initiated by this client instance. + + + + + Default is true. Determine whether or not requests that result in + HTTP status codes of 3xx should follow returned redirect + + + + + The CookieContainer used for requests made by this client instance + + + + + UserAgent to use for requests made by this client instance + + + + + Timeout in milliseconds to use for requests made by this client instance + + + + + The number of milliseconds before the writing or reading times out. + + + + + Whether to invoke async callbacks using the SynchronizationContext.Current captured when invoked + + + + + Authenticator to use for requests made by this client instance + + + + + Combined with Request.Resource to construct URL for request + Should include scheme and domain without trailing slash. + + + client.BaseUrl = new Uri("http://example.com"); + + + + + Parameters included with every request made with this instance of RestClient + If specified in both client and request, the request wins + + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Request to be executed + Callback function to be executed upon completion + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Target deserialization type + Request to be executed + Callback function to be executed upon completion providing access to the async handle + + + + Add a parameter to use on every request made with this client instance + + The IRestClient instance + Parameter to add + + + + + Removes a parameter from the default parameters that are used on every request made with this client instance + + The IRestClient instance + The name of the parameter that needs to be removed + + + + + Adds a HTTP parameter (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + Used on every request made by this client instance + + The IRestClient instance + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + The IRestClient instance + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Shortcut to AddDefaultParameter(name, value, HttpHeader) overload + + The IRestClient instance + Name of the header to add + Value of the header to add + + + + + Shortcut to AddDefaultParameter(name, value, UrlSegment) overload + + The IRestClient instance + Name of the segment to add + Value of the segment to add + + + + + Container for data used to make requests + + + + + Default constructor + + + + + Sets Method property to value of method + + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Internal Method so that RestClient can increase the number of attempts + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + A function to run prior to deserializing starting (e.g. change settings if error encountered) + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Gets or sets a user-defined state object that contains information about a request and which can be later + retrieved when the request completes. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Base class for common properties shared by RestResponse and RestResponse[[T]] + + + + + Default constructor + + + + + Assists with debugging responses by displaying in the debugger output + + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + The exception thrown during the request, if any + + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Container for data sent back from API + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Encoding for serialized content + + + + + Need to subclass StringWriter in order to override Encoding + + + + + Default JSON serializer for request bodies + Doesn't currently use the SerializeAs attribute, defers to Newtonsoft's attributes + + + + + Default serializer + + + + + Serialize the object as JSON + + Object to serialize + JSON as String + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Content type for serialized content + + + + + Allows control how class and property names and values are serialized by XmlSerializer + Currently not supported with the JsonSerializer + When specified at the property level the class-level specification is overridden + + + + + Called by the attribute when NameStyle is speficied + + The string to transform + String + + + + The name to use for the serialized element + + + + + Sets the value to be serialized as an Attribute instead of an Element + + + + + The culture to use when serializing + + + + + Transforms the casing of the name based on the selected value. + + + + + The order to serialize the element. Default is int.MaxValue. + + + + + Options for transforming casing of element names + + + + + Default XML Serializer + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Helper methods for validating required values + + + + + Require a parameter to not be null + + Name of the parameter + Value of the parameter + + + + Represents the json array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The capacity of the json array. + + + + The json representation of the array. + + The json representation of the array. + + + + Represents the json object. + + + + + The internal member dictionary. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The implementation to use when comparing keys, or null to use the default for the type of the key. + + + + Adds the specified key. + + The key. + The value. + + + + Determines whether the specified key contains key. + + The key. + + true if the specified key contains key; otherwise, false. + + + + + Removes the specified key. + + The key. + + + + + Tries the get value. + + The key. + The value. + + + + + Adds the specified item. + + The item. + + + + Clears this instance. + + + + + Determines whether [contains] [the specified item]. + + The item. + + true if [contains] [the specified item]; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the specified item. + + The item. + + + + + Gets the enumerator. + + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a json that represents the current . + + + A json that represents the current . + + + + + Provides implementation for type conversion operations. Classes derived from the class can override this method to specify dynamic behavior for operations that convert an object from one type to another. + + Provides information about the conversion operation. The binder.Type property provides the type to which the object must be converted. For example, for the statement (String)sampleObject in C# (CType(sampleObject, Type) in Visual Basic), where sampleObject is an instance of the class derived from the class, binder.Type returns the type. The binder.Explicit property provides information about the kind of conversion that occurs. It returns true for explicit conversion and false for implicit conversion. + The result of the type conversion operation. + + Alwasy returns true. + + + + + Provides the implementation for operations that delete an object member. This method is not intended for use in C# or Visual Basic. + + Provides information about the deletion. + + Alwasy returns true. + + + + + Provides the implementation for operations that get a value by index. Classes derived from the class can override this method to specify dynamic behavior for indexing operations. + + Provides information about the operation. + The indexes that are used in the operation. For example, for the sampleObject[3] operation in C# (sampleObject(3) in Visual Basic), where sampleObject is derived from the DynamicObject class, is equal to 3. + The result of the index operation. + + Alwasy returns true. + + + + + Provides the implementation for operations that get member values. Classes derived from the class can override this method to specify dynamic behavior for operations such as getting a value for a property. + + Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member on which the dynamic operation is performed. For example, for the Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive. + The result of the get operation. For example, if the method is called for a property, you can assign the property value to . + + Alwasy returns true. + + + + + Provides the implementation for operations that set a value by index. Classes derived from the class can override this method to specify dynamic behavior for operations that access objects by a specified index. + + Provides information about the operation. + The indexes that are used in the operation. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the class, is equal to 3. + The value to set to the object that has the specified index. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the class, is equal to 10. + + true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown. + + + + + Provides the implementation for operations that set member values. Classes derived from the class can override this method to specify dynamic behavior for operations such as setting a value for a property. + + Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member to which the value is being assigned. For example, for the statement sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive. + The value to set to the member. For example, for sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the class, the is "Test". + + true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.) + + + + + Returns the enumeration of all dynamic member names. + + + A sequence that contains dynamic member names. + + + + + Gets the at the specified index. + + + + + + Gets the keys. + + The keys. + + + + Gets the values. + + The values. + + + + Gets or sets the with the specified key. + + + + + + Gets the count. + + The count. + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + This class encodes and decodes JSON strings. + Spec. details, see http://www.json.org/ + + JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList<object>) and JsonObject(IDictionary<string,object>). + All numbers are parsed to doubles. + + + + + Parses the string json into a value + + A JSON string. + An IList<object>, a IDictionary<string,object>, a double, a string, null, true, or false + + + + Try parsing the json string into a value. + + + A JSON string. + + + The object. + + + Returns true if successfull otherwise false. + + + + + Converts a IDictionary<string,object> / IList<object> object into a JSON string + + A IDictionary<string,object> / IList<object> + Serializer strategy to use + A JSON encoded string, or null if object 'json' is not serializable + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Helper methods for validating values + + + + + Validate an integer value is between the specified values (exclusive of min/max) + + Value to validate + Exclusive minimum value + Exclusive maximum value + + + + Validate a string length + + String to be validated + Maximum length of the string + + + diff --git a/packages/RestSharp.105.2.3/lib/net452/RestSharp.xml b/packages/RestSharp.105.2.3/lib/net452/RestSharp.xml new file mode 100644 index 0000000..16ca278 --- /dev/null +++ b/packages/RestSharp.105.2.3/lib/net452/RestSharp.xml @@ -0,0 +1,3095 @@ + + + + RestSharp + + + + + JSON WEB TOKEN (JWT) Authenticator class. + https://tools.ietf.org/html/draft-ietf-oauth-json-web-token + + + + + Tries to Authenticate with the credentials of the currently logged in user, or impersonate a user + + + + + Authenticate with the credentials of the currently logged in user + + + + + Authenticate by impersonation + + + + + + + Authenticate by impersonation, using an existing ICredentials instance + + + + + + + + + Base class for OAuth 2 Authenticators. + + + Since there are many ways to authenticate in OAuth2, + this is used as a base class to differentiate between + other authenticators. + + Any other OAuth2 authenticators must derive from this + abstract class. + + + + + Access token to be used when authenticating. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Gets the access token. + + + + + The OAuth 2 authenticator using URI query parameter. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.2 + + + + + Initializes a new instance of the class. + + + The access token. + + + + + The OAuth 2 authenticator using the authorization request header field. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.1 + + + + + Stores the Authorization header value as "[tokenType] accessToken". used for performance. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Initializes a new instance of the class. + + + The access token. + + + The token type. + + + + + All text parameters are UTF-8 encoded (per section 5.1). + + + + + + Generates a random 16-byte lowercase alphanumeric string. + + + + + + + Generates a timestamp based on the current elapsed seconds since '01/01/1970 0000 GMT" + + + + + + + Generates a timestamp based on the elapsed seconds of a given time since '01/01/1970 0000 GMT" + + + A specified point in time. + + + + + The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986. + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + The value to escape. + The escaped value. + + The method is supposed to take on + RFC 3986 behavior if certain elements are present in a .config file. Even if this + actually worked (which in my experiments it doesn't), we can't rely on every + host actually having this configuration element present. + + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + + + + + + Sorts a collection of key-value pairs by name, and then value if equal, + concatenating them into a single string. This string should be encoded + prior to, or after normalization is run. + + + + + + + + Sorts a by name, and then value if equal. + + A collection of parameters to sort + A sorted parameter collection + + + + Creates a request URL suitable for making OAuth requests. + Resulting URLs must exclude port 80 or port 443 when accompanied by HTTP and HTTPS, respectively. + Resulting URLs must be lower case. + + + The original request URL + + + + + Creates a request elements concatentation value to send with a request. + This is also known as the signature base. + + + + The request's HTTP method type + The request URL + The request's parameters + A signature base string + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The signature base + The consumer secret + The token secret + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer secret + The token secret + + + + + A class to encapsulate OAuth authentication flow. + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + Any existing, non-OAuth query parameters desired in the request + + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + Generates a instance to pass to an + for the purpose of exchanging user credentials + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + + + + + + + + + + Allows control how class and property names and values are deserialized by XmlAttributeDeserializer + + + + + The name to use for the serialized element + + + + + Sets if the property to Deserialize is an Attribute or Element (Default: false) + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Types of parameters that can be added to requests + + + + + Data formats + + + + + HTTP method to use when making requests + + + + + Format strings for commonly-used date formats + + + + + .NET format string for ISO 8601 date format + + + + + .NET format string for roundtrip date format + + + + + Status for responses (surprised?) + + + + + Extension method overload! + + + + + Save a byte array to a file + + Bytes to save + Full path to save file to + + + + Read a stream into a byte array + + Stream to read + byte[] + + + + Copies bytes from one stream to another + + The input stream. + The output stream. + + + + Converts a byte array to a string, using its byte order mark to convert it to the right encoding. + http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx + + An array of bytes to convert + The byte as a string. + + + + Decodes an HTML-encoded string and returns the decoded string. + + The HTML string to decode. + The decoded text. + + + + Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream. + + The HTML string to decode + The TextWriter output stream containing the decoded string. + + + + HTML-encodes a string and sends the resulting output to a TextWriter output stream. + + The string to encode. + The TextWriter output stream containing the encoded string. + + + + Reflection extensions + + + + + Retrieve an attribute from a member (property) + + Type of attribute to retrieve + Member to retrieve attribute from + + + + + Retrieve an attribute from a type + + Type of attribute to retrieve + Type to retrieve attribute from + + + + + Checks a type to see if it derives from a raw generic (e.g. List[[]]) + + + + + + + + Find a value from a System.Enum by trying several possible variants + of the string value of the enum. + + Type of enum + Value for which to search + The culture used to calculate the name variants + + + + + Convert a to a instance. + + The response status. + + responseStatus + + + + Uses Uri.EscapeDataString() based on recommendations on MSDN + http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx + + + + + Check that a string is not null or empty + + String to check + bool + + + + Remove underscores from a string + + String to process + string + + + + Parses most common JSON date formats + + JSON value to parse + + DateTime + + + + Remove leading and trailing " from a string + + String to parse + String + + + + Checks a string to see if it matches a regex + + String to check + Pattern to match + bool + + + + Converts a string to pascal case + + String to convert + + string + + + + Converts a string to pascal case with the option to remove underscores + + String to convert + Option to remove underscores + + + + + + Converts a string to camel case + + String to convert + + String + + + + Convert the first letter of a string to lower case + + String to convert + string + + + + Checks to see if a string is all uppper case + + String to check + bool + + + + Add underscores to a pascal-cased string + + String to convert + string + + + + Add dashes to a pascal-cased string + + String to convert + string + + + + Add an undescore prefix to a pascasl-cased string + + + + + + + Add spaces to a pascal-cased string + + String to convert + string + + + + Return possible variants of a name for name matching. + + String to convert + The culture to use for conversion + IEnumerable<string> + + + + XML Extension Methods + + + + + Returns the name of an element with the namespace if specified + + Element name + XML Namespace + + + + + Container for files to be uploaded with requests + + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The content type to use in the request. + The + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The using the default content type. + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + HttpWebRequest wrapper (async methods) + + + HttpWebRequest wrapper + + + HttpWebRequest wrapper (sync methods) + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + Execute an async POST-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Execute an async GET-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Creates an IHttp + + + + + + Default constructor + + + + + Execute a POST request + + + + + Execute a PUT request + + + + + Execute a GET request + + + + + Execute a HEAD request + + + + + Execute an OPTIONS request + + + + + Execute a DELETE request + + + + + Execute a PATCH request + + + + + Execute a MERGE request + + + + + Execute a GET-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + Execute a POST-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + True if this HTTP request has any HTTP parameters + + + + + True if this HTTP request has any HTTP cookies + + + + + True if a request body has been specified + + + + + True if files have been set to be uploaded + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + UserAgent to be sent with request + + + + + Timeout in milliseconds to be used for the request + + + + + The number of milliseconds before the writing or reading times out. + + + + + System.Net.ICredentials to be sent with request + + + + + The System.Net.CookieContainer to be used for the request + + + + + The method to use to write the response instead of reading into RawBytes + + + + + Collection of files to be sent with request + + + + + Whether or not HTTP 3xx response redirects should be automatically followed + + + + + X509CertificateCollection to be sent with request + + + + + Maximum number of automatic redirects to follow if FollowRedirects is true + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. + + + + + HTTP headers to be sent with request + + + + + HTTP parameters (QueryString or Form values) to be sent with request + + + + + HTTP cookies to be sent with request + + + + + Request body to be sent with request + + + + + Content type of the request body. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + URL to call for this request + + + + + Flag to send authorisation header with the HttpWebRequest + + + + + Proxy info to be sent with request + + + + + Caching policy for requests created with this wrapper. + + + + + Representation of an HTTP cookie + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Container for HTTP file + + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + Representation of an HTTP header + + + + + Name of the header + + + + + Value of the header + + + + + Representation of an HTTP parameter (QueryString or Form value) + + + + + Name of the parameter + + + + + Value of the parameter + + + + + Content-Type of the parameter + + + + + HTTP response data + + + + + HTTP response data + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Default constructor + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + Lazy-loaded string representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + X509CertificateCollection to be sent with request + + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container for data sent back from API + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exceptions thrown during the request, if any. + + Will contain only network transport or framework exceptions thrown during the request. + HTTP protocol errors are handled by RestSharp and will not appear here. + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Parameter container for REST requests + + + + + Return a human-readable representation of this parameter + + String + + + + Name of the parameter + + + + + Value of the parameter + + + + + Type of the parameter + + + + + MIME content type of the parameter + + + + + Client to translate RestRequests into Http requests and process response result + + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Default constructor that registers default content handlers + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Registers a content handler to process response content + + MIME content type of the response content + Deserializer to use to process content + + + + Remove a content handler for the specified MIME content type + + MIME content type to remove + + + + Remove all content handlers + + + + + Retrieve the handler for the specified MIME content type + + MIME content type to retrieve + IDeserializer instance + + + + Assembles URL to call based on parameters, method and resource + + RestRequest to execute + Assembled System.Uri + + + + Executes the specified request and downloads the response data + + Request to execute + Response data + + + + Executes the request and returns a response, authenticating if needed + + Request to be executed + RestResponse + + + + Executes the specified request and deserializes the response content using the appropriate content handler + + Target deserialization type + Request to execute + RestResponse[[T]] with deserialized data in Data property + + + + Maximum number of redirects to follow if FollowRedirects is true + + + + + X509CertificateCollection to be sent with request + + + + + Proxy to use for requests made by this client instance. + Passed on to underlying WebRequest if set. + + + + + The cache policy to use for requests initiated by this client instance. + + + + + Default is true. Determine whether or not requests that result in + HTTP status codes of 3xx should follow returned redirect + + + + + The CookieContainer used for requests made by this client instance + + + + + UserAgent to use for requests made by this client instance + + + + + Timeout in milliseconds to use for requests made by this client instance + + + + + The number of milliseconds before the writing or reading times out. + + + + + Whether to invoke async callbacks using the SynchronizationContext.Current captured when invoked + + + + + Authenticator to use for requests made by this client instance + + + + + Combined with Request.Resource to construct URL for request + Should include scheme and domain without trailing slash. + + + client.BaseUrl = new Uri("http://example.com"); + + + + + Parameters included with every request made with this instance of RestClient + If specified in both client and request, the request wins + + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Request to be executed + Callback function to be executed upon completion + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Target deserialization type + Request to be executed + Callback function to be executed upon completion providing access to the async handle + + + + Add a parameter to use on every request made with this client instance + + The IRestClient instance + Parameter to add + + + + + Removes a parameter from the default parameters that are used on every request made with this client instance + + The IRestClient instance + The name of the parameter that needs to be removed + + + + + Adds a HTTP parameter (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + Used on every request made by this client instance + + The IRestClient instance + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + The IRestClient instance + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Shortcut to AddDefaultParameter(name, value, HttpHeader) overload + + The IRestClient instance + Name of the header to add + Value of the header to add + + + + + Shortcut to AddDefaultParameter(name, value, UrlSegment) overload + + The IRestClient instance + Name of the segment to add + Value of the segment to add + + + + + Container for data used to make requests + + + + + Default constructor + + + + + Sets Method property to value of method + + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Internal Method so that RestClient can increase the number of attempts + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + A function to run prior to deserializing starting (e.g. change settings if error encountered) + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Gets or sets a user-defined state object that contains information about a request and which can be later + retrieved when the request completes. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Base class for common properties shared by RestResponse and RestResponse[[T]] + + + + + Default constructor + + + + + Assists with debugging responses by displaying in the debugger output + + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + The exception thrown during the request, if any + + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Container for data sent back from API + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Encoding for serialized content + + + + + Need to subclass StringWriter in order to override Encoding + + + + + Default JSON serializer for request bodies + Doesn't currently use the SerializeAs attribute, defers to Newtonsoft's attributes + + + + + Default serializer + + + + + Serialize the object as JSON + + Object to serialize + JSON as String + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Content type for serialized content + + + + + Allows control how class and property names and values are serialized by XmlSerializer + Currently not supported with the JsonSerializer + When specified at the property level the class-level specification is overridden + + + + + Called by the attribute when NameStyle is speficied + + The string to transform + String + + + + The name to use for the serialized element + + + + + Sets the value to be serialized as an Attribute instead of an Element + + + + + The culture to use when serializing + + + + + Transforms the casing of the name based on the selected value. + + + + + The order to serialize the element. Default is int.MaxValue. + + + + + Options for transforming casing of element names + + + + + Default XML Serializer + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Helper methods for validating required values + + + + + Require a parameter to not be null + + Name of the parameter + Value of the parameter + + + + Represents the json array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The capacity of the json array. + + + + The json representation of the array. + + The json representation of the array. + + + + Represents the json object. + + + + + The internal member dictionary. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The implementation to use when comparing keys, or null to use the default for the type of the key. + + + + Adds the specified key. + + The key. + The value. + + + + Determines whether the specified key contains key. + + The key. + + true if the specified key contains key; otherwise, false. + + + + + Removes the specified key. + + The key. + + + + + Tries the get value. + + The key. + The value. + + + + + Adds the specified item. + + The item. + + + + Clears this instance. + + + + + Determines whether [contains] [the specified item]. + + The item. + + true if [contains] [the specified item]; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the specified item. + + The item. + + + + + Gets the enumerator. + + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a json that represents the current . + + + A json that represents the current . + + + + + Provides implementation for type conversion operations. Classes derived from the class can override this method to specify dynamic behavior for operations that convert an object from one type to another. + + Provides information about the conversion operation. The binder.Type property provides the type to which the object must be converted. For example, for the statement (String)sampleObject in C# (CType(sampleObject, Type) in Visual Basic), where sampleObject is an instance of the class derived from the class, binder.Type returns the type. The binder.Explicit property provides information about the kind of conversion that occurs. It returns true for explicit conversion and false for implicit conversion. + The result of the type conversion operation. + + Alwasy returns true. + + + + + Provides the implementation for operations that delete an object member. This method is not intended for use in C# or Visual Basic. + + Provides information about the deletion. + + Alwasy returns true. + + + + + Provides the implementation for operations that get a value by index. Classes derived from the class can override this method to specify dynamic behavior for indexing operations. + + Provides information about the operation. + The indexes that are used in the operation. For example, for the sampleObject[3] operation in C# (sampleObject(3) in Visual Basic), where sampleObject is derived from the DynamicObject class, is equal to 3. + The result of the index operation. + + Alwasy returns true. + + + + + Provides the implementation for operations that get member values. Classes derived from the class can override this method to specify dynamic behavior for operations such as getting a value for a property. + + Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member on which the dynamic operation is performed. For example, for the Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive. + The result of the get operation. For example, if the method is called for a property, you can assign the property value to . + + Alwasy returns true. + + + + + Provides the implementation for operations that set a value by index. Classes derived from the class can override this method to specify dynamic behavior for operations that access objects by a specified index. + + Provides information about the operation. + The indexes that are used in the operation. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the class, is equal to 3. + The value to set to the object that has the specified index. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the class, is equal to 10. + + true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown. + + + + + Provides the implementation for operations that set member values. Classes derived from the class can override this method to specify dynamic behavior for operations such as setting a value for a property. + + Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member to which the value is being assigned. For example, for the statement sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive. + The value to set to the member. For example, for sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the class, the is "Test". + + true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.) + + + + + Returns the enumeration of all dynamic member names. + + + A sequence that contains dynamic member names. + + + + + Gets the at the specified index. + + + + + + Gets the keys. + + The keys. + + + + Gets the values. + + The values. + + + + Gets or sets the with the specified key. + + + + + + Gets the count. + + The count. + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + This class encodes and decodes JSON strings. + Spec. details, see http://www.json.org/ + + JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList<object>) and JsonObject(IDictionary<string,object>). + All numbers are parsed to doubles. + + + + + Parses the string json into a value + + A JSON string. + An IList<object>, a IDictionary<string,object>, a double, a string, null, true, or false + + + + Try parsing the json string into a value. + + + A JSON string. + + + The object. + + + Returns true if successfull otherwise false. + + + + + Converts a IDictionary<string,object> / IList<object> object into a JSON string + + A IDictionary<string,object> / IList<object> + Serializer strategy to use + A JSON encoded string, or null if object 'json' is not serializable + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Helper methods for validating values + + + + + Validate an integer value is between the specified values (exclusive of min/max) + + Value to validate + Exclusive minimum value + Exclusive maximum value + + + + Validate a string length + + String to be validated + Maximum length of the string + + + diff --git a/packages/RestSharp.105.2.3/lib/net46/RestSharp.xml b/packages/RestSharp.105.2.3/lib/net46/RestSharp.xml new file mode 100644 index 0000000..16ca278 --- /dev/null +++ b/packages/RestSharp.105.2.3/lib/net46/RestSharp.xml @@ -0,0 +1,3095 @@ + + + + RestSharp + + + + + JSON WEB TOKEN (JWT) Authenticator class. + https://tools.ietf.org/html/draft-ietf-oauth-json-web-token + + + + + Tries to Authenticate with the credentials of the currently logged in user, or impersonate a user + + + + + Authenticate with the credentials of the currently logged in user + + + + + Authenticate by impersonation + + + + + + + Authenticate by impersonation, using an existing ICredentials instance + + + + + + + + + Base class for OAuth 2 Authenticators. + + + Since there are many ways to authenticate in OAuth2, + this is used as a base class to differentiate between + other authenticators. + + Any other OAuth2 authenticators must derive from this + abstract class. + + + + + Access token to be used when authenticating. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Gets the access token. + + + + + The OAuth 2 authenticator using URI query parameter. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.2 + + + + + Initializes a new instance of the class. + + + The access token. + + + + + The OAuth 2 authenticator using the authorization request header field. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.1 + + + + + Stores the Authorization header value as "[tokenType] accessToken". used for performance. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Initializes a new instance of the class. + + + The access token. + + + The token type. + + + + + All text parameters are UTF-8 encoded (per section 5.1). + + + + + + Generates a random 16-byte lowercase alphanumeric string. + + + + + + + Generates a timestamp based on the current elapsed seconds since '01/01/1970 0000 GMT" + + + + + + + Generates a timestamp based on the elapsed seconds of a given time since '01/01/1970 0000 GMT" + + + A specified point in time. + + + + + The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986. + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + The value to escape. + The escaped value. + + The method is supposed to take on + RFC 3986 behavior if certain elements are present in a .config file. Even if this + actually worked (which in my experiments it doesn't), we can't rely on every + host actually having this configuration element present. + + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + + + + + + Sorts a collection of key-value pairs by name, and then value if equal, + concatenating them into a single string. This string should be encoded + prior to, or after normalization is run. + + + + + + + + Sorts a by name, and then value if equal. + + A collection of parameters to sort + A sorted parameter collection + + + + Creates a request URL suitable for making OAuth requests. + Resulting URLs must exclude port 80 or port 443 when accompanied by HTTP and HTTPS, respectively. + Resulting URLs must be lower case. + + + The original request URL + + + + + Creates a request elements concatentation value to send with a request. + This is also known as the signature base. + + + + The request's HTTP method type + The request URL + The request's parameters + A signature base string + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The signature base + The consumer secret + The token secret + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer secret + The token secret + + + + + A class to encapsulate OAuth authentication flow. + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + Any existing, non-OAuth query parameters desired in the request + + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + Generates a instance to pass to an + for the purpose of exchanging user credentials + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + + + + + + + + + + Allows control how class and property names and values are deserialized by XmlAttributeDeserializer + + + + + The name to use for the serialized element + + + + + Sets if the property to Deserialize is an Attribute or Element (Default: false) + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Types of parameters that can be added to requests + + + + + Data formats + + + + + HTTP method to use when making requests + + + + + Format strings for commonly-used date formats + + + + + .NET format string for ISO 8601 date format + + + + + .NET format string for roundtrip date format + + + + + Status for responses (surprised?) + + + + + Extension method overload! + + + + + Save a byte array to a file + + Bytes to save + Full path to save file to + + + + Read a stream into a byte array + + Stream to read + byte[] + + + + Copies bytes from one stream to another + + The input stream. + The output stream. + + + + Converts a byte array to a string, using its byte order mark to convert it to the right encoding. + http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx + + An array of bytes to convert + The byte as a string. + + + + Decodes an HTML-encoded string and returns the decoded string. + + The HTML string to decode. + The decoded text. + + + + Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream. + + The HTML string to decode + The TextWriter output stream containing the decoded string. + + + + HTML-encodes a string and sends the resulting output to a TextWriter output stream. + + The string to encode. + The TextWriter output stream containing the encoded string. + + + + Reflection extensions + + + + + Retrieve an attribute from a member (property) + + Type of attribute to retrieve + Member to retrieve attribute from + + + + + Retrieve an attribute from a type + + Type of attribute to retrieve + Type to retrieve attribute from + + + + + Checks a type to see if it derives from a raw generic (e.g. List[[]]) + + + + + + + + Find a value from a System.Enum by trying several possible variants + of the string value of the enum. + + Type of enum + Value for which to search + The culture used to calculate the name variants + + + + + Convert a to a instance. + + The response status. + + responseStatus + + + + Uses Uri.EscapeDataString() based on recommendations on MSDN + http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx + + + + + Check that a string is not null or empty + + String to check + bool + + + + Remove underscores from a string + + String to process + string + + + + Parses most common JSON date formats + + JSON value to parse + + DateTime + + + + Remove leading and trailing " from a string + + String to parse + String + + + + Checks a string to see if it matches a regex + + String to check + Pattern to match + bool + + + + Converts a string to pascal case + + String to convert + + string + + + + Converts a string to pascal case with the option to remove underscores + + String to convert + Option to remove underscores + + + + + + Converts a string to camel case + + String to convert + + String + + + + Convert the first letter of a string to lower case + + String to convert + string + + + + Checks to see if a string is all uppper case + + String to check + bool + + + + Add underscores to a pascal-cased string + + String to convert + string + + + + Add dashes to a pascal-cased string + + String to convert + string + + + + Add an undescore prefix to a pascasl-cased string + + + + + + + Add spaces to a pascal-cased string + + String to convert + string + + + + Return possible variants of a name for name matching. + + String to convert + The culture to use for conversion + IEnumerable<string> + + + + XML Extension Methods + + + + + Returns the name of an element with the namespace if specified + + Element name + XML Namespace + + + + + Container for files to be uploaded with requests + + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The content type to use in the request. + The + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The using the default content type. + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + HttpWebRequest wrapper (async methods) + + + HttpWebRequest wrapper + + + HttpWebRequest wrapper (sync methods) + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + Execute an async POST-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Execute an async GET-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Creates an IHttp + + + + + + Default constructor + + + + + Execute a POST request + + + + + Execute a PUT request + + + + + Execute a GET request + + + + + Execute a HEAD request + + + + + Execute an OPTIONS request + + + + + Execute a DELETE request + + + + + Execute a PATCH request + + + + + Execute a MERGE request + + + + + Execute a GET-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + Execute a POST-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + True if this HTTP request has any HTTP parameters + + + + + True if this HTTP request has any HTTP cookies + + + + + True if a request body has been specified + + + + + True if files have been set to be uploaded + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + UserAgent to be sent with request + + + + + Timeout in milliseconds to be used for the request + + + + + The number of milliseconds before the writing or reading times out. + + + + + System.Net.ICredentials to be sent with request + + + + + The System.Net.CookieContainer to be used for the request + + + + + The method to use to write the response instead of reading into RawBytes + + + + + Collection of files to be sent with request + + + + + Whether or not HTTP 3xx response redirects should be automatically followed + + + + + X509CertificateCollection to be sent with request + + + + + Maximum number of automatic redirects to follow if FollowRedirects is true + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. + + + + + HTTP headers to be sent with request + + + + + HTTP parameters (QueryString or Form values) to be sent with request + + + + + HTTP cookies to be sent with request + + + + + Request body to be sent with request + + + + + Content type of the request body. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + URL to call for this request + + + + + Flag to send authorisation header with the HttpWebRequest + + + + + Proxy info to be sent with request + + + + + Caching policy for requests created with this wrapper. + + + + + Representation of an HTTP cookie + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Container for HTTP file + + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + Representation of an HTTP header + + + + + Name of the header + + + + + Value of the header + + + + + Representation of an HTTP parameter (QueryString or Form value) + + + + + Name of the parameter + + + + + Value of the parameter + + + + + Content-Type of the parameter + + + + + HTTP response data + + + + + HTTP response data + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Default constructor + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + Lazy-loaded string representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + X509CertificateCollection to be sent with request + + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container for data sent back from API + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exceptions thrown during the request, if any. + + Will contain only network transport or framework exceptions thrown during the request. + HTTP protocol errors are handled by RestSharp and will not appear here. + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Parameter container for REST requests + + + + + Return a human-readable representation of this parameter + + String + + + + Name of the parameter + + + + + Value of the parameter + + + + + Type of the parameter + + + + + MIME content type of the parameter + + + + + Client to translate RestRequests into Http requests and process response result + + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Default constructor that registers default content handlers + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Registers a content handler to process response content + + MIME content type of the response content + Deserializer to use to process content + + + + Remove a content handler for the specified MIME content type + + MIME content type to remove + + + + Remove all content handlers + + + + + Retrieve the handler for the specified MIME content type + + MIME content type to retrieve + IDeserializer instance + + + + Assembles URL to call based on parameters, method and resource + + RestRequest to execute + Assembled System.Uri + + + + Executes the specified request and downloads the response data + + Request to execute + Response data + + + + Executes the request and returns a response, authenticating if needed + + Request to be executed + RestResponse + + + + Executes the specified request and deserializes the response content using the appropriate content handler + + Target deserialization type + Request to execute + RestResponse[[T]] with deserialized data in Data property + + + + Maximum number of redirects to follow if FollowRedirects is true + + + + + X509CertificateCollection to be sent with request + + + + + Proxy to use for requests made by this client instance. + Passed on to underlying WebRequest if set. + + + + + The cache policy to use for requests initiated by this client instance. + + + + + Default is true. Determine whether or not requests that result in + HTTP status codes of 3xx should follow returned redirect + + + + + The CookieContainer used for requests made by this client instance + + + + + UserAgent to use for requests made by this client instance + + + + + Timeout in milliseconds to use for requests made by this client instance + + + + + The number of milliseconds before the writing or reading times out. + + + + + Whether to invoke async callbacks using the SynchronizationContext.Current captured when invoked + + + + + Authenticator to use for requests made by this client instance + + + + + Combined with Request.Resource to construct URL for request + Should include scheme and domain without trailing slash. + + + client.BaseUrl = new Uri("http://example.com"); + + + + + Parameters included with every request made with this instance of RestClient + If specified in both client and request, the request wins + + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Request to be executed + Callback function to be executed upon completion + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Target deserialization type + Request to be executed + Callback function to be executed upon completion providing access to the async handle + + + + Add a parameter to use on every request made with this client instance + + The IRestClient instance + Parameter to add + + + + + Removes a parameter from the default parameters that are used on every request made with this client instance + + The IRestClient instance + The name of the parameter that needs to be removed + + + + + Adds a HTTP parameter (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + Used on every request made by this client instance + + The IRestClient instance + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + The IRestClient instance + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Shortcut to AddDefaultParameter(name, value, HttpHeader) overload + + The IRestClient instance + Name of the header to add + Value of the header to add + + + + + Shortcut to AddDefaultParameter(name, value, UrlSegment) overload + + The IRestClient instance + Name of the segment to add + Value of the segment to add + + + + + Container for data used to make requests + + + + + Default constructor + + + + + Sets Method property to value of method + + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Internal Method so that RestClient can increase the number of attempts + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + A function to run prior to deserializing starting (e.g. change settings if error encountered) + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Gets or sets a user-defined state object that contains information about a request and which can be later + retrieved when the request completes. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Base class for common properties shared by RestResponse and RestResponse[[T]] + + + + + Default constructor + + + + + Assists with debugging responses by displaying in the debugger output + + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + The exception thrown during the request, if any + + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Container for data sent back from API + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Encoding for serialized content + + + + + Need to subclass StringWriter in order to override Encoding + + + + + Default JSON serializer for request bodies + Doesn't currently use the SerializeAs attribute, defers to Newtonsoft's attributes + + + + + Default serializer + + + + + Serialize the object as JSON + + Object to serialize + JSON as String + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Content type for serialized content + + + + + Allows control how class and property names and values are serialized by XmlSerializer + Currently not supported with the JsonSerializer + When specified at the property level the class-level specification is overridden + + + + + Called by the attribute when NameStyle is speficied + + The string to transform + String + + + + The name to use for the serialized element + + + + + Sets the value to be serialized as an Attribute instead of an Element + + + + + The culture to use when serializing + + + + + Transforms the casing of the name based on the selected value. + + + + + The order to serialize the element. Default is int.MaxValue. + + + + + Options for transforming casing of element names + + + + + Default XML Serializer + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Helper methods for validating required values + + + + + Require a parameter to not be null + + Name of the parameter + Value of the parameter + + + + Represents the json array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The capacity of the json array. + + + + The json representation of the array. + + The json representation of the array. + + + + Represents the json object. + + + + + The internal member dictionary. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The implementation to use when comparing keys, or null to use the default for the type of the key. + + + + Adds the specified key. + + The key. + The value. + + + + Determines whether the specified key contains key. + + The key. + + true if the specified key contains key; otherwise, false. + + + + + Removes the specified key. + + The key. + + + + + Tries the get value. + + The key. + The value. + + + + + Adds the specified item. + + The item. + + + + Clears this instance. + + + + + Determines whether [contains] [the specified item]. + + The item. + + true if [contains] [the specified item]; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the specified item. + + The item. + + + + + Gets the enumerator. + + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a json that represents the current . + + + A json that represents the current . + + + + + Provides implementation for type conversion operations. Classes derived from the class can override this method to specify dynamic behavior for operations that convert an object from one type to another. + + Provides information about the conversion operation. The binder.Type property provides the type to which the object must be converted. For example, for the statement (String)sampleObject in C# (CType(sampleObject, Type) in Visual Basic), where sampleObject is an instance of the class derived from the class, binder.Type returns the type. The binder.Explicit property provides information about the kind of conversion that occurs. It returns true for explicit conversion and false for implicit conversion. + The result of the type conversion operation. + + Alwasy returns true. + + + + + Provides the implementation for operations that delete an object member. This method is not intended for use in C# or Visual Basic. + + Provides information about the deletion. + + Alwasy returns true. + + + + + Provides the implementation for operations that get a value by index. Classes derived from the class can override this method to specify dynamic behavior for indexing operations. + + Provides information about the operation. + The indexes that are used in the operation. For example, for the sampleObject[3] operation in C# (sampleObject(3) in Visual Basic), where sampleObject is derived from the DynamicObject class, is equal to 3. + The result of the index operation. + + Alwasy returns true. + + + + + Provides the implementation for operations that get member values. Classes derived from the class can override this method to specify dynamic behavior for operations such as getting a value for a property. + + Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member on which the dynamic operation is performed. For example, for the Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive. + The result of the get operation. For example, if the method is called for a property, you can assign the property value to . + + Alwasy returns true. + + + + + Provides the implementation for operations that set a value by index. Classes derived from the class can override this method to specify dynamic behavior for operations that access objects by a specified index. + + Provides information about the operation. + The indexes that are used in the operation. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the class, is equal to 3. + The value to set to the object that has the specified index. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the class, is equal to 10. + + true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown. + + + + + Provides the implementation for operations that set member values. Classes derived from the class can override this method to specify dynamic behavior for operations such as setting a value for a property. + + Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member to which the value is being assigned. For example, for the statement sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive. + The value to set to the member. For example, for sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the class, the is "Test". + + true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.) + + + + + Returns the enumeration of all dynamic member names. + + + A sequence that contains dynamic member names. + + + + + Gets the at the specified index. + + + + + + Gets the keys. + + The keys. + + + + Gets the values. + + The values. + + + + Gets or sets the with the specified key. + + + + + + Gets the count. + + The count. + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + This class encodes and decodes JSON strings. + Spec. details, see http://www.json.org/ + + JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList<object>) and JsonObject(IDictionary<string,object>). + All numbers are parsed to doubles. + + + + + Parses the string json into a value + + A JSON string. + An IList<object>, a IDictionary<string,object>, a double, a string, null, true, or false + + + + Try parsing the json string into a value. + + + A JSON string. + + + The object. + + + Returns true if successfull otherwise false. + + + + + Converts a IDictionary<string,object> / IList<object> object into a JSON string + + A IDictionary<string,object> / IList<object> + Serializer strategy to use + A JSON encoded string, or null if object 'json' is not serializable + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Helper methods for validating values + + + + + Validate an integer value is between the specified values (exclusive of min/max) + + Value to validate + Exclusive minimum value + Exclusive maximum value + + + + Validate a string length + + String to be validated + Maximum length of the string + + + diff --git a/packages/RestSharp.105.2.3/lib/sl5/RestSharp.xml b/packages/RestSharp.105.2.3/lib/sl5/RestSharp.xml new file mode 100644 index 0000000..0fdfe6c --- /dev/null +++ b/packages/RestSharp.105.2.3/lib/sl5/RestSharp.xml @@ -0,0 +1,2649 @@ + + + + RestSharp + + + + + JSON WEB TOKEN (JWT) Authenticator class. + https://tools.ietf.org/html/draft-ietf-oauth-json-web-token + + + + + + + + Base class for OAuth 2 Authenticators. + + + Since there are many ways to authenticate in OAuth2, + this is used as a base class to differentiate between + other authenticators. + + Any other OAuth2 authenticators must derive from this + abstract class. + + + + + Access token to be used when authenticating. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Gets the access token. + + + + + The OAuth 2 authenticator using URI query parameter. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.2 + + + + + Initializes a new instance of the class. + + + The access token. + + + + + The OAuth 2 authenticator using the authorization request header field. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.1 + + + + + Stores the Authorization header value as "[tokenType] accessToken". used for performance. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Initializes a new instance of the class. + + + The access token. + + + The token type. + + + + + All text parameters are UTF-8 encoded (per section 5.1). + + + + + + Generates a random 16-byte lowercase alphanumeric string. + + + + + + + Generates a timestamp based on the current elapsed seconds since '01/01/1970 0000 GMT" + + + + + + + Generates a timestamp based on the elapsed seconds of a given time since '01/01/1970 0000 GMT" + + + A specified point in time. + + + + + The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986. + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + The value to escape. + The escaped value. + + The method is supposed to take on + RFC 3986 behavior if certain elements are present in a .config file. Even if this + actually worked (which in my experiments it doesn't), we can't rely on every + host actually having this configuration element present. + + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + + + + + + Sorts a collection of key-value pairs by name, and then value if equal, + concatenating them into a single string. This string should be encoded + prior to, or after normalization is run. + + + + + + + + Sorts a by name, and then value if equal. + + A collection of parameters to sort + A sorted parameter collection + + + + Creates a request URL suitable for making OAuth requests. + Resulting URLs must exclude port 80 or port 443 when accompanied by HTTP and HTTPS, respectively. + Resulting URLs must be lower case. + + + The original request URL + + + + + Creates a request elements concatentation value to send with a request. + This is also known as the signature base. + + + + The request's HTTP method type + The request URL + The request's parameters + A signature base string + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The signature base + The consumer secret + The token secret + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer secret + The token secret + + + + + A class to encapsulate OAuth authentication flow. + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + Any existing, non-OAuth query parameters desired in the request + + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + Generates a instance to pass to an + for the purpose of exchanging user credentials + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + + + + + + + + + + Allows control how class and property names and values are deserialized by XmlAttributeDeserializer + + + + + The name to use for the serialized element + + + + + Sets if the property to Deserialize is an Attribute or Element (Default: false) + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Types of parameters that can be added to requests + + + + + Data formats + + + + + HTTP method to use when making requests + + + + + Format strings for commonly-used date formats + + + + + .NET format string for ISO 8601 date format + + + + + .NET format string for roundtrip date format + + + + + Status for responses (surprised?) + + + + + Extension method overload! + + + + + Save a byte array to a file + + Bytes to save + Full path to save file to + + + + Read a stream into a byte array + + Stream to read + byte[] + + + + Copies bytes from one stream to another + + The input stream. + The output stream. + + + + Converts a byte array to a string, using its byte order mark to convert it to the right encoding. + http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx + + An array of bytes to convert + The byte as a string. + + + + Reflection extensions + + + + + Retrieve an attribute from a member (property) + + Type of attribute to retrieve + Member to retrieve attribute from + + + + + Retrieve an attribute from a type + + Type of attribute to retrieve + Type to retrieve attribute from + + + + + Checks a type to see if it derives from a raw generic (e.g. List[[]]) + + + + + + + + Find a value from a System.Enum by trying several possible variants + of the string value of the enum. + + Type of enum + Value for which to search + The culture used to calculate the name variants + + + + + Convert a to a instance. + + The response status. + + responseStatus + + + + Uses Uri.EscapeDataString() based on recommendations on MSDN + http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx + + + + + Check that a string is not null or empty + + String to check + bool + + + + Remove underscores from a string + + String to process + string + + + + Parses most common JSON date formats + + JSON value to parse + + DateTime + + + + Remove leading and trailing " from a string + + String to parse + String + + + + Checks a string to see if it matches a regex + + String to check + Pattern to match + bool + + + + Converts a string to pascal case + + String to convert + + string + + + + Converts a string to pascal case with the option to remove underscores + + String to convert + Option to remove underscores + + + + + + Converts a string to camel case + + String to convert + + String + + + + Convert the first letter of a string to lower case + + String to convert + string + + + + Checks to see if a string is all uppper case + + String to check + bool + + + + Add underscores to a pascal-cased string + + String to convert + string + + + + Add dashes to a pascal-cased string + + String to convert + string + + + + Add an undescore prefix to a pascasl-cased string + + + + + + + Add spaces to a pascal-cased string + + String to convert + string + + + + Return possible variants of a name for name matching. + + String to convert + The culture to use for conversion + IEnumerable<string> + + + + XML Extension Methods + + + + + Returns the name of an element with the namespace if specified + + Element name + XML Namespace + + + + + Container for files to be uploaded with requests + + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The content type to use in the request. + The + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The using the default content type. + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + HttpWebRequest wrapper (async methods) + + + HttpWebRequest wrapper + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + Execute an async POST-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Execute an async GET-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Creates an IHttp + + + + + + Default constructor + + + + + True if this HTTP request has any HTTP parameters + + + + + True if this HTTP request has any HTTP cookies + + + + + True if a request body has been specified + + + + + True if files have been set to be uploaded + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + UserAgent to be sent with request + + + + + Timeout in milliseconds to be used for the request + + + + + The number of milliseconds before the writing or reading times out. + + + + + System.Net.ICredentials to be sent with request + + + + + The System.Net.CookieContainer to be used for the request + + + + + The method to use to write the response instead of reading into RawBytes + + + + + Collection of files to be sent with request + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. + + + + + HTTP headers to be sent with request + + + + + HTTP parameters (QueryString or Form values) to be sent with request + + + + + HTTP cookies to be sent with request + + + + + Request body to be sent with request + + + + + Content type of the request body. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + URL to call for this request + + + + + Flag to send authorisation header with the HttpWebRequest + + + + + Representation of an HTTP cookie + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Container for HTTP file + + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + Representation of an HTTP header + + + + + Name of the header + + + + + Value of the header + + + + + Representation of an HTTP parameter (QueryString or Form value) + + + + + Name of the parameter + + + + + Value of the parameter + + + + + Content-Type of the parameter + + + + + HTTP response data + + + + + HTTP response data + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Default constructor + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + Lazy-loaded string representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container for data sent back from API + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exceptions thrown during the request, if any. + + Will contain only network transport or framework exceptions thrown during the request. + HTTP protocol errors are handled by RestSharp and will not appear here. + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Parameter container for REST requests + + + + + Return a human-readable representation of this parameter + + String + + + + Name of the parameter + + + + + Value of the parameter + + + + + Type of the parameter + + + + + MIME content type of the parameter + + + + + Client to translate RestRequests into Http requests and process response result + + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Default constructor that registers default content handlers + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Registers a content handler to process response content + + MIME content type of the response content + Deserializer to use to process content + + + + Remove a content handler for the specified MIME content type + + MIME content type to remove + + + + Remove all content handlers + + + + + Retrieve the handler for the specified MIME content type + + MIME content type to retrieve + IDeserializer instance + + + + Assembles URL to call based on parameters, method and resource + + RestRequest to execute + Assembled System.Uri + + + + Maximum number of redirects to follow if FollowRedirects is true + + + + + Default is true. Determine whether or not requests that result in + HTTP status codes of 3xx should follow returned redirect + + + + + The CookieContainer used for requests made by this client instance + + + + + UserAgent to use for requests made by this client instance + + + + + Timeout in milliseconds to use for requests made by this client instance + + + + + The number of milliseconds before the writing or reading times out. + + + + + Whether to invoke async callbacks using the SynchronizationContext.Current captured when invoked + + + + + Authenticator to use for requests made by this client instance + + + + + Combined with Request.Resource to construct URL for request + Should include scheme and domain without trailing slash. + + + client.BaseUrl = new Uri("http://example.com"); + + + + + Parameters included with every request made with this instance of RestClient + If specified in both client and request, the request wins + + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Request to be executed + Callback function to be executed upon completion + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Target deserialization type + Request to be executed + Callback function to be executed upon completion providing access to the async handle + + + + Add a parameter to use on every request made with this client instance + + The IRestClient instance + Parameter to add + + + + + Removes a parameter from the default parameters that are used on every request made with this client instance + + The IRestClient instance + The name of the parameter that needs to be removed + + + + + Adds a HTTP parameter (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + Used on every request made by this client instance + + The IRestClient instance + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + The IRestClient instance + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Shortcut to AddDefaultParameter(name, value, HttpHeader) overload + + The IRestClient instance + Name of the header to add + Value of the header to add + + + + + Shortcut to AddDefaultParameter(name, value, UrlSegment) overload + + The IRestClient instance + Name of the segment to add + Value of the segment to add + + + + + Container for data used to make requests + + + + + Default constructor + + + + + Sets Method property to value of method + + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Internal Method so that RestClient can increase the number of attempts + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + A function to run prior to deserializing starting (e.g. change settings if error encountered) + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Gets or sets a user-defined state object that contains information about a request and which can be later + retrieved when the request completes. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Base class for common properties shared by RestResponse and RestResponse[[T]] + + + + + Default constructor + + + + + Assists with debugging responses by displaying in the debugger output + + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + The exception thrown during the request, if any + + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Container for data sent back from API + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Encoding for serialized content + + + + + Need to subclass StringWriter in order to override Encoding + + + + + Default JSON serializer for request bodies + Doesn't currently use the SerializeAs attribute, defers to Newtonsoft's attributes + + + + + Default serializer + + + + + Serialize the object as JSON + + Object to serialize + JSON as String + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Content type for serialized content + + + + + Allows control how class and property names and values are serialized by XmlSerializer + Currently not supported with the JsonSerializer + When specified at the property level the class-level specification is overridden + + + + + Called by the attribute when NameStyle is speficied + + The string to transform + String + + + + The name to use for the serialized element + + + + + Sets the value to be serialized as an Attribute instead of an Element + + + + + The culture to use when serializing + + + + + Transforms the casing of the name based on the selected value. + + + + + The order to serialize the element. Default is int.MaxValue. + + + + + Options for transforming casing of element names + + + + + Default XML Serializer + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Represents the json array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The capacity of the json array. + + + + The json representation of the array. + + The json representation of the array. + + + + Represents the json object. + + + + + The internal member dictionary. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The implementation to use when comparing keys, or null to use the default for the type of the key. + + + + Adds the specified key. + + The key. + The value. + + + + Determines whether the specified key contains key. + + The key. + + true if the specified key contains key; otherwise, false. + + + + + Removes the specified key. + + The key. + + + + + Tries the get value. + + The key. + The value. + + + + + Adds the specified item. + + The item. + + + + Clears this instance. + + + + + Determines whether [contains] [the specified item]. + + The item. + + true if [contains] [the specified item]; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the specified item. + + The item. + + + + + Gets the enumerator. + + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a json that represents the current . + + + A json that represents the current . + + + + + Gets the at the specified index. + + + + + + Gets the keys. + + The keys. + + + + Gets the values. + + The values. + + + + Gets or sets the with the specified key. + + + + + + Gets the count. + + The count. + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + This class encodes and decodes JSON strings. + Spec. details, see http://www.json.org/ + + JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList<object>) and JsonObject(IDictionary<string,object>). + All numbers are parsed to doubles. + + + + + Parses the string json into a value + + A JSON string. + An IList<object>, a IDictionary<string,object>, a double, a string, null, true, or false + + + + Try parsing the json string into a value. + + + A JSON string. + + + The object. + + + Returns true if successfull otherwise false. + + + + + Converts a IDictionary<string,object> / IList<object> object into a JSON string + + A IDictionary<string,object> / IList<object> + Serializer strategy to use + A JSON encoded string, or null if object 'json' is not serializable + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Helper methods for validating required values + + + + + Require a parameter to not be null + + Name of the parameter + Value of the parameter + + + + Helper methods for validating values + + + + + Validate an integer value is between the specified values (exclusive of min/max) + + Value to validate + Exclusive minimum value + Exclusive maximum value + + + + Validate a string length + + String to be validated + Maximum length of the string + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + diff --git a/packages/RestSharp.105.2.3/lib/windowsphone8/RestSharp.xml b/packages/RestSharp.105.2.3/lib/windowsphone8/RestSharp.xml new file mode 100644 index 0000000..83f9ce6 --- /dev/null +++ b/packages/RestSharp.105.2.3/lib/windowsphone8/RestSharp.xml @@ -0,0 +1,3866 @@ + + + + RestSharp + + + + + + + + Base class for OAuth 2 Authenticators. + + + Since there are many ways to authenticate in OAuth2, + this is used as a base class to differentiate between + other authenticators. + + Any other OAuth2 authenticators must derive from this + abstract class. + + + + + Access token to be used when authenticating. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Gets the access token. + + + + + The OAuth 2 authenticator using URI query parameter. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.2 + + + + + Initializes a new instance of the class. + + + The access token. + + + + + The OAuth 2 authenticator using the authorization request header field. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.1 + + + + + Stores the Authorization header value as "[tokenType] accessToken". used for performance. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Initializes a new instance of the class. + + + The access token. + + + The token type. + + + + + All text parameters are UTF-8 encoded (per section 5.1). + + + + + + Generates a random 16-byte lowercase alphanumeric string. + + + + + + + Generates a timestamp based on the current elapsed seconds since '01/01/1970 0000 GMT" + + + + + + + Generates a timestamp based on the elapsed seconds of a given time since '01/01/1970 0000 GMT" + + + A specified point in time. + + + + + The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986. + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + The value to escape. + The escaped value. + + The method is supposed to take on + RFC 3986 behavior if certain elements are present in a .config file. Even if this + actually worked (which in my experiments it doesn't), we can't rely on every + host actually having this configuration element present. + + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + + + + + + Sorts a collection of key-value pairs by name, and then value if equal, + concatenating them into a single string. This string should be encoded + prior to, or after normalization is run. + + + + + + + + Sorts a by name, and then value if equal. + + A collection of parameters to sort + A sorted parameter collection + + + + Creates a request URL suitable for making OAuth requests. + Resulting URLs must exclude port 80 or port 443 when accompanied by HTTP and HTTPS, respectively. + Resulting URLs must be lower case. + + + The original request URL + + + + + Creates a request elements concatentation value to send with a request. + This is also known as the signature base. + + + + The request's HTTP method type + The request URL + The request's parameters + A signature base string + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The signature base + The consumer secret + The token secret + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer secret + The token secret + + + + + A class to encapsulate OAuth authentication flow. + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + Any existing, non-OAuth query parameters desired in the request + + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + Generates a instance to pass to an + for the purpose of exchanging user credentials + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + + + + + + + + + + Calculates a 32bit Cyclic Redundancy Checksum (CRC) using the same polynomial + used by Zip. This type is used internally by DotNetZip; it is generally not used + directly by applications wishing to create, read, or manipulate zip archive + files. + + + + + Returns the CRC32 for the specified stream. + + The stream over which to calculate the CRC32 + the CRC32 calculation + + + + Returns the CRC32 for the specified stream, and writes the input into the + output stream. + + The stream over which to calculate the CRC32 + The stream into which to deflate the input + the CRC32 calculation + + + + Get the CRC32 for the given (word,byte) combo. This is a computation + defined by PKzip. + + The word to start with. + The byte to combine it with. + The CRC-ized result. + + + + Update the value for the running CRC32 using the given block of bytes. + This is useful when using the CRC32() class in a Stream. + + block of bytes to slurp + starting point in the block + how many bytes within the block to slurp + + + + indicates the total number of bytes read on the CRC stream. + This is used when writing the ZipDirEntry when compressing files. + + + + + Indicates the current CRC for all blocks slurped in. + + + + + A Stream that calculates a CRC32 (a checksum) on all bytes read, + or on all bytes written. + + + + + This class can be used to verify the CRC of a ZipEntry when + reading from a stream, or to calculate a CRC when writing to a + stream. The stream should be used to either read, or write, but + not both. If you intermix reads and writes, the results are not + defined. + + + + This class is intended primarily for use internally by the + DotNetZip library. + + + + + + The default constructor. + + + Instances returned from this constructor will leave the underlying stream + open upon Close(). + + The underlying stream + + + + The constructor allows the caller to specify how to handle the underlying + stream at close. + + The underlying stream + true to leave the underlying stream + open upon close of the CrcCalculatorStream.; false otherwise. + + + + A constructor allowing the specification of the length of the stream to read. + + + Instances returned from this constructor will leave the underlying stream open + upon Close(). + + The underlying stream + The length of the stream to slurp + + + + A constructor allowing the specification of the length of the stream to + read, as well as whether to keep the underlying stream open upon Close(). + + The underlying stream + The length of the stream to slurp + true to leave the underlying stream + open upon close of the CrcCalculatorStream.; false otherwise. + + + + Read from the stream + + the buffer to read + the offset at which to start + the number of bytes to read + the number of bytes actually read + + + + Write to the stream. + + the buffer from which to write + the offset at which to start writing + the number of bytes to write + + + + Flush the stream. + + + + + Not implemented. + + N/A + N/A + N/A + + + + Not implemented. + + N/A + + + + Closes the stream. + + + + + Gets the total number of bytes run through the CRC32 calculator. + + + + This is either the total number of bytes read, or the total number of bytes + written, depending on the direction of this stream. + + + + + Provides the current CRC for all blocks slurped in. + + + + + Indicates whether the underlying stream will be left open when the + CrcCalculatorStream is Closed. + + + + + Indicates whether the stream supports reading. + + + + + Indicates whether the stream supports seeking. + + + + + Indicates whether the stream supports writing. + + + + + Not implemented. + + + + + Not implemented. + + + + + Describes how to flush the current deflate operation. + + + The different FlushType values are useful when using a Deflate in a streaming application. + + + + No flush at all. + + + Closes the current block, but doesn't flush it to + the output. Used internally only in hypothetical + scenarios. This was supposed to be removed by Zlib, but it is + still in use in some edge cases. + + + + + Use this during compression to specify that all pending output should be + flushed to the output buffer and the output should be aligned on a byte + boundary. You might use this in a streaming communication scenario, so that + the decompressor can get all input data available so far. When using this + with a ZlibCodec, AvailableBytesIn will be zero after the call if + enough output space has been provided before the call. Flushing will + degrade compression and so it should be used only when necessary. + + + + + Use this during compression to specify that all output should be flushed, as + with FlushType.Sync, but also, the compression state should be reset + so that decompression can restart from this point if previous compressed + data has been damaged or if random access is desired. Using + FlushType.Full too often can significantly degrade the compression. + + + + Signals the end of the compression/decompression stream. + + + + A class for compressing and decompressing GZIP streams. + + + + + The GZipStream is a Decorator on a . It adds GZIP compression or decompression to any stream. + + + Like the Compression.GZipStream in the .NET Base + Class Library, the Ionic.Zlib.GZipStream can compress while writing, or decompress + while reading, but not vice versa. The compression method used is GZIP, which is + documented in IETF RFC 1952, + "GZIP file format specification version 4.3". + + A GZipStream can be used to decompress data (through Read()) or to compress + data (through Write()), but not both. + + If you wish to use the GZipStream to compress data, you must wrap it around a + write-able stream. As you call Write() on the GZipStream, the data will be + compressed into the GZIP format. If you want to decompress data, you must wrap the + GZipStream around a readable stream that contains an IETF RFC 1952-compliant stream. + The data will be decompressed as you call Read() on the GZipStream. + + Though the GZIP format allows data from multiple files to be concatenated + together, this stream handles only a single segment of GZIP format, typically + representing a single file. + + + This class is similar to and . + ZlibStream handles RFC1950-compliant streams. + handles RFC1951-compliant streams. This class handles RFC1952-compliant streams. + + + + + + + + + + Create a GZipStream using the specified CompressionMode and the specified CompressionLevel, + and explicitly specify whether the stream should be left open after Deflation or Inflation. + + + + This constructor allows the application to request that the captive stream remain open after + the deflation or inflation occurs. By default, after Close() is called on the stream, the + captive stream is also closed. In some cases this is not desired, for example if the stream + is a memory stream that will be re-read after compressed data has been written to it. Specify true for the + leaveOpen parameter to leave the stream open. + + + As noted in the class documentation, + the CompressionMode (Compress or Decompress) also establishes the "direction" of the stream. + A GZipStream with CompressionMode.Compress works only through Write(). A GZipStream with + CompressionMode.Decompress works only through Read(). + + + + This example shows how to use a DeflateStream to compress data. + + using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) + { + using (var raw = System.IO.File.Create(outputFile)) + { + using (Stream compressor = new GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression, true)) + { + byte[] buffer = new byte[WORKING_BUFFER_SIZE]; + int n; + while ((n= input.Read(buffer, 0, buffer.Length)) != 0) + { + compressor.Write(buffer, 0, n); + } + } + } + } + + + Dim outputFile As String = (fileToCompress & ".compressed") + Using input As Stream = File.OpenRead(fileToCompress) + Using raw As FileStream = File.Create(outputFile) + Using compressor As Stream = New GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression, True) + Dim buffer As Byte() = New Byte(4096) {} + Dim n As Integer = -1 + Do While (n <> 0) + If (n > 0) Then + compressor.Write(buffer, 0, n) + End If + n = input.Read(buffer, 0, buffer.Length) + Loop + End Using + End Using + End Using + + + The stream which will be read or written. + Indicates whether the GZipStream will compress or decompress. + true if the application would like the stream to remain open after inflation/deflation. + A tuning knob to trade speed for effectiveness. + + + + Dispose the stream. + + + This may or may not result in a Close() call on the captive stream. + See the ctor's with leaveOpen parameters for more information. + + + + + Flush the stream. + + + + + Read and decompress data from the source stream. + + + With a GZipStream, decompression is done through reading. + + + + byte[] working = new byte[WORKING_BUFFER_SIZE]; + using (System.IO.Stream input = System.IO.File.OpenRead(_CompressedFile)) + { + using (Stream decompressor= new Ionic.Zlib.GZipStream(input, CompressionMode.Decompress, true)) + { + using (var output = System.IO.File.Create(_DecompressedFile)) + { + int n; + while ((n= decompressor.Read(working, 0, working.Length)) !=0) + { + output.Write(working, 0, n); + } + } + } + } + + + The buffer into which the decompressed data should be placed. + the offset within that data array to put the first byte read. + the number of bytes to read. + the number of bytes actually read + + + + Calling this method always throws a . + + irrelevant; it will always throw! + irrelevant; it will always throw! + irrelevant! + + + + Calling this method always throws a NotImplementedException. + + irrelevant; this method will always throw! + + + + The Comment on the GZIP stream. + + + + The GZIP format allows for each file to optionally have an associated comment stored with the + file. The comment is encoded with the ISO-8859-1 code page. To include a comment in + a GZIP stream you create, set this property before calling Write() for the first time + on the GZipStream. + + + + When using GZipStream to decompress, you can retrieve this property after the first + call to Read(). If no comment has been set in the GZIP bytestream, the Comment + property will return null (Nothing in VB). + + + + + + The FileName for the GZIP stream. + + + + The GZIP format optionally allows each file to have an associated filename. When + compressing data (through Write()), set this FileName before calling Write() the first + time on the GZipStream. The actual filename is encoded into the GZIP bytestream with + the ISO-8859-1 code page, according to RFC 1952. It is the application's responsibility to + insure that the FileName can be encoded and decoded correctly with this code page. + + + When decompressing (through Read()), you can retrieve this value any time after the + first Read(). In the case where there was no filename encoded into the GZIP + bytestream, the property will return null (Nothing in VB). + + + + + + The CRC on the GZIP stream. + + + This is used for internal error checking. You probably don't need to look at this property. + + + + + This property sets the flush behavior on the stream. + + + + + The size of the working buffer for the compression codec. + + + + + The working buffer is used for all stream operations. The default size is 1024 bytes. + The minimum size is 128 bytes. You may get better performance with a larger buffer. + Then again, you might not. You would have to test it. + + + + Set this before the first call to Read() or Write() on the stream. If you try to set it + afterwards, it will throw. + + + + + Returns the total number of bytes input so far. + + + Returns the total number of bytes output so far. + + + + Indicates whether the stream can be read. + + + The return value depends on whether the captive stream supports reading. + + + + + Indicates whether the stream supports Seek operations. + + + Always returns false. + + + + + Indicates whether the stream can be written. + + + The return value depends on whether the captive stream supports writing. + + + + + Reading this property always throws a NotImplementedException. + + + + + The position of the stream pointer. + + + Writing this property always throws a NotImplementedException. Reading will + return the total bytes written out, if used in writing, or the total bytes + read in, if used in reading. The count may refer to compressed bytes or + uncompressed bytes, depending on how you've used the stream. + + + + + A general purpose exception class for exceptions in the Zlib library. + + + + + The ZlibException class captures exception information generated + by the Zlib library. + + + + + This ctor collects a message attached to the exception. + + + + + + Performs an unsigned bitwise right shift with the specified number + + Number to operate on + Ammount of bits to shift + The resulting number from the shift operation + + + + Performs an unsigned bitwise right shift with the specified number + + Number to operate on + Ammount of bits to shift + The resulting number from the shift operation + + + Reads a number of characters from the current source TextReader and writes the data to the target array at the specified index. + The source TextReader to read from + Contains the array of characteres read from the source TextReader. + The starting index of the target array. + The maximum number of characters to read from the source TextReader. + The number of characters read. The number will be less than or equal to count depending on the data available in the source TextReader. Returns -1 if the end of the stream is reached. + + + + Computes an Adler-32 checksum. + + + The Adler checksum is similar to a CRC checksum, but faster to compute, though less + reliable. It is used in producing RFC1950 compressed streams. The Adler checksum + is a required part of the "ZLIB" standard. Applications will almost never need to + use this class directly. + + + + + Encoder and Decoder for ZLIB and DEFLATE (IETF RFC1950 and RFC1951). + + + + This class compresses and decompresses data according to the Deflate algorithm + and optionally, the ZLIB format, as documented in RFC 1950 - ZLIB and RFC 1951 - DEFLATE. + + + + + The buffer from which data is taken. + + + + + An index into the InputBuffer array, indicating where to start reading. + + + + + The number of bytes available in the InputBuffer, starting at NextIn. + + + Generally you should set this to InputBuffer.Length before the first Inflate() or Deflate() call. + The class will update this number as calls to Inflate/Deflate are made. + + + + + Total number of bytes read so far, through all calls to Inflate()/Deflate(). + + + + + Buffer to store output data. + + + + + An index into the OutputBuffer array, indicating where to start writing. + + + + + The number of bytes available in the OutputBuffer, starting at NextOut. + + + Generally you should set this to OutputBuffer.Length before the first Inflate() or Deflate() call. + The class will update this number as calls to Inflate/Deflate are made. + + + + + Total number of bytes written to the output so far, through all calls to Inflate()/Deflate(). + + + + + used for diagnostics, when something goes wrong! + + + + + The number of Window Bits to use. + + + This gauges the size of the sliding window, and hence the + compression effectiveness as well as memory consumption. It's best to just leave this + setting alone if you don't know what it is. The maximum value is 15 bits, which implies + a 32k window. + + + + + Create a ZlibCodec that decompresses. + + + + + Initialize the inflation state. + + + It is not necessary to call this before using the ZlibCodec to inflate data; + It is implicitly called when you call the constructor. + + Z_OK if everything goes well. + + + + Initialize the inflation state with an explicit flag to + govern the handling of RFC1950 header bytes. + + + + By default, the ZLIB header defined in RFC 1950 is expected. If + you want to read a zlib stream you should specify true for + expectRfc1950Header. If you have a deflate stream, you will want to specify + false. It is only necessary to invoke this initializer explicitly if you + want to specify false. + + + whether to expect an RFC1950 header byte + pair when reading the stream of data to be inflated. + + Z_OK if everything goes well. + + + + Initialize the ZlibCodec for inflation, with the specified number of window bits. + + The number of window bits to use. If you need to ask what that is, + then you shouldn't be calling this initializer. + Z_OK if all goes well. + + + + Initialize the inflation state with an explicit flag to govern the handling of + RFC1950 header bytes. + + + + If you want to read a zlib stream you should specify true for + expectRfc1950Header. In this case, the library will expect to find a ZLIB + header, as defined in RFC + 1950, in the compressed stream. If you will be reading a DEFLATE or + GZIP stream, which does not have such a header, you will want to specify + false. + + + whether to expect an RFC1950 header byte pair when reading + the stream of data to be inflated. + The number of window bits to use. If you need to ask what that is, + then you shouldn't be calling this initializer. + Z_OK if everything goes well. + + + + Inflate the data in the InputBuffer, placing the result in the OutputBuffer. + + + You must have set InputBuffer and OutputBuffer, NextIn and NextOut, and AvailableBytesIn and + AvailableBytesOut before calling this method. + + + + private void InflateBuffer() + { + int bufferSize = 1024; + byte[] buffer = new byte[bufferSize]; + ZlibCodec decompressor = new ZlibCodec(); + + Console.WriteLine("\n============================================"); + Console.WriteLine("Size of Buffer to Inflate: {0} bytes.", CompressedBytes.Length); + MemoryStream ms = new MemoryStream(DecompressedBytes); + + int rc = decompressor.InitializeInflate(); + + decompressor.InputBuffer = CompressedBytes; + decompressor.NextIn = 0; + decompressor.AvailableBytesIn = CompressedBytes.Length; + + decompressor.OutputBuffer = buffer; + + // pass 1: inflate + do + { + decompressor.NextOut = 0; + decompressor.AvailableBytesOut = buffer.Length; + rc = decompressor.Inflate(ZlibConstants.Z_NO_FLUSH); + + if (rc != ZlibConstants.Z_OK && rc != ZlibConstants.Z_STREAM_END) + throw new Exception("inflating: " + decompressor.Message); + + ms.Write(decompressor.OutputBuffer, 0, buffer.Length - decompressor.AvailableBytesOut); + } + while (decompressor.AvailableBytesIn > 0 || decompressor.AvailableBytesOut == 0); + + // pass 2: finish and flush + do + { + decompressor.NextOut = 0; + decompressor.AvailableBytesOut = buffer.Length; + rc = decompressor.Inflate(ZlibConstants.Z_FINISH); + + if (rc != ZlibConstants.Z_STREAM_END && rc != ZlibConstants.Z_OK) + throw new Exception("inflating: " + decompressor.Message); + + if (buffer.Length - decompressor.AvailableBytesOut > 0) + ms.Write(buffer, 0, buffer.Length - decompressor.AvailableBytesOut); + } + while (decompressor.AvailableBytesIn > 0 || decompressor.AvailableBytesOut == 0); + + decompressor.EndInflate(); + } + + + + The flush to use when inflating. + Z_OK if everything goes well. + + + + Ends an inflation session. + + + Call this after successively calling Inflate(). This will cause all buffers to be flushed. + After calling this you cannot call Inflate() without a intervening call to one of the + InitializeInflate() overloads. + + Z_OK if everything goes well. + + + + I don't know what this does! + + Z_OK if everything goes well. + + + + Set the dictionary to be used for either Inflation or Deflation. + + The dictionary bytes to use. + Z_OK if all goes well. + + + + The Adler32 checksum on the data transferred through the codec so far. You probably don't need to look at this. + + + + + A bunch of constants used in the Zlib interface. + + + + + The maximum number of window bits for the Deflate algorithm. + + + + + The default number of window bits for the Deflate algorithm. + + + + + indicates everything is A-OK + + + + + Indicates that the last operation reached the end of the stream. + + + + + The operation ended in need of a dictionary. + + + + + There was an error with the stream - not enough data, not open and readable, etc. + + + + + There was an error with the data - not enough data, bad data, etc. + + + + + There was an error with the working buffer. + + + + + The size of the working buffer used in the ZlibCodec class. Defaults to 8192 bytes. + + + + + The minimum size of the working buffer used in the ZlibCodec class. Currently it is 128 bytes. + + + + + Represents a Zlib stream for compression or decompression. + + + + + The ZlibStream is a Decorator on a . It adds ZLIB compression or decompression to any + stream. + + + Using this stream, applications can compress or decompress data via + stream Read and Write operations. Either compresssion or + decompression can occur through either reading or writing. The compression + format used is ZLIB, which is documented in IETF RFC 1950, "ZLIB Compressed + Data Format Specification version 3.3". This implementation of ZLIB always uses + DEFLATE as the compression method. (see IETF RFC 1951, "DEFLATE + Compressed Data Format Specification version 1.3.") + + + The ZLIB format allows for varying compression methods, window sizes, and dictionaries. + This implementation always uses the DEFLATE compression method, a preset dictionary, + and 15 window bits by default. + + + + This class is similar to , except that it adds the + RFC1950 header and trailer bytes to a compressed stream when compressing, or expects + the RFC1950 header and trailer bytes when decompressing. It is also similar to the + . + + + + + + + + Dispose the stream. + + + This may or may not result in a Close() call on the captive stream. + See the constructors that have a leaveOpen parameter for more information. + + + + + Flush the stream. + + + + + Read data from the stream. + + + + + + If you wish to use the ZlibStream to compress data while reading, you can create a + ZlibStream with CompressionMode.Compress, providing an uncompressed data stream. Then + call Read() on that ZlibStream, and the data read will be compressed. If you wish to + use the ZlibStream to decompress data while reading, you can create a ZlibStream with + CompressionMode.Decompress, providing a readable compressed data stream. Then call + Read() on that ZlibStream, and the data will be decompressed as it is read. + + + + A ZlibStream can be used for Read() or Write(), but not both. + + + The buffer into which the read data should be placed. + the offset within that data array to put the first byte read. + the number of bytes to read. + + + + Calling this method always throws a NotImplementedException. + + + + + Calling this method always throws a NotImplementedException. + + + + + Write data to the stream. + + + + + + If you wish to use the ZlibStream to compress data while writing, you can create a + ZlibStream with CompressionMode.Compress, and a writable output stream. Then call + Write() on that ZlibStream, providing uncompressed data as input. The data sent to + the output stream will be the compressed form of the data written. If you wish to use + the ZlibStream to decompress data while writing, you can create a ZlibStream with + CompressionMode.Decompress, and a writable output stream. Then call Write() on that + stream, providing previously compressed data. The data sent to the output stream will + be the decompressed form of the data written. + + + + A ZlibStream can be used for Read() or Write(), but not both. + + + The buffer holding data to write to the stream. + the offset within that data array to find the first byte to write. + the number of bytes to write. + + + + Uncompress a byte array into a single string. + + + + A buffer containing ZLIB-compressed data. + + + + + Uncompress a byte array into a byte array. + + + + + A buffer containing ZLIB-compressed data. + + + + + This property sets the flush behavior on the stream. + Sorry, though, not sure exactly how to describe all the various settings. + + + + + The size of the working buffer for the compression codec. + + + + + The working buffer is used for all stream operations. The default size is 1024 bytes. + The minimum size is 128 bytes. You may get better performance with a larger buffer. + Then again, you might not. You would have to test it. + + + + Set this before the first call to Read() or Write() on the stream. If you try to set it + afterwards, it will throw. + + + + + Returns the total number of bytes input so far. + + + Returns the total number of bytes output so far. + + + + Indicates whether the stream can be read. + + + The return value depends on whether the captive stream supports reading. + + + + + Indicates whether the stream supports Seek operations. + + + Always returns false. + + + + + Indicates whether the stream can be written. + + + The return value depends on whether the captive stream supports writing. + + + + + Reading this property always throws a NotImplementedException. + + + + + The position of the stream pointer. + + + Writing this property always throws a NotImplementedException. Reading will + return the total bytes written out, if used in writing, or the total bytes + read in, if used in reading. The count may refer to compressed bytes or + uncompressed bytes, depending on how you've used the stream. + + + + + Allows control how class and property names and values are deserialized by XmlAttributeDeserializer + + + + + The name to use for the serialized element + + + + + Sets if the property to Deserialize is an Attribute or Element (Default: false) + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Types of parameters that can be added to requests + + + + + Data formats + + + + + HTTP method to use when making requests + + + + + Format strings for commonly-used date formats + + + + + .NET format string for ISO 8601 date format + + + + + .NET format string for roundtrip date format + + + + + Status for responses (surprised?) + + + + + Extension method overload! + + + + + Read a stream into a byte array + + Stream to read + byte[] + + + + Copies bytes from one stream to another + + The input stream. + The output stream. + + + + Converts a byte array to a string, using its byte order mark to convert it to the right encoding. + http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx + + An array of bytes to convert + The byte as a string. + + + + Reflection extensions + + + + + Retrieve an attribute from a member (property) + + Type of attribute to retrieve + Member to retrieve attribute from + + + + + Retrieve an attribute from a type + + Type of attribute to retrieve + Type to retrieve attribute from + + + + + Checks a type to see if it derives from a raw generic (e.g. List[[]]) + + + + + + + + Find a value from a System.Enum by trying several possible variants + of the string value of the enum. + + Type of enum + Value for which to search + The culture used to calculate the name variants + + + + + Convert a to a instance. + + The response status. + + responseStatus + + + + Uses Uri.EscapeDataString() based on recommendations on MSDN + http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx + + + + + Check that a string is not null or empty + + String to check + bool + + + + Remove underscores from a string + + String to process + string + + + + Parses most common JSON date formats + + JSON value to parse + + DateTime + + + + Remove leading and trailing " from a string + + String to parse + String + + + + Checks a string to see if it matches a regex + + String to check + Pattern to match + bool + + + + Converts a string to pascal case + + String to convert + + string + + + + Converts a string to pascal case with the option to remove underscores + + String to convert + Option to remove underscores + + + + + + Converts a string to camel case + + String to convert + + String + + + + Convert the first letter of a string to lower case + + String to convert + string + + + + Checks to see if a string is all uppper case + + String to check + bool + + + + Add underscores to a pascal-cased string + + String to convert + string + + + + Add dashes to a pascal-cased string + + String to convert + string + + + + Add an undescore prefix to a pascasl-cased string + + + + + + + Add spaces to a pascal-cased string + + String to convert + string + + + + Return possible variants of a name for name matching. + + String to convert + The culture to use for conversion + IEnumerable<string> + + + + XML Extension Methods + + + + + Returns the name of an element with the namespace if specified + + Element name + XML Namespace + + + + + Container for files to be uploaded with requests + + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The content type to use in the request. + The + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The using the default content type. + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + HttpWebRequest wrapper (async methods) + + + HttpWebRequest wrapper + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + Execute an async POST-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Execute an async GET-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Creates an IHttp + + + + + + Default constructor + + + + + True if this HTTP request has any HTTP parameters + + + + + True if this HTTP request has any HTTP cookies + + + + + True if a request body has been specified + + + + + True if files have been set to be uploaded + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + UserAgent to be sent with request + + + + + Timeout in milliseconds to be used for the request + + + + + The number of milliseconds before the writing or reading times out. + + + + + System.Net.ICredentials to be sent with request + + + + + The System.Net.CookieContainer to be used for the request + + + + + The method to use to write the response instead of reading into RawBytes + + + + + Collection of files to be sent with request + + + + + Whether or not HTTP 3xx response redirects should be automatically followed + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. + + + + + HTTP headers to be sent with request + + + + + HTTP parameters (QueryString or Form values) to be sent with request + + + + + HTTP cookies to be sent with request + + + + + Request body to be sent with request + + + + + Content type of the request body. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + URL to call for this request + + + + + Flag to send authorisation header with the HttpWebRequest + + + + + Representation of an HTTP cookie + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Container for HTTP file + + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + Representation of an HTTP header + + + + + Name of the header + + + + + Value of the header + + + + + Representation of an HTTP parameter (QueryString or Form value) + + + + + Name of the parameter + + + + + Value of the parameter + + + + + Content-Type of the parameter + + + + + HTTP response data + + + + + HTTP response data + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Default constructor + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + Lazy-loaded string representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container for data sent back from API + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exceptions thrown during the request, if any. + + Will contain only network transport or framework exceptions thrown during the request. + HTTP protocol errors are handled by RestSharp and will not appear here. + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Parameter container for REST requests + + + + + Return a human-readable representation of this parameter + + String + + + + Name of the parameter + + + + + Value of the parameter + + + + + Type of the parameter + + + + + MIME content type of the parameter + + + + + Client to translate RestRequests into Http requests and process response result + + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Default constructor that registers default content handlers + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Registers a content handler to process response content + + MIME content type of the response content + Deserializer to use to process content + + + + Remove a content handler for the specified MIME content type + + MIME content type to remove + + + + Remove all content handlers + + + + + Retrieve the handler for the specified MIME content type + + MIME content type to retrieve + IDeserializer instance + + + + Assembles URL to call based on parameters, method and resource + + RestRequest to execute + Assembled System.Uri + + + + Maximum number of redirects to follow if FollowRedirects is true + + + + + Default is true. Determine whether or not requests that result in + HTTP status codes of 3xx should follow returned redirect + + + + + The CookieContainer used for requests made by this client instance + + + + + UserAgent to use for requests made by this client instance + + + + + Timeout in milliseconds to use for requests made by this client instance + + + + + The number of milliseconds before the writing or reading times out. + + + + + Whether to invoke async callbacks using the SynchronizationContext.Current captured when invoked + + + + + Authenticator to use for requests made by this client instance + + + + + Combined with Request.Resource to construct URL for request + Should include scheme and domain without trailing slash. + + + client.BaseUrl = new Uri("http://example.com"); + + + + + Parameters included with every request made with this instance of RestClient + If specified in both client and request, the request wins + + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Request to be executed + Callback function to be executed upon completion + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Target deserialization type + Request to be executed + Callback function to be executed upon completion providing access to the async handle + + + + Add a parameter to use on every request made with this client instance + + The IRestClient instance + Parameter to add + + + + + Removes a parameter from the default parameters that are used on every request made with this client instance + + The IRestClient instance + The name of the parameter that needs to be removed + + + + + Adds a HTTP parameter (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + Used on every request made by this client instance + + The IRestClient instance + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + The IRestClient instance + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Shortcut to AddDefaultParameter(name, value, HttpHeader) overload + + The IRestClient instance + Name of the header to add + Value of the header to add + + + + + Shortcut to AddDefaultParameter(name, value, UrlSegment) overload + + The IRestClient instance + Name of the segment to add + Value of the segment to add + + + + + Container for data used to make requests + + + + + Default constructor + + + + + Sets Method property to value of method + + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Internal Method so that RestClient can increase the number of attempts + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + A function to run prior to deserializing starting (e.g. change settings if error encountered) + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Gets or sets a user-defined state object that contains information about a request and which can be later + retrieved when the request completes. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Base class for common properties shared by RestResponse and RestResponse[[T]] + + + + + Default constructor + + + + + Assists with debugging responses by displaying in the debugger output + + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + The exception thrown during the request, if any + + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Container for data sent back from API + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Encoding for serialized content + + + + + Need to subclass StringWriter in order to override Encoding + + + + + Default JSON serializer for request bodies + Doesn't currently use the SerializeAs attribute, defers to Newtonsoft's attributes + + + + + Default serializer + + + + + Serialize the object as JSON + + Object to serialize + JSON as String + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Content type for serialized content + + + + + Allows control how class and property names and values are serialized by XmlSerializer + Currently not supported with the JsonSerializer + When specified at the property level the class-level specification is overridden + + + + + Called by the attribute when NameStyle is speficied + + The string to transform + String + + + + The name to use for the serialized element + + + + + Sets the value to be serialized as an Attribute instead of an Element + + + + + The culture to use when serializing + + + + + Transforms the casing of the name based on the selected value. + + + + + The order to serialize the element. Default is int.MaxValue. + + + + + Options for transforming casing of element names + + + + + Default XML Serializer + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Represents the json array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The capacity of the json array. + + + + The json representation of the array. + + The json representation of the array. + + + + Represents the json object. + + + + + The internal member dictionary. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The implementation to use when comparing keys, or null to use the default for the type of the key. + + + + Adds the specified key. + + The key. + The value. + + + + Determines whether the specified key contains key. + + The key. + + true if the specified key contains key; otherwise, false. + + + + + Removes the specified key. + + The key. + + + + + Tries the get value. + + The key. + The value. + + + + + Adds the specified item. + + The item. + + + + Clears this instance. + + + + + Determines whether [contains] [the specified item]. + + The item. + + true if [contains] [the specified item]; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the specified item. + + The item. + + + + + Gets the enumerator. + + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a json that represents the current . + + + A json that represents the current . + + + + + Gets the at the specified index. + + + + + + Gets the keys. + + The keys. + + + + Gets the values. + + The values. + + + + Gets or sets the with the specified key. + + + + + + Gets the count. + + The count. + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + This class encodes and decodes JSON strings. + Spec. details, see http://www.json.org/ + + JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList<object>) and JsonObject(IDictionary<string,object>). + All numbers are parsed to doubles. + + + + + Parses the string json into a value + + A JSON string. + An IList<object>, a IDictionary<string,object>, a double, a string, null, true, or false + + + + Try parsing the json string into a value. + + + A JSON string. + + + The object. + + + Returns true if successfull otherwise false. + + + + + Converts a IDictionary<string,object> / IList<object> object into a JSON string + + A IDictionary<string,object> / IList<object> + Serializer strategy to use + A JSON encoded string, or null if object 'json' is not serializable + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Helper methods for validating required values + + + + + Require a parameter to not be null + + Name of the parameter + Value of the parameter + + + + Helper methods for validating values + + + + + Validate an integer value is between the specified values (exclusive of min/max) + + Value to validate + Exclusive minimum value + Exclusive maximum value + + + + Validate a string length + + String to be validated + Maximum length of the string + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + diff --git a/packages/RestSharp.105.2.3/lib/windowsphone81/RestSharp.xml b/packages/RestSharp.105.2.3/lib/windowsphone81/RestSharp.xml new file mode 100644 index 0000000..83f9ce6 --- /dev/null +++ b/packages/RestSharp.105.2.3/lib/windowsphone81/RestSharp.xml @@ -0,0 +1,3866 @@ + + + + RestSharp + + + + + + + + Base class for OAuth 2 Authenticators. + + + Since there are many ways to authenticate in OAuth2, + this is used as a base class to differentiate between + other authenticators. + + Any other OAuth2 authenticators must derive from this + abstract class. + + + + + Access token to be used when authenticating. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Gets the access token. + + + + + The OAuth 2 authenticator using URI query parameter. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.2 + + + + + Initializes a new instance of the class. + + + The access token. + + + + + The OAuth 2 authenticator using the authorization request header field. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.1 + + + + + Stores the Authorization header value as "[tokenType] accessToken". used for performance. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Initializes a new instance of the class. + + + The access token. + + + The token type. + + + + + All text parameters are UTF-8 encoded (per section 5.1). + + + + + + Generates a random 16-byte lowercase alphanumeric string. + + + + + + + Generates a timestamp based on the current elapsed seconds since '01/01/1970 0000 GMT" + + + + + + + Generates a timestamp based on the elapsed seconds of a given time since '01/01/1970 0000 GMT" + + + A specified point in time. + + + + + The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986. + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + The value to escape. + The escaped value. + + The method is supposed to take on + RFC 3986 behavior if certain elements are present in a .config file. Even if this + actually worked (which in my experiments it doesn't), we can't rely on every + host actually having this configuration element present. + + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + + + + + + Sorts a collection of key-value pairs by name, and then value if equal, + concatenating them into a single string. This string should be encoded + prior to, or after normalization is run. + + + + + + + + Sorts a by name, and then value if equal. + + A collection of parameters to sort + A sorted parameter collection + + + + Creates a request URL suitable for making OAuth requests. + Resulting URLs must exclude port 80 or port 443 when accompanied by HTTP and HTTPS, respectively. + Resulting URLs must be lower case. + + + The original request URL + + + + + Creates a request elements concatentation value to send with a request. + This is also known as the signature base. + + + + The request's HTTP method type + The request URL + The request's parameters + A signature base string + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The signature base + The consumer secret + The token secret + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer secret + The token secret + + + + + A class to encapsulate OAuth authentication flow. + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + Any existing, non-OAuth query parameters desired in the request + + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + Generates a instance to pass to an + for the purpose of exchanging user credentials + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + + + + + + + + + + Calculates a 32bit Cyclic Redundancy Checksum (CRC) using the same polynomial + used by Zip. This type is used internally by DotNetZip; it is generally not used + directly by applications wishing to create, read, or manipulate zip archive + files. + + + + + Returns the CRC32 for the specified stream. + + The stream over which to calculate the CRC32 + the CRC32 calculation + + + + Returns the CRC32 for the specified stream, and writes the input into the + output stream. + + The stream over which to calculate the CRC32 + The stream into which to deflate the input + the CRC32 calculation + + + + Get the CRC32 for the given (word,byte) combo. This is a computation + defined by PKzip. + + The word to start with. + The byte to combine it with. + The CRC-ized result. + + + + Update the value for the running CRC32 using the given block of bytes. + This is useful when using the CRC32() class in a Stream. + + block of bytes to slurp + starting point in the block + how many bytes within the block to slurp + + + + indicates the total number of bytes read on the CRC stream. + This is used when writing the ZipDirEntry when compressing files. + + + + + Indicates the current CRC for all blocks slurped in. + + + + + A Stream that calculates a CRC32 (a checksum) on all bytes read, + or on all bytes written. + + + + + This class can be used to verify the CRC of a ZipEntry when + reading from a stream, or to calculate a CRC when writing to a + stream. The stream should be used to either read, or write, but + not both. If you intermix reads and writes, the results are not + defined. + + + + This class is intended primarily for use internally by the + DotNetZip library. + + + + + + The default constructor. + + + Instances returned from this constructor will leave the underlying stream + open upon Close(). + + The underlying stream + + + + The constructor allows the caller to specify how to handle the underlying + stream at close. + + The underlying stream + true to leave the underlying stream + open upon close of the CrcCalculatorStream.; false otherwise. + + + + A constructor allowing the specification of the length of the stream to read. + + + Instances returned from this constructor will leave the underlying stream open + upon Close(). + + The underlying stream + The length of the stream to slurp + + + + A constructor allowing the specification of the length of the stream to + read, as well as whether to keep the underlying stream open upon Close(). + + The underlying stream + The length of the stream to slurp + true to leave the underlying stream + open upon close of the CrcCalculatorStream.; false otherwise. + + + + Read from the stream + + the buffer to read + the offset at which to start + the number of bytes to read + the number of bytes actually read + + + + Write to the stream. + + the buffer from which to write + the offset at which to start writing + the number of bytes to write + + + + Flush the stream. + + + + + Not implemented. + + N/A + N/A + N/A + + + + Not implemented. + + N/A + + + + Closes the stream. + + + + + Gets the total number of bytes run through the CRC32 calculator. + + + + This is either the total number of bytes read, or the total number of bytes + written, depending on the direction of this stream. + + + + + Provides the current CRC for all blocks slurped in. + + + + + Indicates whether the underlying stream will be left open when the + CrcCalculatorStream is Closed. + + + + + Indicates whether the stream supports reading. + + + + + Indicates whether the stream supports seeking. + + + + + Indicates whether the stream supports writing. + + + + + Not implemented. + + + + + Not implemented. + + + + + Describes how to flush the current deflate operation. + + + The different FlushType values are useful when using a Deflate in a streaming application. + + + + No flush at all. + + + Closes the current block, but doesn't flush it to + the output. Used internally only in hypothetical + scenarios. This was supposed to be removed by Zlib, but it is + still in use in some edge cases. + + + + + Use this during compression to specify that all pending output should be + flushed to the output buffer and the output should be aligned on a byte + boundary. You might use this in a streaming communication scenario, so that + the decompressor can get all input data available so far. When using this + with a ZlibCodec, AvailableBytesIn will be zero after the call if + enough output space has been provided before the call. Flushing will + degrade compression and so it should be used only when necessary. + + + + + Use this during compression to specify that all output should be flushed, as + with FlushType.Sync, but also, the compression state should be reset + so that decompression can restart from this point if previous compressed + data has been damaged or if random access is desired. Using + FlushType.Full too often can significantly degrade the compression. + + + + Signals the end of the compression/decompression stream. + + + + A class for compressing and decompressing GZIP streams. + + + + + The GZipStream is a Decorator on a . It adds GZIP compression or decompression to any stream. + + + Like the Compression.GZipStream in the .NET Base + Class Library, the Ionic.Zlib.GZipStream can compress while writing, or decompress + while reading, but not vice versa. The compression method used is GZIP, which is + documented in IETF RFC 1952, + "GZIP file format specification version 4.3". + + A GZipStream can be used to decompress data (through Read()) or to compress + data (through Write()), but not both. + + If you wish to use the GZipStream to compress data, you must wrap it around a + write-able stream. As you call Write() on the GZipStream, the data will be + compressed into the GZIP format. If you want to decompress data, you must wrap the + GZipStream around a readable stream that contains an IETF RFC 1952-compliant stream. + The data will be decompressed as you call Read() on the GZipStream. + + Though the GZIP format allows data from multiple files to be concatenated + together, this stream handles only a single segment of GZIP format, typically + representing a single file. + + + This class is similar to and . + ZlibStream handles RFC1950-compliant streams. + handles RFC1951-compliant streams. This class handles RFC1952-compliant streams. + + + + + + + + + + Create a GZipStream using the specified CompressionMode and the specified CompressionLevel, + and explicitly specify whether the stream should be left open after Deflation or Inflation. + + + + This constructor allows the application to request that the captive stream remain open after + the deflation or inflation occurs. By default, after Close() is called on the stream, the + captive stream is also closed. In some cases this is not desired, for example if the stream + is a memory stream that will be re-read after compressed data has been written to it. Specify true for the + leaveOpen parameter to leave the stream open. + + + As noted in the class documentation, + the CompressionMode (Compress or Decompress) also establishes the "direction" of the stream. + A GZipStream with CompressionMode.Compress works only through Write(). A GZipStream with + CompressionMode.Decompress works only through Read(). + + + + This example shows how to use a DeflateStream to compress data. + + using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) + { + using (var raw = System.IO.File.Create(outputFile)) + { + using (Stream compressor = new GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression, true)) + { + byte[] buffer = new byte[WORKING_BUFFER_SIZE]; + int n; + while ((n= input.Read(buffer, 0, buffer.Length)) != 0) + { + compressor.Write(buffer, 0, n); + } + } + } + } + + + Dim outputFile As String = (fileToCompress & ".compressed") + Using input As Stream = File.OpenRead(fileToCompress) + Using raw As FileStream = File.Create(outputFile) + Using compressor As Stream = New GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression, True) + Dim buffer As Byte() = New Byte(4096) {} + Dim n As Integer = -1 + Do While (n <> 0) + If (n > 0) Then + compressor.Write(buffer, 0, n) + End If + n = input.Read(buffer, 0, buffer.Length) + Loop + End Using + End Using + End Using + + + The stream which will be read or written. + Indicates whether the GZipStream will compress or decompress. + true if the application would like the stream to remain open after inflation/deflation. + A tuning knob to trade speed for effectiveness. + + + + Dispose the stream. + + + This may or may not result in a Close() call on the captive stream. + See the ctor's with leaveOpen parameters for more information. + + + + + Flush the stream. + + + + + Read and decompress data from the source stream. + + + With a GZipStream, decompression is done through reading. + + + + byte[] working = new byte[WORKING_BUFFER_SIZE]; + using (System.IO.Stream input = System.IO.File.OpenRead(_CompressedFile)) + { + using (Stream decompressor= new Ionic.Zlib.GZipStream(input, CompressionMode.Decompress, true)) + { + using (var output = System.IO.File.Create(_DecompressedFile)) + { + int n; + while ((n= decompressor.Read(working, 0, working.Length)) !=0) + { + output.Write(working, 0, n); + } + } + } + } + + + The buffer into which the decompressed data should be placed. + the offset within that data array to put the first byte read. + the number of bytes to read. + the number of bytes actually read + + + + Calling this method always throws a . + + irrelevant; it will always throw! + irrelevant; it will always throw! + irrelevant! + + + + Calling this method always throws a NotImplementedException. + + irrelevant; this method will always throw! + + + + The Comment on the GZIP stream. + + + + The GZIP format allows for each file to optionally have an associated comment stored with the + file. The comment is encoded with the ISO-8859-1 code page. To include a comment in + a GZIP stream you create, set this property before calling Write() for the first time + on the GZipStream. + + + + When using GZipStream to decompress, you can retrieve this property after the first + call to Read(). If no comment has been set in the GZIP bytestream, the Comment + property will return null (Nothing in VB). + + + + + + The FileName for the GZIP stream. + + + + The GZIP format optionally allows each file to have an associated filename. When + compressing data (through Write()), set this FileName before calling Write() the first + time on the GZipStream. The actual filename is encoded into the GZIP bytestream with + the ISO-8859-1 code page, according to RFC 1952. It is the application's responsibility to + insure that the FileName can be encoded and decoded correctly with this code page. + + + When decompressing (through Read()), you can retrieve this value any time after the + first Read(). In the case where there was no filename encoded into the GZIP + bytestream, the property will return null (Nothing in VB). + + + + + + The CRC on the GZIP stream. + + + This is used for internal error checking. You probably don't need to look at this property. + + + + + This property sets the flush behavior on the stream. + + + + + The size of the working buffer for the compression codec. + + + + + The working buffer is used for all stream operations. The default size is 1024 bytes. + The minimum size is 128 bytes. You may get better performance with a larger buffer. + Then again, you might not. You would have to test it. + + + + Set this before the first call to Read() or Write() on the stream. If you try to set it + afterwards, it will throw. + + + + + Returns the total number of bytes input so far. + + + Returns the total number of bytes output so far. + + + + Indicates whether the stream can be read. + + + The return value depends on whether the captive stream supports reading. + + + + + Indicates whether the stream supports Seek operations. + + + Always returns false. + + + + + Indicates whether the stream can be written. + + + The return value depends on whether the captive stream supports writing. + + + + + Reading this property always throws a NotImplementedException. + + + + + The position of the stream pointer. + + + Writing this property always throws a NotImplementedException. Reading will + return the total bytes written out, if used in writing, or the total bytes + read in, if used in reading. The count may refer to compressed bytes or + uncompressed bytes, depending on how you've used the stream. + + + + + A general purpose exception class for exceptions in the Zlib library. + + + + + The ZlibException class captures exception information generated + by the Zlib library. + + + + + This ctor collects a message attached to the exception. + + + + + + Performs an unsigned bitwise right shift with the specified number + + Number to operate on + Ammount of bits to shift + The resulting number from the shift operation + + + + Performs an unsigned bitwise right shift with the specified number + + Number to operate on + Ammount of bits to shift + The resulting number from the shift operation + + + Reads a number of characters from the current source TextReader and writes the data to the target array at the specified index. + The source TextReader to read from + Contains the array of characteres read from the source TextReader. + The starting index of the target array. + The maximum number of characters to read from the source TextReader. + The number of characters read. The number will be less than or equal to count depending on the data available in the source TextReader. Returns -1 if the end of the stream is reached. + + + + Computes an Adler-32 checksum. + + + The Adler checksum is similar to a CRC checksum, but faster to compute, though less + reliable. It is used in producing RFC1950 compressed streams. The Adler checksum + is a required part of the "ZLIB" standard. Applications will almost never need to + use this class directly. + + + + + Encoder and Decoder for ZLIB and DEFLATE (IETF RFC1950 and RFC1951). + + + + This class compresses and decompresses data according to the Deflate algorithm + and optionally, the ZLIB format, as documented in RFC 1950 - ZLIB and RFC 1951 - DEFLATE. + + + + + The buffer from which data is taken. + + + + + An index into the InputBuffer array, indicating where to start reading. + + + + + The number of bytes available in the InputBuffer, starting at NextIn. + + + Generally you should set this to InputBuffer.Length before the first Inflate() or Deflate() call. + The class will update this number as calls to Inflate/Deflate are made. + + + + + Total number of bytes read so far, through all calls to Inflate()/Deflate(). + + + + + Buffer to store output data. + + + + + An index into the OutputBuffer array, indicating where to start writing. + + + + + The number of bytes available in the OutputBuffer, starting at NextOut. + + + Generally you should set this to OutputBuffer.Length before the first Inflate() or Deflate() call. + The class will update this number as calls to Inflate/Deflate are made. + + + + + Total number of bytes written to the output so far, through all calls to Inflate()/Deflate(). + + + + + used for diagnostics, when something goes wrong! + + + + + The number of Window Bits to use. + + + This gauges the size of the sliding window, and hence the + compression effectiveness as well as memory consumption. It's best to just leave this + setting alone if you don't know what it is. The maximum value is 15 bits, which implies + a 32k window. + + + + + Create a ZlibCodec that decompresses. + + + + + Initialize the inflation state. + + + It is not necessary to call this before using the ZlibCodec to inflate data; + It is implicitly called when you call the constructor. + + Z_OK if everything goes well. + + + + Initialize the inflation state with an explicit flag to + govern the handling of RFC1950 header bytes. + + + + By default, the ZLIB header defined in RFC 1950 is expected. If + you want to read a zlib stream you should specify true for + expectRfc1950Header. If you have a deflate stream, you will want to specify + false. It is only necessary to invoke this initializer explicitly if you + want to specify false. + + + whether to expect an RFC1950 header byte + pair when reading the stream of data to be inflated. + + Z_OK if everything goes well. + + + + Initialize the ZlibCodec for inflation, with the specified number of window bits. + + The number of window bits to use. If you need to ask what that is, + then you shouldn't be calling this initializer. + Z_OK if all goes well. + + + + Initialize the inflation state with an explicit flag to govern the handling of + RFC1950 header bytes. + + + + If you want to read a zlib stream you should specify true for + expectRfc1950Header. In this case, the library will expect to find a ZLIB + header, as defined in RFC + 1950, in the compressed stream. If you will be reading a DEFLATE or + GZIP stream, which does not have such a header, you will want to specify + false. + + + whether to expect an RFC1950 header byte pair when reading + the stream of data to be inflated. + The number of window bits to use. If you need to ask what that is, + then you shouldn't be calling this initializer. + Z_OK if everything goes well. + + + + Inflate the data in the InputBuffer, placing the result in the OutputBuffer. + + + You must have set InputBuffer and OutputBuffer, NextIn and NextOut, and AvailableBytesIn and + AvailableBytesOut before calling this method. + + + + private void InflateBuffer() + { + int bufferSize = 1024; + byte[] buffer = new byte[bufferSize]; + ZlibCodec decompressor = new ZlibCodec(); + + Console.WriteLine("\n============================================"); + Console.WriteLine("Size of Buffer to Inflate: {0} bytes.", CompressedBytes.Length); + MemoryStream ms = new MemoryStream(DecompressedBytes); + + int rc = decompressor.InitializeInflate(); + + decompressor.InputBuffer = CompressedBytes; + decompressor.NextIn = 0; + decompressor.AvailableBytesIn = CompressedBytes.Length; + + decompressor.OutputBuffer = buffer; + + // pass 1: inflate + do + { + decompressor.NextOut = 0; + decompressor.AvailableBytesOut = buffer.Length; + rc = decompressor.Inflate(ZlibConstants.Z_NO_FLUSH); + + if (rc != ZlibConstants.Z_OK && rc != ZlibConstants.Z_STREAM_END) + throw new Exception("inflating: " + decompressor.Message); + + ms.Write(decompressor.OutputBuffer, 0, buffer.Length - decompressor.AvailableBytesOut); + } + while (decompressor.AvailableBytesIn > 0 || decompressor.AvailableBytesOut == 0); + + // pass 2: finish and flush + do + { + decompressor.NextOut = 0; + decompressor.AvailableBytesOut = buffer.Length; + rc = decompressor.Inflate(ZlibConstants.Z_FINISH); + + if (rc != ZlibConstants.Z_STREAM_END && rc != ZlibConstants.Z_OK) + throw new Exception("inflating: " + decompressor.Message); + + if (buffer.Length - decompressor.AvailableBytesOut > 0) + ms.Write(buffer, 0, buffer.Length - decompressor.AvailableBytesOut); + } + while (decompressor.AvailableBytesIn > 0 || decompressor.AvailableBytesOut == 0); + + decompressor.EndInflate(); + } + + + + The flush to use when inflating. + Z_OK if everything goes well. + + + + Ends an inflation session. + + + Call this after successively calling Inflate(). This will cause all buffers to be flushed. + After calling this you cannot call Inflate() without a intervening call to one of the + InitializeInflate() overloads. + + Z_OK if everything goes well. + + + + I don't know what this does! + + Z_OK if everything goes well. + + + + Set the dictionary to be used for either Inflation or Deflation. + + The dictionary bytes to use. + Z_OK if all goes well. + + + + The Adler32 checksum on the data transferred through the codec so far. You probably don't need to look at this. + + + + + A bunch of constants used in the Zlib interface. + + + + + The maximum number of window bits for the Deflate algorithm. + + + + + The default number of window bits for the Deflate algorithm. + + + + + indicates everything is A-OK + + + + + Indicates that the last operation reached the end of the stream. + + + + + The operation ended in need of a dictionary. + + + + + There was an error with the stream - not enough data, not open and readable, etc. + + + + + There was an error with the data - not enough data, bad data, etc. + + + + + There was an error with the working buffer. + + + + + The size of the working buffer used in the ZlibCodec class. Defaults to 8192 bytes. + + + + + The minimum size of the working buffer used in the ZlibCodec class. Currently it is 128 bytes. + + + + + Represents a Zlib stream for compression or decompression. + + + + + The ZlibStream is a Decorator on a . It adds ZLIB compression or decompression to any + stream. + + + Using this stream, applications can compress or decompress data via + stream Read and Write operations. Either compresssion or + decompression can occur through either reading or writing. The compression + format used is ZLIB, which is documented in IETF RFC 1950, "ZLIB Compressed + Data Format Specification version 3.3". This implementation of ZLIB always uses + DEFLATE as the compression method. (see IETF RFC 1951, "DEFLATE + Compressed Data Format Specification version 1.3.") + + + The ZLIB format allows for varying compression methods, window sizes, and dictionaries. + This implementation always uses the DEFLATE compression method, a preset dictionary, + and 15 window bits by default. + + + + This class is similar to , except that it adds the + RFC1950 header and trailer bytes to a compressed stream when compressing, or expects + the RFC1950 header and trailer bytes when decompressing. It is also similar to the + . + + + + + + + + Dispose the stream. + + + This may or may not result in a Close() call on the captive stream. + See the constructors that have a leaveOpen parameter for more information. + + + + + Flush the stream. + + + + + Read data from the stream. + + + + + + If you wish to use the ZlibStream to compress data while reading, you can create a + ZlibStream with CompressionMode.Compress, providing an uncompressed data stream. Then + call Read() on that ZlibStream, and the data read will be compressed. If you wish to + use the ZlibStream to decompress data while reading, you can create a ZlibStream with + CompressionMode.Decompress, providing a readable compressed data stream. Then call + Read() on that ZlibStream, and the data will be decompressed as it is read. + + + + A ZlibStream can be used for Read() or Write(), but not both. + + + The buffer into which the read data should be placed. + the offset within that data array to put the first byte read. + the number of bytes to read. + + + + Calling this method always throws a NotImplementedException. + + + + + Calling this method always throws a NotImplementedException. + + + + + Write data to the stream. + + + + + + If you wish to use the ZlibStream to compress data while writing, you can create a + ZlibStream with CompressionMode.Compress, and a writable output stream. Then call + Write() on that ZlibStream, providing uncompressed data as input. The data sent to + the output stream will be the compressed form of the data written. If you wish to use + the ZlibStream to decompress data while writing, you can create a ZlibStream with + CompressionMode.Decompress, and a writable output stream. Then call Write() on that + stream, providing previously compressed data. The data sent to the output stream will + be the decompressed form of the data written. + + + + A ZlibStream can be used for Read() or Write(), but not both. + + + The buffer holding data to write to the stream. + the offset within that data array to find the first byte to write. + the number of bytes to write. + + + + Uncompress a byte array into a single string. + + + + A buffer containing ZLIB-compressed data. + + + + + Uncompress a byte array into a byte array. + + + + + A buffer containing ZLIB-compressed data. + + + + + This property sets the flush behavior on the stream. + Sorry, though, not sure exactly how to describe all the various settings. + + + + + The size of the working buffer for the compression codec. + + + + + The working buffer is used for all stream operations. The default size is 1024 bytes. + The minimum size is 128 bytes. You may get better performance with a larger buffer. + Then again, you might not. You would have to test it. + + + + Set this before the first call to Read() or Write() on the stream. If you try to set it + afterwards, it will throw. + + + + + Returns the total number of bytes input so far. + + + Returns the total number of bytes output so far. + + + + Indicates whether the stream can be read. + + + The return value depends on whether the captive stream supports reading. + + + + + Indicates whether the stream supports Seek operations. + + + Always returns false. + + + + + Indicates whether the stream can be written. + + + The return value depends on whether the captive stream supports writing. + + + + + Reading this property always throws a NotImplementedException. + + + + + The position of the stream pointer. + + + Writing this property always throws a NotImplementedException. Reading will + return the total bytes written out, if used in writing, or the total bytes + read in, if used in reading. The count may refer to compressed bytes or + uncompressed bytes, depending on how you've used the stream. + + + + + Allows control how class and property names and values are deserialized by XmlAttributeDeserializer + + + + + The name to use for the serialized element + + + + + Sets if the property to Deserialize is an Attribute or Element (Default: false) + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Types of parameters that can be added to requests + + + + + Data formats + + + + + HTTP method to use when making requests + + + + + Format strings for commonly-used date formats + + + + + .NET format string for ISO 8601 date format + + + + + .NET format string for roundtrip date format + + + + + Status for responses (surprised?) + + + + + Extension method overload! + + + + + Read a stream into a byte array + + Stream to read + byte[] + + + + Copies bytes from one stream to another + + The input stream. + The output stream. + + + + Converts a byte array to a string, using its byte order mark to convert it to the right encoding. + http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx + + An array of bytes to convert + The byte as a string. + + + + Reflection extensions + + + + + Retrieve an attribute from a member (property) + + Type of attribute to retrieve + Member to retrieve attribute from + + + + + Retrieve an attribute from a type + + Type of attribute to retrieve + Type to retrieve attribute from + + + + + Checks a type to see if it derives from a raw generic (e.g. List[[]]) + + + + + + + + Find a value from a System.Enum by trying several possible variants + of the string value of the enum. + + Type of enum + Value for which to search + The culture used to calculate the name variants + + + + + Convert a to a instance. + + The response status. + + responseStatus + + + + Uses Uri.EscapeDataString() based on recommendations on MSDN + http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx + + + + + Check that a string is not null or empty + + String to check + bool + + + + Remove underscores from a string + + String to process + string + + + + Parses most common JSON date formats + + JSON value to parse + + DateTime + + + + Remove leading and trailing " from a string + + String to parse + String + + + + Checks a string to see if it matches a regex + + String to check + Pattern to match + bool + + + + Converts a string to pascal case + + String to convert + + string + + + + Converts a string to pascal case with the option to remove underscores + + String to convert + Option to remove underscores + + + + + + Converts a string to camel case + + String to convert + + String + + + + Convert the first letter of a string to lower case + + String to convert + string + + + + Checks to see if a string is all uppper case + + String to check + bool + + + + Add underscores to a pascal-cased string + + String to convert + string + + + + Add dashes to a pascal-cased string + + String to convert + string + + + + Add an undescore prefix to a pascasl-cased string + + + + + + + Add spaces to a pascal-cased string + + String to convert + string + + + + Return possible variants of a name for name matching. + + String to convert + The culture to use for conversion + IEnumerable<string> + + + + XML Extension Methods + + + + + Returns the name of an element with the namespace if specified + + Element name + XML Namespace + + + + + Container for files to be uploaded with requests + + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The content type to use in the request. + The + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The using the default content type. + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + HttpWebRequest wrapper (async methods) + + + HttpWebRequest wrapper + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + Execute an async POST-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Execute an async GET-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Creates an IHttp + + + + + + Default constructor + + + + + True if this HTTP request has any HTTP parameters + + + + + True if this HTTP request has any HTTP cookies + + + + + True if a request body has been specified + + + + + True if files have been set to be uploaded + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + UserAgent to be sent with request + + + + + Timeout in milliseconds to be used for the request + + + + + The number of milliseconds before the writing or reading times out. + + + + + System.Net.ICredentials to be sent with request + + + + + The System.Net.CookieContainer to be used for the request + + + + + The method to use to write the response instead of reading into RawBytes + + + + + Collection of files to be sent with request + + + + + Whether or not HTTP 3xx response redirects should be automatically followed + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. + + + + + HTTP headers to be sent with request + + + + + HTTP parameters (QueryString or Form values) to be sent with request + + + + + HTTP cookies to be sent with request + + + + + Request body to be sent with request + + + + + Content type of the request body. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + URL to call for this request + + + + + Flag to send authorisation header with the HttpWebRequest + + + + + Representation of an HTTP cookie + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Container for HTTP file + + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + Representation of an HTTP header + + + + + Name of the header + + + + + Value of the header + + + + + Representation of an HTTP parameter (QueryString or Form value) + + + + + Name of the parameter + + + + + Value of the parameter + + + + + Content-Type of the parameter + + + + + HTTP response data + + + + + HTTP response data + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Default constructor + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + Lazy-loaded string representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container for data sent back from API + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exceptions thrown during the request, if any. + + Will contain only network transport or framework exceptions thrown during the request. + HTTP protocol errors are handled by RestSharp and will not appear here. + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Parameter container for REST requests + + + + + Return a human-readable representation of this parameter + + String + + + + Name of the parameter + + + + + Value of the parameter + + + + + Type of the parameter + + + + + MIME content type of the parameter + + + + + Client to translate RestRequests into Http requests and process response result + + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Default constructor that registers default content handlers + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Registers a content handler to process response content + + MIME content type of the response content + Deserializer to use to process content + + + + Remove a content handler for the specified MIME content type + + MIME content type to remove + + + + Remove all content handlers + + + + + Retrieve the handler for the specified MIME content type + + MIME content type to retrieve + IDeserializer instance + + + + Assembles URL to call based on parameters, method and resource + + RestRequest to execute + Assembled System.Uri + + + + Maximum number of redirects to follow if FollowRedirects is true + + + + + Default is true. Determine whether or not requests that result in + HTTP status codes of 3xx should follow returned redirect + + + + + The CookieContainer used for requests made by this client instance + + + + + UserAgent to use for requests made by this client instance + + + + + Timeout in milliseconds to use for requests made by this client instance + + + + + The number of milliseconds before the writing or reading times out. + + + + + Whether to invoke async callbacks using the SynchronizationContext.Current captured when invoked + + + + + Authenticator to use for requests made by this client instance + + + + + Combined with Request.Resource to construct URL for request + Should include scheme and domain without trailing slash. + + + client.BaseUrl = new Uri("http://example.com"); + + + + + Parameters included with every request made with this instance of RestClient + If specified in both client and request, the request wins + + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Request to be executed + Callback function to be executed upon completion + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Target deserialization type + Request to be executed + Callback function to be executed upon completion providing access to the async handle + + + + Add a parameter to use on every request made with this client instance + + The IRestClient instance + Parameter to add + + + + + Removes a parameter from the default parameters that are used on every request made with this client instance + + The IRestClient instance + The name of the parameter that needs to be removed + + + + + Adds a HTTP parameter (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + Used on every request made by this client instance + + The IRestClient instance + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + The IRestClient instance + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Shortcut to AddDefaultParameter(name, value, HttpHeader) overload + + The IRestClient instance + Name of the header to add + Value of the header to add + + + + + Shortcut to AddDefaultParameter(name, value, UrlSegment) overload + + The IRestClient instance + Name of the segment to add + Value of the segment to add + + + + + Container for data used to make requests + + + + + Default constructor + + + + + Sets Method property to value of method + + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Add bytes to the Files collection as if it was a file of specific type + + A form parameter name + The file data + The file name to use for the uploaded file + Specific content type. Es: application/x-gzip + + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + Content-Type of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Internal Method so that RestClient can increase the number of attempts + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + A function to run prior to deserializing starting (e.g. change settings if error encountered) + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Gets or sets a user-defined state object that contains information about a request and which can be later + retrieved when the request completes. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Base class for common properties shared by RestResponse and RestResponse[[T]] + + + + + Default constructor + + + + + Assists with debugging responses by displaying in the debugger output + + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + The exception thrown during the request, if any + + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Container for data sent back from API + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Encoding for serialized content + + + + + Need to subclass StringWriter in order to override Encoding + + + + + Default JSON serializer for request bodies + Doesn't currently use the SerializeAs attribute, defers to Newtonsoft's attributes + + + + + Default serializer + + + + + Serialize the object as JSON + + Object to serialize + JSON as String + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Content type for serialized content + + + + + Allows control how class and property names and values are serialized by XmlSerializer + Currently not supported with the JsonSerializer + When specified at the property level the class-level specification is overridden + + + + + Called by the attribute when NameStyle is speficied + + The string to transform + String + + + + The name to use for the serialized element + + + + + Sets the value to be serialized as an Attribute instead of an Element + + + + + The culture to use when serializing + + + + + Transforms the casing of the name based on the selected value. + + + + + The order to serialize the element. Default is int.MaxValue. + + + + + Options for transforming casing of element names + + + + + Default XML Serializer + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Represents the json array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The capacity of the json array. + + + + The json representation of the array. + + The json representation of the array. + + + + Represents the json object. + + + + + The internal member dictionary. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The implementation to use when comparing keys, or null to use the default for the type of the key. + + + + Adds the specified key. + + The key. + The value. + + + + Determines whether the specified key contains key. + + The key. + + true if the specified key contains key; otherwise, false. + + + + + Removes the specified key. + + The key. + + + + + Tries the get value. + + The key. + The value. + + + + + Adds the specified item. + + The item. + + + + Clears this instance. + + + + + Determines whether [contains] [the specified item]. + + The item. + + true if [contains] [the specified item]; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the specified item. + + The item. + + + + + Gets the enumerator. + + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a json that represents the current . + + + A json that represents the current . + + + + + Gets the at the specified index. + + + + + + Gets the keys. + + The keys. + + + + Gets the values. + + The values. + + + + Gets or sets the with the specified key. + + + + + + Gets the count. + + The count. + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + This class encodes and decodes JSON strings. + Spec. details, see http://www.json.org/ + + JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList<object>) and JsonObject(IDictionary<string,object>). + All numbers are parsed to doubles. + + + + + Parses the string json into a value + + A JSON string. + An IList<object>, a IDictionary<string,object>, a double, a string, null, true, or false + + + + Try parsing the json string into a value. + + + A JSON string. + + + The object. + + + Returns true if successfull otherwise false. + + + + + Converts a IDictionary<string,object> / IList<object> object into a JSON string + + A IDictionary<string,object> / IList<object> + Serializer strategy to use + A JSON encoded string, or null if object 'json' is not serializable + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Helper methods for validating required values + + + + + Require a parameter to not be null + + Name of the parameter + Value of the parameter + + + + Helper methods for validating values + + + + + Validate an integer value is between the specified values (exclusive of min/max) + + Value to validate + Exclusive minimum value + Exclusive maximum value + + + + Validate a string length + + String to be validated + Maximum length of the string + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + diff --git a/packages/RestSharp.105.2.3/readme.txt b/packages/RestSharp.105.2.3/readme.txt new file mode 100644 index 0000000..89a5bde --- /dev/null +++ b/packages/RestSharp.105.2.3/readme.txt @@ -0,0 +1,20 @@ +*** IMPORTANT CHANGE IN RESTSHARP VERSION 103 *** + +In 103.0, JSON.NET was removed as a dependency. + +If this is still installed in your project and no other libraries depend on +it you may remove it from your installed packages. + +There is one breaking change: the default Json*Serializer* is no longer +compatible with Json.NET. To use Json.NET for serialization, copy the code +from https://github.com/restsharp/RestSharp/blob/86b31f9adf049d7fb821de8279154f41a17b36f7/RestSharp/Serializers/JsonSerializer.cs +and register it with your client: + +var client = new RestClient(); +client.JsonSerializer = new YourCustomSerializer(); + +The default Json*Deserializer* is mostly compatible, but it does not support +all features which Json.NET has (like the ability to support a custom [JsonConverter] +by decorating a certain property with an attribute). If you need these features, you +must take care of the deserialization yourself to get it working. + diff --git a/packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/System.Runtime.InteropServices.RuntimeInformation.4.3.0.nupkg b/packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/System.Runtime.InteropServices.RuntimeInformation.4.3.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..daa71437d30e4250516538ab54e34dbf93d7c521 GIT binary patch literal 169959 zcmb5TQ*bU!7_Irmw*AGnv18k|lO5Z(ZQD+EY}?L`cWit9b7sz|IWyKTK+>evYqiGzfiI3DcR5xxMogfE~xAr!jzG9w{p(kzRDFqOXw zroEynt=s~VUR7AX-PAqyHu$_o9wc}|7Rnt8vn!~ER)3~LY*U#;<&b3YEE=d$_y3NzJKc18kz%? zRxAx|ok)-tU0gyFgiqDItr~;_2*SX3L=LYUg5QYsMgD z=VIn$@1SDl>{uL&tOZt7n z#PSoS-7bVq?{&-i$AXM4P`{&?*CojNS1z!;tZin0Ne{zo1ro`p;m`YaVl}_pdt9W> z?b&lwL`Ij&As>{JNEKPcI+EG z1nJD(LT95U-~e>c>;_PNxCr@F;a7H1sm`NZOF?eGbwZ$c37WKJ28^Q70(Eha>ZnIl z-hT1$^Pj$`$87+igp8s})tZ+nclnb?yN;&U2iIxBLt>g@YJ?C?+&uIXu>UGp&pWA6 zyy~fYyEvCtT7zgGxG2dXxAQcY(M6oNL4LdLAP=1`TCy%K;*zh4M7A2s%2F?;d3d?< zTYVGG54GXTBI6%mB6vJl$`p}>EiRMoSzRGv*&=S$O8R3|`9dwhf52^C0YP5jDkV=dKlSN7;U!j-enm+7+}v{242!F)Y$+md56{~g}K zGL0SHe1z${{gG@nNLP&OeS>0&vD>`%(HH1vU+}zrg}1lMbXdE%IK5M_;{$)1y=;k% zF#_1x3VKRB*`|?Od1^n#ufs{#eRMaG<-hEnpnoCRF|MuKs?DZ0e}Xzc-{SO{7rqDk zKO@&vEH5aC1OQx+0RXuFMb6aT#m>ydz{bkh$;ip`zthCb&e@E?#lt05dn##b6l14r z@@F27@scJgEtw0+JCvB2bQnJgQYzMb13b%A2Po(cCc;c>n`^6HCtcO#Oi?+>5q&u= zu#kSVy%h^Jk!V~kodxplNOY3-5g_n=%7Htaym92ka9ZC5L>!^Q4LQ`J`e)?B`|(Qp zzEpP}Kg6xBJ0j%6c)H?KT!We^uNvnsW7eiFSsXGQs*6|JM#DIwoa$Zbo6Grb~eMQ`+B}8EZ+_ zsG3Q-tZ2K!)LP%M19?dH>8p%hj*4jM!nWfvtmF(j4lSt`D<4PH|$NhO-eSKQJ(*xtUomAtP z)dIhI8f@CeyW|tC9KFnDb^ZclTHCJ0cKIffW-g_*D4?!P9Viub6$j492?1Xz)7t8b zQrl2_lK+-kVwNx8+ldve#ny}RfMpb%o!6dEC(48!vc%m}ffCYO_qO6dGMemZF=AWq z*H$o++x(8`=67i5#7nRf-DUYbNaO>mg)a(Y2Uq=mK$x&T31&EC|0ZUJ;mu#) zCbN!VDHoLsS#rAs^BI5)l&gOr{PtDUYCQZB6qC|qHMWRqO>7W|Y&2#5hi9wIoLa^g zVfB>-vW|aoWQ3hO)aWxdb+L4-m`2awO~NRRS<~FE5#B&f4fCp&M}t&Ak?>)xn}Qh3 zfbKO|csUWB3Ds>#&1g#Q8b|bJwodGt_=#4X0~?Xl2`=YER~8sOWRInU|2NEp3+?;e z2i09~)yoEZ=AWZWYX+1?F>(b?n6INX^{KEWXV!!{dDv!}IAgUk11p5Q^!~oP{g2n% z>&{kR$Bd2f#I^C08#IDm8dqG7&JAg+&co8?<}MT7m$Y&K%X8;8*M(yUeWU3d>{)O0 zg=Re`IYEzMOlj@#q*3b-2s;}{FIfFmgor!()Qze#55YLt$?au+?wXjsGkwk~WS~lK zPdQV}8yZ#e?M?FO;;gXtXhL#q`w1CYOS6myE=u(ctu21=^9Z}5c;oBv!ey9v0O3z> z?IpLu6uN3O_6lvTS>51G`HAf|F~* z&EIb-^{9+ts)QOiAgI`;D?_)`r57R%5~TPL4)!V5bF!@?tlV5~&cLwz@Ft<8o4Bx? zmHtvI?|2HQcu;XZ;A{n@;W8{74=InuiGY z1L|xb-79ED&{JCOunQdb=x}E?H*<9XF>^7wR!09{=2tpPCtgDf++5Bilq! zjFxx07W(0^oeZ0(l@H-XOnDtIz3`qgr^H9meP!;+gGuQSdmjp%4%ro~fnyP4D;k_P zO(H*4W@1U8Y@Rh#H3oOp$*@Gmn&yRZ{g_40nM_rqybPpu5=M?x=Xts5Qr-J-t3pOx zG*k4grvoM{`-*q=d6LriZ}aXALl%UQqs}^?cP!7D@|$Hd_vrBwc0H#(Q`*(rIvJ_7 zhT%UfZ^%vxi$atIMk45GQIk8<8u4}}26VboQX|ChQh5;8Jb!H9mbQZqEXr|!bWBd+ zE@}L)g1^!SBH>ReIeEton?)%1on-UWDU}!&gDk_W*RpmMlIXEIX*Q0KIWEQxFOcn{ z*@Y9j1Vps|9d>8pKTuAlp#G4U3yiaWfX0x>1qPj`8~A5R5e8sJy|m7zvfx+G%UDbf zDQH)>nf_ce|I&;T&N|CVy`z(Xpl&}<9B8kY?{y)cH*F}0 z%ILy27Jg2ncRE=_FdjYjeso9AudA?_al<&~pXKU>7K)z${;DMWJyas5oXAZeF8K!! zP`*5Whv;+%2**hYc8z?Svq)Ym&RZ22I!&)5R3nhTvpX)4h0u0Sg~PfI!kT2f$&D9- zdQa0d46#X6uN{0v5jrx-ol1xZc=s5u+0m5ZR6J>X3l0H9=(j^zo|;Wd#MxL)$=i$< zZj8}*u zHjA+Pp6Q{M?)Q5Me?DSm4S=b+7Q#G(u`2CN`ti-vEju8opQuf>i57MaAD6SVs$W$%>z#TAL?DUIOMx1dl+Q=Q13enPT2=JM-ZPM31g9$6RFO z`i%2pj;{_-!R}@EwJfb5VTXwRc8k^dEsW)l5hKEn?=CR}9t=IU7eTy1xo0>WHF4%~ z1DAyuM}j?#VEeV5hQN9VwH5>!BEkaIg9G_zK<;!0L16F7@E-MEcPx1;&dSOb++IaE zRLcb0nXeNn#3X4bpG0v}s9lWc#P{Cp=k4L2rjxy|6H_miBC5cf?YO&%6Mm)KGjyMx zA`OE0uUAh<@L@C$m?`rmhyM8D#y)I@{=b%zPdgP#qrSG>)cw302R{9YMADPuCrhbq z%$5R_0plGwuPq`kmbwCHx^itMJ3Rhy)!h3XQ6I+JpUZ%=303hI+)Q9$>l_fT$~#M< zo>oeLy6!T2mB7h)1%hSDNPCaEj(MW07;?l0Vx4t4pSo}AdTb00$LBzu&&{$#a)AdnZyNd8QgKks z)XeGLqbT2~k)DQ&s0Z=Z{Zq=?BKda3)aR4f4W12tL~akdol%@%gRmu(4;tE3>qiUy z&jM7QaVSS6y1);ds}n_m8in6CBT#96yoLq@`(is(n(8b^(mUQC3rP&dSxe1Km07b1 zmc-HBhmGeV&idZn-oM1&D=h3xO;~w6s;!PYr={w{dl{ZlYC%uwSA{_2@g1`Of8D9P z2uVrVo_$@f)`Z$9hftxWI!W!ex1^LaJe;O^lMYnVL?G+qf?@t-0KMcv+`jX>TTp@{ zDVLd{ICX$)su|lG?YReec_KIKN{{kFcRvRYh@K9t#Q{0$_eWIOqXYP@2!vwP6EzOS zFa869Xy|Np?oPOXJQ!I@HSx}&s%{sn4cAI6t=gkIN}4MvmN+&d+T3nYDKD-LvrcjI zTrh?)0n(n32l+Zs7sYznL=@dN{%>Ge&L?lSf}RSUkU>_@;(O*W8J}jnJ{P*V`SP1p zPdHjmnq-@_^k2>7P(=X>U1)2MP!p8ZbpRz-u)5!d_qVQ3Q0Ek!@T^nQC43Rm6&)ay zp3txy>pG%zoHvGdOLq$`{QUy2&u+L;(6PwuDGWDGo1@Of%0+1&JiQU|l>3E4^N9hw zqKU6i)q}23mAsdShyX=~5*&FZF!Zv5z<>EJjH1+QsjZMq{Fv30od3#tFZoEio>rJx z0%Sk0*(93|L}BQJ>1iG`pUP_RO5YFRX%?IuY+$*dww6di5dKj)4CSpLx`rH%Na-`R z5hgMZt7k)`7Gl;>3yr6XPdX5!NPvHpIwcdlD~X;rBxIXzF4za*KiTD*R=>}1rMX(ymf$odAnd=_T-y2OrQ zYO*5hy&>eA2=%t~gx|~0i+#e0Bxg>N0kW%%ElJIa1x#zTWcHG(_~alynhW>8Ym8e+ zX)=byrQi+$GRfY8*RuJ{<`nF@co=s%=Y1LO_*WMh6sB!s;Th zoIF4{?=x3r6K#S4$%QkPBkrf*?bchK;*~6iC67EyetMhIlLUMcxQG(+`da)0@_+Vj zGt+@W_y16r5+neC@n7#&wX||FRWx#P@sziB`JZ&_zshZ^Di>ePh0Mo@`cueWjsru! zdC|oj$tolR1id#uk?e=jM~Sgv-T3^db>sg#eJ!mNlzn|(b?#OrueDh*YFUjGXP#L> zrRJ@Y4VQZkS6R4VzFg*(gzJm@1cb6UGklEHrLIk0FCyivJI5kF+YrqmpI^*Uv2w(nQZ zQZQe9IqJ}&khs4=skiYjEUtul70YE)MnG{+F0ipgno}Un_+UVhx_IQ8B=nMU9@Wy~ zh6`qT^?lBE|6Mrn+~I83BJl5_*lDLFUue2}#V)}v4rKBTPJ?f8$ncKos>8FRvv;v! z!u<)7;c+i!Q$ZeYYUJ{bVt-#(;w~mwV#ksvOHNKu# zhT0>P$^rYqFM?d7_`J`Mg1Qc`81kF)G_7rem-7-k`u0zrK_*Z+Cn=N>_y5V^#EnYqRiYL66M#(#)j^n9oMbO`^!3t^7w3-k6iFx-dy>0)dnP39DXaK;jq4^W`9`}{L6V$B+P5P+yjD;4Il-MTz$fg-fDL6(xsEFQ3 zwa&U@5En-@p9kM#jBG%CC7Mn}4CikNr;s0uVUuOsWuxnYP4IVgANHTqBdKLfRftQ#Om~oP>+A!oyN)S}%1J+R|&BkpTgf*)x}F zqnQ`C5mld=$7Dtoa4c{lD5rjb4fcQnflw(C>;0li`r|5g!KVicZUE6fQeWBr98@QU zOPL*!c1Pid)=L8gf8_W#71&b`G1hJpGgl;iACpRVUqj;%18k`vY`u}9CW(qJF;!3( z>kSltMknu(5Hg~uW4h$@#e-9R?WP?8OH3n?2T^xw)bO0k`}*I64DdhU{(s^8-|K%Q z^*=PmC}(eHFJx!xWN&54%*1HGVDP`f{r{Dq{l6rt_O2$D|EJ*p{y$QG)&%%DW084;N~9Cw!0m*wgepN7OK6I)lK_bc zhNxK;=onqb5;lf6ni{Ie-Zyo6q7CjN`t!Tn*?@tjYyOYx=9`bVpW?T_+!p4u(>dJE z|F%0gLnzZgNB{xgeFlA?ieN|i{CjKpB(E!MTct2ZZ5iv%lQJy{$2nboF!s4nxfDtsxaA^jjWwJM%i$w)76@W0I zVA8XXT+p!pMlol3bP3$E59G8xNSeE^3=ec{#R6X){bSeBwr`J!Fa;0h$SFNJmE{xQ zF|Wff>FVJa0o8w`a9Z*;WO>8$T`0_>8R?dC_h5RfeNl&<9^SpX8-aaJl_=dVxWKtC zAsD!umpkvkrzRyW<5a5zCwA&N`VpU*(T4<9!UGJ>k9%gCq^=%PtiFk83M)V*}EX?8^GVNV( zQ7Bi?5lPu_cqq_?JmdJiWHCV2WOQ=njEf(}Mcu_6C zU#kEeqe%o7a|UcEQ2jlmR9!Dp=I;JEqz;zCbkFsA;&;XYJ3Q}70}HTqg~hVoY$dg% z0_Kzo=apuZG2J*$hWTASDwViHF3E^eN*&TPl&wt^LVcw zt4&;UG+{whc7|=sE`ernk!y$$yBM5FjQ@+Lc)tj^@VG+N8Bq&@t^{oxZu%QqWje4E zT*p!$-Fg6dd`XerO-;@9R+Zh2trw@ty6oJt&bsVcvi;12ihZyQx!NPytUy%LO^u}U zoEC)*0}6Iz6?>8M2qDX`XY5}hKqG_;Yo6(s>pA6HwqKRYdHGxZO?i})fLh8&Wzn`m zs{Kdh{gR)tb2fOrXia`q#w_WaFT*zBL-SMUQW`Wg?;pp>}GWV}Gl0OkgLrAu#AhagMS z-=USJ(9C!oG7j@VWDP?Yn_8vIrz^DMk-eyqdgI?U4ZS`2IW5M@H4WX~6I?(z$kEL+ObKi3w#(kVLeJqK2U%1M1yI`es30NCWwfyoJoPUSUS4Ve>)D@uW_BmQ^vfDg;Po1&Lnr z0dAO<{q@*>`z~Ol9R?7J1O)=0=d_kh+kTG0Wz>t{BN$WVRC*xm1tdf`5FUvaR_G3d zW5SE7S(vxVLuBw2?838j%4is?KoiTTLwS6teX5~GL`G+Xv9luu8g#?xawS)~U#Ss= zI8Vv22qBBOR&2LXQBwMW>AF!Tb>P@`qYLpNPbD!yrR9~z>j-HJ;D?rh=z2^FwUJeD zX;sGUx;>FqNaB@7wmUfcAuXy{`kGAED&?Bm5 z=gCnyG-1nL*5or-=LwL=RQnK(NtmEZn}Qhsl#KL&^Fio1erT#pnJ$K~qXXTF?A#;$ z4{fN-)_@W=!@o>i^nnRY{gohG?BL3#>w`F&Ea1??Rkp?2W}Bx(ZY8uRt@l>%F+$xV^}@n8OS$#k_E=EfU+5o+)l^_LAXFMi@;zm z{ZMQb7xWqsX0ga~>_tiJ&V76Wa1n1lg4ps2F8+S*RCIWgTNl2(yzpWyl%d~M*v~`G zp5XBI`yD3^agcFD4yq$le-4iQ%Z(%UK4I~jZ!zH%wxyXX23rQYfSa;3V0%CoRD}!Ez|Cbt zc%%T@gE*+EcwOz+ho-Jn!E@nNXSOOdJ7J+M%OMx648wAYsubH@mX)nDt1I+O71(SD!aHw8WL1cJSJec*oO?+=&_W$&^^!2Ardyr z3&hcw&MSi6Yr>Q)9IDoV@nr}a-&mf6^W+!{tsoG6J00QhsM!8w4lCfTV)m+y`WrCmBn+VaS!>OYIxe5WlIdLocRc< zR}=q&@svjzlHHRc!pM%kc`e&3NnZ4?dC*>a?C76QT7k;0sW_^p7Q=4WstOSz1oq1F z*YUMyuY=eyXmWWSoJN~K$9*~CN035EfW!?EyMeqR$L{eAl@JU$@{8g{grZ||L0L>8 z6p^ps6(xEBM5mKD!BVhc2|;1#QD)a9oOp)$vXGrVm&uvFf^y*WgUG8!_P{Ds^8qhW zttD0sPsry!igY*JK~MYmT!LEQ(Or{{18c~av*LnB{F?KUc@iJyfgSLm)HI&(l+rk z*aEUi0Qdp00hR>oG9&{8S`R-EUD2`Sk_8i8@Ha>ZGcpQ34p-LUI+TO~zI$Mu3xzHt z>HcMHU^P}?A{c~Pk;y?$fOgU9Pa_@vQAr7K{_qN7z_W_i8_aUod_aUsx zcdojmwX{*cyTFK-1cZnjfrt?!E)7y53JdPUB8vQN!l=d+{qayn)TfXYPZ=mp^6$QM zaoq(be`pB%+ZaYb5_mMVL{h1lm$GYOSZT;l3D*TFO=b*}HtZbOpL*X3Ns2Mkx^lc zi-cTkG@VRkeGFY>B~8Ick?;YFuPozu04J_N8$TzOWj0P7l7!=MDQ=(=m86x5Z;&8* z@(@J#HWjf%8cmvM*sY))8_}!-Vm_3Y5DGue#DpKd9c0T05X1mFvjI^dhxUt~R2Dcn z`w_PjpPx_iPtv1+(ExKgvFsz-(+4@1J_&~9t?^Ck(=aZA^2nqE8-onRf`&^GrP85O zC?OZ^wYr8>d1T3?!I}8`3NjG4 zrMi(ondjtbRrxl>f3)ZhCA*0DSokwoPWQJdj~|WbFnZDS>}q z0oU9BZZ`)MhZV|UfltSv_-F1iK1hAaR9hE`cwj{;;2oTwPcqQU&h4Nqew__ zMEO=WBDn^0V;NB_sC|N4V(U$BJ?P(BL?cHC2wvtUZIi>U;DMsJI7|PuL6&8`c@$G} zVT4CO6Bn6^-?%}iVFO%3{AB|M$&SKGB_EuIxQB*O$(4cUz+y9Dt}9zrMg1;shtH`) zut7TVWE+#g%p+(B(j(DqS-&b|uU|1}3<<&n<)O}^L8`qiJ8WPN?LIzV!EK=dVg$R+ zyj)IDHAmbI@*n&KImB}EU(7mmYGuc(@r-(rg0MJISCDuFX>ogo;u|O`{dcq|>&E8= z4G!>Bsu3Hm4YFwv<%5hmz#}nJi?UmCplkxkzU2MTFg{_)W(=6TOB}#NH2SMaMWr!^ zgP=`LRR{JQxf4pNJhvuxtr4uvak$APB2Y6ufK-EG6uB=XS`75E%92vBUkWXyPWm-%u@7c#INQGg!kYQmJH6I#~?qK2CwLem)$7 zkjxr%pXPk(6Ckh+6Ab+Z;l8N3SBifq7HO1zzm**@(+0JCK-Z|4lg7B4fv!V#j#RqU90wC)9mr+FflNuAyz{wqM-#Y~1mv8_sC_`OaRGR5v$0Y~b zvL3;>kiv$wTulFQTx?Jijau*=EC7iR=n)`$_KIteR>#p*{Z_BxnSL-3@K zh{KeL5#+wWJ=BGvpYWdUE`K3mG;8(GY@r{qBepLhkQq5d+7u81kH*7;T^R`yI1L15 zWu-85;){-fPc0Kjst!B=(}jSR=cdX4A(f@&kQhBSYCzgNj=UOiCbEkn0aiw2h9w%6 zo(m)?4`c%bC`CxzPB|$B8DzHwMJ2G4u4a>JC(smfo}MP`C9hKq%?Pw@1dw$rqXr^M zrAL`8xDayeif`yz1>>r6b0nM_-I6Dkx~}4VS?0yjpC>F5;NlX)2-mecLKs<*^O51; zaJYgsg+ErevbkP$cPn(!K)E#LPx23XEMz8s!!~;DE2b7JTl+8?L{J6q3AJcBv!CP>8cL~#z*2n71AA+2NhO`^Q_q(J&HVqk` zFUP0EE80*eUOL&bi%%zbOe`<6PB0350@W2%&_{ummayw3rbB1@2UeFI*4Xgmv zGCowdN5lR=$Yd}$b0O~8`E`6^`jDT;&j5j%)cE>Pjxv6%s7Y|@hHmtmjvNAD{cMPq zazsZv0SgG0eR{oQq(dpRqc(JHcBKD8A8E)}E^@vBj8te&{>wh2hQ-gxO5aU4{~x{m zN!EoE4P{Scm4e8UFH=>cK2+d|q+yrr_A{BsY<#HLm$YVhfQuysNjI+gKZ~B|*G579 z7U|x>^W)TJhsO2Jz5Uov&79r(_qB!Ue60b-@C-y0+M$q~6u19gL?`Ae#J3VF-rrR` z|3Lh7R|EmoWkaHA#*u$4O!s)uh0xua+SU!&pKZk`_+Qzm^5J4NI`C@zg)PU{h2Q2k zCVSDMGG#fg^T=Qa-W-yK6;r^~RrT9z1OyHg-&UZL*a^8 z_~U+7^GBe6P#`g;KP{Pkae}*Y^bH%pBz5t7asfwnNd7^Rw~w@l)d^giJQ|?U2hR!z z{f-S!|B(=D`aThJn|3-kz=#ahH}=sh+i!b0(fwd7#`I+M$9Ma53ZD!5Y-9P^PjP{M zbq0fbPnCqZE`Vsi_PcibCS~3Y7w^L_aDpZs2+u%B&3lJpc&Gd|l!k>BzXS0q2WY_Cd6R{kcdhz3*Z?Aoy;OJvj?n!o~Sij`HYF zRpR`K`A$nb$*YaoiykU~Qo4q@MH9}}*F7*k3O3zm`9QGZe2ZDSJ6y4g9n`JOV}S`C(~zGO&;Wlb{}IJAfy28dD%20h$~O*j!*lZas>j8fb}Y0a-{@?ID0M zq76~H$aqGvkSzlnT4)RahDKBLDy6`A*-x8RkPqB96*IILj4DTNJVSM?Lk~PY>N_eV z4w%MbJ~Re6hyX6?1(ZR=p-)j6_N0fE9jjvY8PiN7$)o64!LeH{u6D;AVxVKpS_EzZ z{SYAXA8Sm0np=qjw-~TEuZ4{%#7cbK?jcda0iDss*`!+|1g@^4S^#j;euKyw87^~+`hq^v%|R;!*UDOJ&o5T3*ds!ea|K~~n?Hs1@+*Xg+{mDLJOvNR7VZc^=J`wHgUUaw0_6~QQt_EjX zc{3c*({0OZFY_B;tAP0N6m-;@cY{KTJ>XejU%d)V{BO9yg@EULtkl9-{u9lYTU>l@ z7VkkO1dP3%&&p}r)%towST%F9Z5=+5jmNdzoIB~Zt-k5B{&Kr|)s#yuT=%J$=SP1n z!Z>xTQZkYYeR|GK&-laY)>2>3W>U-fKhWHMp5d_j`-3sHN-cU)^Qy4zc2ABL{?|X} z!(xp2-N%{=7Y5!_MxAS~(ano(Pn~BD7sEC8XJfij3paex4g4)%@<@11F!;_6e4k#1 z5(6O2o^EeV#a0)fqq``1`A*i6lx0Z)c~ZSn6YHXs+};#Y$;#kGWR8;!WFyUSM-iG5 z21>pDs`#o633G|}$=~-hQmA)k40ZlJc_x_kS6G-omlo2(5?*FoH`xBS)C!7aN&8+1 z$go4)pdR^=8?5>90>Y#G2DJt7S46OHIz-@D*0(zfU;o8K$iIJ#f88Dm3O-b$bXNf~ zSr0fGjBR;&H@{tML<24w1TATzpci!1*9q=ga$>;5jsDp)cu;8jb(t3TpFXT9uAXq<{erCKiiISok!NPcsov3e&o?%eZ^>Qj*T%^^bK^A|TKY07E-?vhXnn<9%$#1pC zpVM~u81JL%4S+R2CcotbMEXRKse3~l#LIBXnwe3BXr)h4ur4_B0T5m~z zxkgg%nn|&1!bZK6`e;)_et+dceV^2Fh>hd#LKHt@h@P?FTD4xE`fekWe!?0@zxo!| ze}3L}p9g+MK>`8uNq^I+tDZ{-N^jVZF@(*eZi*9J69RyA?5e54*M(AK*oh#x;)PEI zK(dnI+<*ic-+6sY4e~h5Drr$cax3aW=z@RJPm*4DtZTL#_Z8e5F3WBFIu^2j-n|A^ zTAE6xuvhDp*msv?=yPH7f=^vg7dOY);!6^a&(==>z+Sru4o_TuKE6XIaZ zGzrxnnQ|uf0cmp?jlhS&SwKxlyu7@?A(*~)Gy|svIk7OOU|SR7$B)8El|@G_VHWkY zhM;kfWsvDDk)dN1gMbB-0-qj|$!|h#gJib#XK?PjOfy>x5AUy?LPCrcc@pZ|&|2Pc zEDth=<;cNmt7-IINox7=ecBy~Tp}DLTzOXI9iC4EGNF`U#j14*ZN_m{Qr^z*R-K&- zTMr;JwF>#Ckh5f|2%mDJ@beUY_JZa-#WU1pR+tU4CrDK>xhI-v47$G-Xx z6tbR@q2X5b1T39fR{eF~H8HOK1_lYeU~{h3aIEXlGjw8GR_6UFkPuP`F4qw$OJ$7l zKKkN1ylhmrZ?sWg`*^1HjY`sTMuna)N;D&npjn2-VGpHYUm-h7er(Blt<@+a%;;Kt z9(fxbQR!KW!*xRaL#zUq1X5*CVzGb!ZSA6nd1aNaz@6XryzbKPT8)Vtjlo13TKqMi zFxi_LSo(d&qNT1tNm(a)nz6y55U1-{rlKAOIOH*#*wsqoX;mQQh<+s#u679#n+HLs z(G50jf(=R-oL6LPj}?b0?LkL4`uFd<0;Kl{iEK)dXVriOpLh9}2}mBoMk zyP2Z$*QIeczi7Qb?FY|xL&Kw*&HQDewO=Vp)>1FqmNs7-^ew&qQFE@x$b7Nq%u|yY z4tqE&_2B5Y8>EWfMUa|Cs4fdz*RyGU{M^F&PEH8Ukhn&;x^73wo#h=2p|IF_PV3di z(rBHB^h(9mqQA~r>Kvtj9k+dR*ILy{Jd$=kbHzpu_Q*E3Ywb7HTD?{JA02zblhdQW ztPYnC8U{qy_?ZR*U%%_o7>sv0fBQwZ!k*Fm{kXK<&a5nox8Ic>LbCas(fsI))Tr#T zS?kGS%`R|E$P?ytYaEIt_Wf7qnTGLmTmtKs9rF0L8hiXhIy(r;p3dk+dhA1(k3uSm zCR8aMHywODAg(pS&Uo6buc;x8#HrXc`y&pqzDk-?8|m78r# zZhw1|a}{NUhYeaZJLGy^e2(wUA?K&P_jX1E;@HNcjf)(-^myZ1`1)vp;yLM?UmQbZ z4=c^lrzI9Xha9E3Gm2Q+KD|-UH)n?7ZQO{7fINQkB0aq_qeJ-b`%H+RfCx zSLN{+FEeefbnIN5PkIU*J-a@dVSMwq-wf3y&hvd0+=XTj9UmS$m#R*0xNPGh!Pr?| zCE!vkj%qRg`X*>4H7xAh|0^c`jYyH6nb)fwAa1h3Lv|XK_96z>mrI0|5}Ro1g~YM7 z1m=33cz(T~HF!`YtC43xvow-oT;h1sFfZv-9mpyhkBx{D`A$&4$_ptQ{1svNZ z$bEWp4^x|;p7-d0iV-bDstMt5V7q1X6ttY4PbtKpEGCq-z(m`mi~8snB`3lT6lSbA z0`vXOLHdle*@(y2AI*K;N16}2=j-wHG1o<);Fj16ii4v5+kmJ<%3OkR0^v`#nT*+)fi3#PDuEC3 zg4u(QlVFIFWW><>r^VAD$yn4o|E}}#e*`wLY$t=0_B;(I+g`JCuso*mb_P}N1_i9y zbFQ8qk29@S1_*z6OhWr>>JPt;H6Dqs{Y2Z7)-UdreYE{aY|7|N*1zPpeGGlC4Fayu zTQarYjMrx1ZSUct{{#+kFcD)d`91h31}{|(;A4f#>BeGG___Y2S7%Q*@wc71Oq0o9 zc73UkKNt|c&$v8pHZ_*yJ=}A`i^+_)&hOKw^YY=2ZEQj#t!eJQcbIPb&Z}BzE99&k z^ozhhMJnFWiO@Ny8dtT=!9_XYO6hMeIk_6KrBWISH=nb=NT``pHC6H0-sRQwDCc^U+8jnS06jJr9nHV;CPE zTkYAOQ(~Dn_f;qS?w|ho^+88RqdM%c2XfrKii?k5V4YnIeaPu4rSICm2KCacY1iUn znJI8JtK%wqbiBS-cVhlI9!mnXSGB+GHOuCovs{6VWcxN-+i=&`vyh=-JSKCWLcnL8 z75S-gLH5+peq6@T0heEcU+JAr*9TPnrttLctzFmX7QHjn@ZgNILV}D1naq}FAw@7q!vAgkY!BpU^u)v zpH{$n-NT1zKP9KV;Ci==#MCEGp!Z!k0ez*kg2qmy6G+CwfIZrG#Rp1J`h-t=5cE{SEq5%^quxAB>%F3HR1|g< z`Up+-WXFaK*0g`sA#i(jG{v@-4u6Ga&w5jb@zv~$MsGgb&pWk1)xiiSRQOTzSpP_W z^>yN_<=qCJ#qlr5ff2L%Xe4L>$R;=u?fIE1iKxT$?Nqt@!3YWp>Gh7T4W%Z4`LZ$n zm;bV{EZNd^ylZS?Lt&^pBmIlB!k7ClVM5#7(aBWRGx2Tj>94#|S6W@1fd}tz_nEer zw=EH}8y~_qOhS9*8yc=gW8&a9CHiy2PwIbH^AD|BFB-q;$m=5d)L1JGgs1TPLKzKy z`MY&3PnT-Q`HVzkM>{@G$;g_s!pTE%$?l%BtWy+`4oNW{)5q)#^z<#qI*_Dn=) z$XHQ!`OC5VYITv$ok{bt^XXswF6Zad$FJ)X-&MV|avTH9i$+gd4mu)9TC z>4GWkb{ zZq@x`j%Q&k!fLOloT}O#z1v^Rn0QKWI+oDlRuz%QnKVxYB;dtZxjmP;Cez7qt-pEKtMvf7e8O%j1yreof0%8)uL)M`~WrZ@eSR=3X`y2JJ7zh5e<5CKgq;?-fCpg|UV7 zf407c{PvF@504tl1k9NWTcA^E;KB2~l{_47mDMLZ9fH(|dhbS;G`YQARpc_G{IOFX zL8=+zN@F0lY^P^&*_c9INGvAls_s({X2*HD^QY|Q>KNe-JE|rRC+=`05=~vGay!}{of9H3)hj*^#ah?gHGWXZ+@3$dztSOwlAW3lWPKF^(s+QOD z_LLiX#U9>t%9NXyEt4V3i!z-mJ>ZEyTFI~L{VEtNnLwx3>*K9AyWgPHA8-EmYsu=U zSS2{yVA#bfLYMPl_N#J;0rUUj>>QgbVSsHN+qP}noY;0Uv29FjV=}RA+qSJ8J3Dsn zd+XM%^ZopYu3Ft|t*5WMxVypt9PzJC;XURr)k==SdlOl=zK z(oP3CP71#NC8#F*TxKX)JUVEyng;Srz|EL=za*9u`llX$xf8_gw&#szJ_B47*2Yj% z;E_9?aT=??ov&#)`-1n(C{E_)54#>-WkM2bIRs}O)*dJK9yc@jjOmxozayMWs6WPp zwNp9u+IQKnUfSNCY!Ri3*9DC_`)9+FZBt#QyYxzRCg5Ahk-Fwy9eX|wCd#kdGV0Ph zRwW4V913i6idN};Chvwx0(&-V^ti*y2n_%)Ei`-GR?gTQPk-`mP>PCTy0Y?~0@n`@ zZq^2<2?P2Dnc$jQkz3^z{V;y~j%VIt;$JYuJ|3Rb&o-6iF7p^w?~|uy30X!y+l=?xBTb2VwFCMW=b39T;tCMsMUGeGb22><4a2Z>D*vvn# z+r@_%9gPsM!vM}O&?+>Yi^;KtdT7E_JUMiY+3R4*5PM7+hO;z3%e{@xaRFiXiQ&d! zgWj>vQMIe71pvRS`?Agm_5$D`ZG=BMy6p>_D1-7aA&w^qQM(`f&Nv#jk6=H(@6U0t z@b5uYA{HU{F!M|=>#K$o`gnmzeVVqfmTEejcDik8>NVg@s}!AR(8%H2sO?9K#q;kq ziIcxGc#X%-M}?Dfx`yP4#JhhLI=zg%$owkze$@fkrCV2HJq=6) zJ(BW>u=yvDMdTkUV9`LCwVXc86g_yb)sypUN0Kv7JD{f(JavH#ZbrId! z-k7t4)~AQ|0F~Hj1fS5wYW{1;HY7b9K1~7suy=!%MNiar^rq@>dv!Odneo!86TCF@ z^XxUVjHQq8zbjSuW!H)7$4X{7e|@=%EHT|L<;|Qy%FxrEx-5AkR*G3Wi_o3cBHRoi z&6J&WIl)~f;?23ou<8B^?=!vC!7*QlSmcf_53B3S5NsdY_^gNCm#@YKsY?FAML4XM z++K-Hb~Wm&BOl=CBfoEFo8fN5QOy#-U^hp-n|q5?dX=lXwItGc!^k} zx#R3>mEWoDxehY8@64k;v} zXhxYs9?e`og3P!G{EizS%C|P5BhbZ*y^Ep%(|52^EsL;PH(604E^O$nkTXrJo64rD zFS!&NUezPWJXCr3U1M)M)gGFjvo&di#AU!$-zZ^5g>chi;`C#9UVvA3yS`Df=8q`o z^l?BtSBZDEcosO^Zm(k7;hgogea^m4!y$8pGL{zBD7emY=jl9@P^_ZK{}y=k%P0M? zh5p5FvJTG{m^`F~472v&!)RlnO%jfmssn0dL*aof)XR{wcyi|C1_fI>GFs;QFp zr*pk5q+U*Fzc*g0M${Np3n1=M<(KtUT2evZ9RtSaAw4Us?D4nu*YJ6-wS$m~#(3MN zlmb`T^?|z=m zeV<-@7>I^Q;sD3fNnG=ZgtF@#9S5c>BBoqFQ5sl8)%1+P6^YqGC6Rc~%x8F^~K^u=;bi~V~<=9_dYO{Wc zoy>A*qCMACzy}WpRD3mgFY>23_#UBB;9e-gD4%_s5yXG?cPEf0P^^h>Zm*ft`Vgbe zIeiQJsY5-ZGe9}`a%BzK=LRvmjxfMqZzBht_bW!j$Sw!-`#tU^r_&g}r^WQ-IF_}K z*f8zqEjZ129!M|<@jP0-o-m9|IbJZK*8x?q-IdjM=3PPDKCi02G<9(>&&Uk$*mXjr zWG9YUY;URcwP6&#vTqN(<8AOwCG!55pxlbzAajKN(o}MH)@d22`Y7A3<-Zzxp1O-p ztM=+geM?iwQ_VB7bqT!IPoXr}*6!&<{MD*{-J;JqGOcs1dbz<%P3CFfx~uc-AX{Rg zc9FgEAe?CNGSk~`YuInP*`vVAcoN}wQ zdw;6iKxIMrqH9Vg%w87&7=yWcPt;UTaG!B~jl*tH=`@oi-+QUsPWb#5b@e7?JU%pJ2ey zo5EU?Fp7i6!{u`nzu%Jil29#pLDXL*5qGJan5v1n5~91Z57Z?;k&2?QnO(w9IPciN zBr~9>DDO_3Z6|P1NF2Qh{8-H&!MjTzaP42v3gfv9$zc5_ zo8N0S#9jl0NsK>0L2sa)W@>zaDuwod_Je3E`zVk0soL~CsK3lW_SQMCzc?+e;Q$i} zxD5?2ksiGe-%*ntdK+ee=eaUFz6)>E1+zDUzvW4D_`*KV%5o-8fW$E5rHE`teUzrK z6Q}(5i+@D;(&d^)x%_vp%H;P$%h}LZR<;IZAD87SmaR}%IDW_Zb)_gbOrJ8SD|GIKlZTOV&_TY_jUGlPfr z8S#nRi`O0GzsJ+cl)fxuJ9O(y@|RyL=T2xth~;AmY?oD!IqnoQv0aNEg2eg#dh40( zD197vRRx#K9^WJ-ksQeYmVdi+3GXm~aAqEi%bUhltk1)j2E&ULx5-A?akY7DzJAw+ zu9+H*f36*=?d=4sCk4fKW@EPnT#KScDmg2Zcr1qg*@+tZ{v zJOw2f$qf3GbdnA~Pw?1lPG7`4ZZmy|BVg7~DseZ;=h7;R;&<)c+g3S!SebeTrVtYP z?Gh(uPZ2zrE8Rjj9~wUSuQB*iw$Ikw-gKJo8h@`hs-%Pz0&2_W2)uX8^Cqec15%3S z9BgLVuZsXyZTq=x!05fUtdrSiyMX`d?)y31g8)qb@UzZG>#+UUVoFG`EMJ${Hf z{sT*o3Fq;ybl1LHmIyEh|0>`lqK;i}W4(Jk->dS8xP^UlYFz!98aKV#Hc!qs!nOXb zJlLP6McDdOwJ1{?vhnwGSp_&pdi%@+>`8N*hnl}4xb3>TjxU~=(BGkv?u?P!Sn0Mu zH&4D4B61N#-_rk}FG&J4_^qCxAf=@?QtkDbD(Xq!P94tLwj`p_9Lp*ukB`R)o>PDu_aEWi^-I8}ij%fNC zi5nU%7L4na=CIG(IpP=0d}*b#zQJ^=peuLSukxl>|A4feV`k%rze2J%tS|I5cHmwc zI?Z4*U^A6?Nf>aQUiH7QRe7`ke!RyLew}a%&(5;@+>iSQ^osV?Wwh!RTkchTzk1)B zwG>K&)m_Y;sj03vkB(l+-yqz&#sJ94E@RL-wT{p0XQTyQO6+gGte+;1LtZo#v=dnb zgvfZD>h>BSc|)uu2XJfN=jc!O?E4kS_p!?(J{h?w5Ou z>-fRf#e0;aLktszov)MUW7@KE-AG+k#!8;GpjCi>aKYRgd{!PKQNz!A3u2TRvCoZS zHdg~MeF64E-#J52YKks`g25MP_qO>B${1BQCX>D}C;u+Ub=to_$SX587!?OiehA~c zrdQj(ci$cGAh@JosIuHSCV75Bss?`KQ|e;0fHe#2BvJR! z;c8}G*zxM`MrzI&420}p2A*k06DT25Sv)x>vNYC~AZnN%vZ{oLp%&JyzTxLq-?w4C zF9?6)`PI#U#e0G1P2hdc{v_IrniZ@$kFFTry2n($u3bVG+~Ciq9+Wze3&q1@*u}%u zeZ&D*|F{@ls*wCYyHmF){XX~K_Z5cLZkG`uNe$~t`OHe@atiQ>-G4VLAuMsfMw75*gpy5yD0AoVdZM;P@2Hfkyi(O-S=>=RICl}KE^~w; z4*q3b0B`qbNasqO$?ChDD#t+QZ=L+n4Qa=Bth~xLf=MD4j&gI6J=N!R2R6mc*dxID zjHN}`%(kb~@xCiT=lFB|Ld0U>PF(h!=!cy=l>0hBo>*sj5>ZQ_9GAWFLQ64FzeUAVsYxD>u%E&l!1_eiPPO}Z_7H-yy*bLq{M%y zq|={@HmpE0e5lDZul!g<^l*X^_65Lsj_I-KvL3Cb#aDAnc>w9X$c8Z8s0^^J;76jE zV1-sS{;esgak2;Yi}N4y9^I{hK=xUWl}=iR*X3av^ zNu1+N-*^>&qff)iHFAp*yD56P;ClwdS->VP`|;6bL1&7K;`8}o*S?hMTAd7WxSKm; zTkI{h?@gJ1b7$|JlS#}+`S30k8)**RNJ29T| zM$cMi*)XPS8FF*gS54Y-YD*}g%@Us0_2Y3{*HX4;8HJX<(%Hk^@%dYYxmquh9IYJ> zMkUu!=f*>n$(hqlA=tw-ID7`<^;3h>^0tY&H$D3tH{+-A`^Mqq)mnts{7E`fot|BD z(h+y5h3`V}4N>g1rl+^kZci=o453vC=imZ6spa`yOR9`6`je-#=6QB`d*Mb~;o1C# zTGgx&G3SY7%9_*4=s@HBjrwehg38XYJ9C!Ep?~`1y^i1>@Z&_#tB=oXrzjdpePb7$cRb1 zi288xXN!9m=8Tis=JmMpAp+n4??83M?}@&%<#TWNN*(t;kc5ow&i?3BDaaml^{QXQ zHu<#as)3&pqbJ?vQFPOJ;_)SR|CrSXOWNr))DfPJ@|< zn(Mn?GdrHH=nfc!WGMr(dp9@l#I1riUAq&mLmT4Q%iv5^NNCw={*qS% zEi&q~zF&TmY?f6OH%L7-CyxFrBbLY0(!}rh+db>8D!AftZW^2E5?ysSTY(CJOXG+i zW^lK8*Rn6Q3TNG2pH_SCSzYki!aTm~zL)oe{W(#M-(?;ddE?*De}?LIIaSrVxo-J{ zNtfR2?+QnHxfN@1-x(?#ovM*)+$_azH8PKv;uA2c3Aj9`t>+ls1!msPZUng<%rkz! zZv0=7I!c#ViagD1lv=M~bo`*&wP~(Hd9qsi84&(LwKbeE>E9>jpE$>$n-FbHE5xCt2yN3 zMEfdMG}>Brk#7FSr^WT&7cI|8&bLDVzjtKISvx>y!Z9H(4(g^hSAh5D_}{9srd*xL zr~%ZAfWC&Iemc~znBTBmN!afe4p*V>LsCag#5P{IMz{haPl(<;WuJjeo z&z*ufFrc|Tz}uNoxBFoa*IdF5K}c5Xg@n6Qm>$Kvv$ONH$tU0AUd7{9KvoLj+tL8% zfS>|l^%*<519z_*T$Ci_Qd;w0;SOT+rsI!tEA$j^L(V~|aXwqK|annDE=DF2?du-d?_KD{*!W|h=(pI~z(V~y&_>jJW7 zb=VLbb5dx?;h2p*{ol6|sVjG5sh2RL$mvt1y<0!=%3BM6I;Ydz)y;c;-{=t{ZbU7n z^vagU9V}0;%mVkc4S>jm#6Z1CshWXr8vpYX8G{uaEocCs~5FetXo0z2A)Dv5BcpdEqV__b_ZvkgW9&wV%vug{_W#6 zuFBaJ3s5qQ!w;{=phI_9ou^;BVZFt#P?ylLcj;#7wppW>}u&NK< z`FqmW*k?L+p1!zJ`n<(x%2&~$O`UQD`fgGHviG{NReN2nA7ID;Q;{h5g1UA3K9cO} z^u4{7_Q^O6Ww$@=13b*tpv*+!^nshprr2-2bm3g&Kf{3|Yf!ljY^{tj>%Kgu z76a9&G`Ws|Ha+0l_a{<(c<9BIZUJCH2@2t^3G{A$MbPy_W89Tr{8-qOjQQ_2UU*#e z!%YW&)1p^1&1SJHfOVlF7_`S?`A;UU=q<$Ync#}U{$ABo^Fh(}=B(=RO-rw6Dqbt4 zh^DuCXe(aBCJHSY&NJ!5=pBPnvUmF|@Kwx9*VHMu>%G>~mY_9Z?{a{Hwvq7bAV+4= zOjSxE0bi0;%g6hcmG)(W`@TC%F89s^V7muVp{0ac7qhj4{LBdc{EXA=&t?|nI(k<9 zv;&b+bzA4pqSNYFUibneBc@CB9$&AWZOJDxF(gQ)Z5e{SYxF! ze2$84ui1A>oXyES)ABQq3~u_|hR3N)bnT|#-q+h=RWIqEDXkt|^)w~Q2>MMvmX{gu z(K_nZw#pdJin_L9$@@=xbk;m>4Y;1A@^J%@1aB*V$jkpOVlszy3i}fN|748+2f9$M zm$5Bn1p!gk0s;B;KcEX&Hxq~7CN95OnOOgq#0x)IfmHjKJHZ%1ISF&Z51|`e-;%43 z^d2(A(PVQRGy4H;SyXda`&L=XP+2m#G}#y|xCzzrUt}`JT^0=1-n*yXeYZc|b3b2S zy;;1jIkvnn9kcGWuCwkp_%U%6C~(0f9Iw;UBFdN?zSiP_0g@re5x+R0)h8Cobi-I2 zQCl9KVMig7Wek4@3yxNnp=F&L&}oD;wbzU_q?UxG43yRVn$ z?_fyK0JVpFB^H06W%deSI_?9Dn&L4 z%I;U-*CCBOE(@T$Zz}w1iV^;c9;{7HYM`fP01=wMw%`S)F)*lYu8mtJQ)LqL3Bmvt zP2Gzgoc?D7zbwt3_IDmgov|*m#mNRIW?NfWI?J4*&i44O1hF4HSU1tMlKxu45tpY? z5E+4_i_V!}pcKv0iDK6Wn^iiJf?xLh)jyJx$unM+MTrrP7tv{diwrRcUVd;X8kmC+ z)6miLJF4P%K&T7ISoJ(C4eGL+SjjJ`Ux=b1t#0e05g+Gw9E1V+F9(GgSt!pSR13C) zNzIL%5+N{r)uIdg8p=vtFV(9HzoS5=L&ZyJ2>C{X_k*_+OKHF(xtO4gBS0-cS-2vT zR8V~&c_sMCBS4PAtrA0!v_P!l3RI?l_r~Bsk)N{4Sg~rhwj)MIjAGSa&eJYaljP}K zVFEBN=+~_u>?={={ut&j#+&MfK7q$N7f^F2qYre?KNC$f!EC`W8il(5%%AkNBW?y` zNKDsO2rEF6fbykEFBpSIx5je^(tePuh{!UaAcX~`gN?(~KqO)&LnguxE)-A^Ud$K3 z64sUtA-es_7boUJ087M<21z8IEK)Or60X^Ag0KNkgtvlbpC2NEf!BnRGA1SZg)Ra* z4lCju36d{x1f9=DSX(MCSPmk>eg+rRI`0a?Eh_Mf;Rs0v>*(YAZkLm zdO-)${E=iFF;etTyU2lJ6gC_OMVLD{QZLlLmwD>WFfZ?gQeclmZf*|pvFA#-P=Ew9 z8Si=o#+_}EOb~U{l~R6?RPY}0^CC4=SBgIvZQ%Tw3=FX7?DY*LxUcOZ=@Z=l^DNXp zG9c8+hxT=CK}3;=^d{8^|MAx!)ZfI+w~`7zC#@Wf`%<8Ng!{z5U?N|4S=uxoeWDYx z67rDERjLTBSC7Og+G>Prm{uu*#3)k0?4yp9iR%#_o?=47p6(v9@FkZh#wpe(SMlUC zRzb-inK2Om+ueWsFW|`|a|1*?tvDYr7-cZF68lBaGQ}QQU_7Z8vCS1>u^G{OMo~h= zhFQ=y{xhP$&Up#-Xmn7(f+~|p(MIq^s`S+!y*eYN#R!)gPyy-V5xku^f3gDsNR59||_*=ME}Vh~d6@w;G6$7LNKM z1}ol34AjKM7PY^7@uQ|Jd;tMConVk=r^^NJ>ryDmV7MggtuUTf~MvlDsW~ zk2GX}_jZqzXW1N3)(y>O;O=-ka^-kU93{;jM)o+fw+TV$i_(PlD02sf+J3(R#Fie1 zxJKdSrp(d%{H6R0Pp+Mw3xOxv`rPwmRQog>oz0^TbTz@iHmem0eERxifDr;s46NsmlBZZC zM85u)1i{fBAa~SvFE&rz1jr~NGGzjMwB&j$%*HEj?)xshZTuC56oE$R>IAa_*$7I8 z<+0WS+lCMs+EC+Gj|q5*lZrsaQE-ahU=t45+2)=}{dQvre?0f}08!z=od<$i%8=#b zf_RHj_;f+|rxIFG25lP8D+bZz6T=!eY2kK8-tgLq3gR|{Xno2+ofYf1-#6!b$KqZw9M@L{5mt2}eHJ=cD+ z1_z!C&q3lE$8>N*LvOwLLNA_TgBHu=ClnZ9xkWeoLWCqx<3ts_P=)MLbV~Ft$rjF; z1?;}N32mR>!+eSw{zQ4#fKkWYcJs_vKrjPDA(d6Zi3MmXLNt^i&2h34FsiN z#tB)V<{0xy9Xh9*k?n)ZWk~ZG5NW#l`=1=KGH(S1N-%k#2s4I=l%0S|b%qH2=sL>v zf7a(Gfa1h}Zl|33L@eBbfgzUToL$Xv1g>TaFXCTicU$wXM=<%Di3sET^1!620`cJq z@)i4M%t53~6{M2uhKnu=kH7$$&=WISIhLo8z(LV}1gNZL;a zwX`-x9Qy>m_}^w@gyZM*c>B{ImN_$LZTm&-@cdKvV~;I37AGOb;+}&=9-|-ZJV?PG z44Wxu5CN&-@(TiN462ERZQM0K@e={XZg!k*E>eWN{Nfh`pC@BClwogqIJ$)>X}-Rj z5F1{wBzBxQGyPT1to565^M3v30r1JWEEswH3rUHLOLx_9l!q@WVRkd6(k=1BwvFK z$g+VV_$dQQ#ABkJs5vzG@ZpN6h=EnmQskxS=hy}=T3N^#woe?{u)6doETidg*;qlF zu&lPSpt2D)A1_9krxf6L5KCxL)Y1gZXRNNacUr7JVxS|)KSe)NpfG#1M`Zbr>Qm+B z+<6flZgUYH9S-H=l}*7Q#7{o3H*3X&7f}JzFoGt+1s!9PLeq_+w&2@? zO@?N#)8p{mSA!jic9elmK6EG+aJoe1F+5(qJ~h1F@YA8;Q>1xP|J6{u5OEX0-Fkg! zi|b!@DcN4*GPELL(oj=b#R44{0jH+{>cNj@@*z{?@~7X)Qbk9rE1N8aDdnoV?Cn}XfFj8CxxMm z${<39P>+IAfdc&xxkvuB!Y}k{6fAxV5)Zos?<1GB$nkB#{nsyo9Q^NKhV zlFRyMw==geKb;U8NNPLjOOoK$pc&&7{UZGk2th|UN~g5sWd050OW{66ZO`OB)%-f- z8ckX!E`IFl=K9!Xjbdi9d0B=tFn(6H5W(^O{!o$p856a2FQSMfSlbf^6fCUgE_{@U zpI|n~lL8=plp$EtY>EWyPcx|s2V)ZP5z*GSSb4$Zc~--_vdxqMmr$lz=v@_&r+eFl zdEG#UR;BXX3x|+gW0#B3PpZ#tZPbNK)OFX_bC`^_%{}v!;ptrS$-2op+%CBSuJGl% z*CnIMb_cqDbV4i6Ef3or(b;6j99`o`&P7*||_5zJSznwxg>|UZREDq?^kiZju*= z6H{yHSU36Ak*lLF>6`8WwcR|H9+(|oNKEbgyTL$KB*W#w%ltY@-AAeZxadz3oFnD~Dbd)_Tb+6Zvc9antq_6fiqK-0e z)r|!Z&G(bW4mmlE&ApY}5jD88`K!w>3eGFa3uD#PmhY6wX)3EwB5mlrkdeu(^zA?$ znF+gBbSF+jtu)8z9)JdHb0(O72rU@%F%j&Hnd<+*Lj9yeLQEp4<61S)R~MAWszLC< zFWK*pN^;GkL1{WAA?kmu+3ge0mwwLfzdiFmwg6#Fn#(>Ta`imgVT@i<=>Gamp!NJ7 zZ7926SfaH&BpNNZ4fD{*OhTWSX%LVLz7X>7i0v7|{{+2nNfi*>9hX&XyH#qjwRH9P6@#1Uh>;P`Fe{;{ZY}G)I2*#zq-6Kp0xsFBmF?S^xH}PJaFKl@dRk zIXEVMnYkn^^rrjMPGokcF*i(SI&5aXj5W18s@IxMwuJxE+q)nfwO-fa~4lPGq@2$SWtiH%kEVF{3Imp zI7r=e^KUS;DJ3x+3{hJ$77tV9ZyjyyY%&I6TO5jBd?*Ec7aZa0I~mOxW7$XF4=3g`1}?RPZ9yrPY|FbEBX&z!ow$ z@n$>VXY*xCRHznvr;4WG6FbcX=xCX1wA6wTC?C$JPN;+Km}V?LD%}&qIGvoZCiNGR zkj>QRS)=je*Z7TZS;$k-rYWD$a(o3Q7eBsRdhUu3>7jq(&yllB{m{qp`InK#(nN=n zm_gVOg6SdW>kYJ{Y58-bjF90?(W4#ZRvS3R#;!7DSFQP7xKho8gOMY57apLRS?1x< zcIaiiQJ>9}dzrDt1*luW=#3W(oJ~hk$K{3klx*UnfBB;++4cgZ3qCSEFFn*=L zvwfJvtnJ$JcLejvX*bj!3T*?%b&&xa8H_c=B1mQ5 zHtFrXhO$71o>Y+o&&n8VdS;x>6X8HIANMR&^s`GjqFCka9mMiY*+xl9X*GRCl4miB zlk+V-f}|(If=D4RL+n~S+*S7-9wo4uS8ClZnvzCN zp)nc6F6XK{6h7RSP*cAIq?6Nxp%Y40J#-F-j-ZJ@9Sr>OwfDXHouz$TYJ*s94v%`k zm^CMzTTCQNj=7DJRyxLHPFKBD%Iqdn(%vEm34A--bA4k|Zt#SB+Wlw>Q4QXlbPM!; z&n=j)S`%4cH+`uImK7o}v)i+hIV`j?Ecx5=>Z9T<%vKHpm~rCJ&yVXbeKNVf79%gK zrB`D)i9LJ?L#%!~hQ~K6iR;Qrxw?FiE}(gw4i&vo!tOT6wbB_PJ%xp`&BX)lKgO}? zovmMbY9yt2O0s8rNou&P%CZ(hy1KHeH2qFUsErus=_G9&bAY_58&ev?8Wj#RpT(l^ zrEF}VA72i;0T13)^VeT zN$+|~f@)R<$!*mNK$x^OiPjY#8|Mp4=eNOCuXpwoWG=d^;k>0ck%xHGu)U}6(W(yR)tV?K!ShgE7#ogS%2jBfwR3C+i=f zUFR0jMzW;zzFx*q)NB^Ylum|ovyfgoXTwQynOa!kV!yiIV9pa#h&0&JS2X7gv43ni ze-GKB!n46QsSf5SOF)|iqe&p@1*wo7-ouOjSj&pBaePp4o`345XEFnIhi zRZ+oiMdiMOPnFF(VXk^DXb)nrX`tQ$)EA2QaV{ynHv=DO zftQAX>@wXOP0x|@Ob*D!>89u5sg(f>8K+YY9a`aAtOAPzy4YnIgvi2bNm;mqKac%P zxhSlZeyFY@H>DI4o!g$yZ4!CisI4}$xUAl+Q6$M|8y?$_9dC5|PZJ@Y&W-E@3R&4( zj1c#m!t{g&5iO?=_9wKj(M6MBX4F+-5+ug;JKr5%Z!g{{w>n4Le`$5wxyt$&Xtt9_ zHmv&lJ!28aK$#tmOCUoYz!!LoQytQP-Eo!jM_aD_mz}qiExPV2HR}IX-h?b*nW#|X zWyYUkcHi@SHPfL@XF3Rfh8%t-&Oko2qx;H_FkP_Aw_0u$9_3V<| zxv!g6`Xyy?2`fbeB0ZFQzv{D9;E+zgN^?E6Bb6#|I@jK(;v17ajbfL(+_W$1gjAC^ z;-@y-cMh7y-LE5vxA>$o&h5~0dzp7JwZ5FhlJbR{AF>o)*2`^}S|Uue_nmH2w=0}x zp&{Q}LG9Osh&lr3oV3a+%%N0Rn-+ITB})o8+poSrf|c{E>oX~88g`YMj>B_l7fKG6 zcPvUeeMih@aGBXc#M8O}TG_Xs%?qp%RfGQBG-1~!_fV@~O3zDR_ysxb%=jENth<|I zm=N3!(Po0!t}FUL!>3o(FLW3#H(k3vXLeU24La0PGRj_N2J-mmBS;Oo^UCg9VtB%U z9|E%^vaWu5tV`Cd7ine~r-v{sC<1CmjfkOv%6hn0$c6bio9f1@wac4ifjM%GDXk~o zokw4sXrITFq_T6_eXFN~UyrzXUDxmQb}uglI)=Z!r`Y9tI7Q_DMLw5T9q2yd#-9^9 zJ4Q2@B}m7kjq1|#3Ss_=Y;>8tvLdAE#Lln88YbJjzuSRKXsn!;Gh9jH>VoF!_A;70 zN$sQMn;&CHXS>(5J^W)k6MvpWtMS~W(+x>{Z6E2mYM-bxw{f}0sGIpPEZ&o6{!}W5 zg_ki8)Hie&yW0hZkCJ6p9P|{aMH}JU<@#^uOd4pLJdhpP&BQkVU>;0!Lo&ldpP4UjRe9ONM<-Nm+0v+e%@E_~by2NkNN?F`Jv!A5wTyQgVwx>GB zDm|lVV`HZlXqQ@{bxbNlr(SB}r1s0vu<~b*A}kHjszlQ8t~0Tz6+-pUVo@b9@L*f< zuRe!dnRNrsk@I{H0`Ou+?b2q}cg9b__Ri-ow3L5fq)wR988` zxEqRS_=3*nk%28%Pvl3gaol>{^15!-LJ)KR(W!;TrBS=phmGxK>R(B_#w}W1Cfx-A zx5qg^==~+2#V##YH#(tBy#zjJ?#?ErI;m)hRKezHQpP1#$;u5}-5` zDY6Nbo3N%OouYNsnj@qJT{nYR)v{rLy&LV7Saf<=Q-Ejq=TxBxI~2AXk)SR8_^~yfAlS22Z~pO560s z{gwGM@EGam+?i22Tg#CTQ$;_B_n4SnPeaibVLve48*u~`=o4bZHrclu3ZYYZ3f zoESQ7;*RFi?^QnJaw9Ggsx-FFZQgjVjCt2Pz>UTzVQt`UTuACjd?#~qq)uqY4KX_=0@lH}q=Qd; zSK~OBFN;Wt5wWWv)P++o0CwGD2h&-qu-K?Svr!IZ^4cl5SOATeCF^3LejC-;#f&FSbr2wzb}|BY1}+0ql$0)1YQq^!BRe`_2}3BPGMKf!|JB zKSOk<0=>>d7ua}2BcMc;2h=V*yqLr`W&Rhwv%}x(ynyzoE0B*g{oH!`bKTq0k0WlE zC~cncBk5!#r@Bt7#twfkZO6c?CHvzoG>F_Kcur?EU1Et?w+S8)*RNwy`P|*ol2zyaME2V0{f8kAU14*=zg=lr+j1-l%TwT7n=P)1G@`vCp zSb$`~!1C|TDB}4Aq#M-Mr!ZhirL!- zm|r#tdhNCys`^=nCa0Y&xS20Q--v9qaI~8jnp(bqCv<$B=`13`HMPRu@=$(oV?4BX z?RFF6I<_SQFV%K0_ovc~W9(Bl2(Dj^x<&#UIn9a7cu?O?XWZTuw@7zwvu8#E3a_LG zPjanx4O!&$wPFC(CniR-`YUh$d#IZ~UWIVo&Z{$^N)UR-x<~&g|9(RTrWZkBD{Nli_EYD}giXBA)Sj`O}D{ox2)V@Cy`2whR)Wg^U;nPFgKz)Z-x z9lkw&LFC=%y=fvR`?CDaOc4Go-xBb+G)8BL`K}X5u{n?7KsC=_YR67+`hLcW! z_xyboH#455M}2zv8^AOOK(A+|ZxZ(C7CH_o_Mg)}a&h>$?P(wr-ss zV1P$rY-K$erY1vt#q23ki1y?rtl?Pr-81WR{l1Z$ajeAeu zZ-O~WUF9cU=m~OuBq5eBRlU2*3dEEb3>-l!U;U&Ugs777e$tiJ6 zEXIdjHmQrn<}ZQ&J_MBU?ZsF?`|gE?KJ@w5!#Z&tQ) zZn#^II7X-H>1Ai#8hLU6&tfaE;C`%6g^$vcj_@GIRol;unkIS@-g+sj{O!VG(CR4m;NFC3kiol`u7J3kz!*~TUmSORwR0dn)VpR6`&3H~( zmIb!yh7)z=MSP7ml*7o%QM{+jPPJ59{0Pqcimyd9XCmd1ozkNa<-tA5!M_*27;!x$ z5%)pmav!)Q@70P-uQ>}zhg}gfNd5A6f-Llq?%O$N#mU7+0=|g7Yi@7f=*~mQvMS!WWa0eYH#~&m_njMW62r)bc($j1(0qtrIXGPZ|=|*h9G{rfL<?4j%YApzG<2v;?3^?F_l`*&qzWiO#?GJ3 z4XD`Nf#B8wAuOp>a1}9XI}pHb0e{7ahMkP)P=~c&NA!CBj98sgpO^h&4_KC1r{6;> zc1~qDZu(S42r{B}sqhaPhKHvc*l#^-lVK;i?RiID_T!f2<&6w_E@;2g)a`Rmh%%+R zVX|@_|9I!LazmxsGQ<8i;{ZP!sorCIMEPme3tqqyJrm{WK zJe(wPYF{K6 zZYf1*nAMw}Y=#Jnvc%Ouw{=5~W8)47M#u6#0{3&pf| z?wu|653F0JljXMjItfnI%~NLS;V*Po<_fq_=ww)vmP$;8`5HdX?K4HKzpW7llF)W< zO3FKxH}z>Z41s-8lZJewKA=%cf)veO1{_RS6@P{LZh?b5&39b5&P*(Y9&2SGqIXUSFci z?WqJw%khCcib_Kn$ZllzYS)a9+3(M5bAF`S4pn0f9#$`dz2@#$(fI`lKFX{E-L5f{ z_ZMaFn+qw{iPuqfd)vsK;#yiK3MCKsm?vdZ6Mq^=a3(2koZD=Zmqm4Av6Oe}9I|%R zU4zeju}f8goZfCOlJy@iLTuChuyby1Qd||_(AJ)9# zG!Z*lS-wL4EN2fW3+b_}FO1aSn@!13RPv7N1ujQdapC(&$N)R(-WQE*jNP?oU1O7Q z64#~2w#e6`Sn2wDeYtWsC2SJ0=%U6V#AKsM zBsDD1>^xqQb@;d*R_`uN*3_fuk@qMJJ5IZc}tdjrw1(y+IUpSKKt;^;MVZD!>#yr zJ&YTscTEpjp8ma+f-Oq-l7m@wyKGx7pV_XHfaa@SEu)&${*tLW$g>)E8n;DWhrXE6 zr#fHHKY=|ehuJHD04=*13QE=iZd+0F!{MkhWVSNoAx;WF zQtutFrS#moe?+~?c~m`PzPVGllKCE=eplf3mbLTl_eiJz)q6gt3!n1@a2~;M?Kj@> z33!!*kMy}l&1>ysS8~xwF*DW0N+;Z&xcO97fM%3)8Ws-=tMek!?(xvPdRDO#wV1#! z7Lk4dT?ysLPfYixL@%M|KI;*=B=~%^cSh=;>6hSe1&-Ft42nJEVJ%B5R0B*u?Z?h4 zr=H2it<7gsw31?B`Asr(9Tp9_qYyU}^}321sz;@xX{XurfUl1Akmx9H8P#E?;0$F! zG%m9q-2?QRh3jp5x8tQ6Csy@iQ$6y+*7(35do}7)3;8wE{ZN~aPcbH{`VR3(5Xj79 z)tHhTmVG{3GdHh;6X>J5;U-)7gnww%)+c+Fv7H`;R{xGKPUfSs%=^1pwGJHHY3UDP zQqo?$b#rj4ChUdIjc6e6sA40a0?H)N-`Be6Z+c$+C*enrPAGi*u!_*!Y*`Rw8%3f-q7of4Ghu%fooSEhcy${Vl%uL`@xn0+(8a zdi|Ynl66NxTs(B*l9}Y7EA>M<5cbb%*e3*$cEBNXx*5&;s*PZX| zZS?$gft5#S7!7J%t?tS)GN~1-j1<7va)sMb%$30JFycFFzfT=abL`pcxuy!ZfVfe4g>!{KOI~56F2ip3d)vC z`QhnRztWa+!sM#AI&mxVNo(>0LYmyA`g5JTf%*W)QS62Yc!;DeLyhAEAJYark||98 zv9%mxRKJ^g+Mo4<9RjLtGfO+cYQ}AUlJmD=oBLlw-@8Go&7?eCShCClU3Zns^QFke zT!Zc2i*lA_H=74}37(A`r|uO2;X~#?1+o3YNi#{rYh9k3*%o>CAoD27HIKs#Gt^NZ z*KKCg6tBUqdLVDQ+3!B}Qmm>VWbVxeX9;N!27d#ex2Zy_f6I$;l37n~ZZVkkZLDqO zdnq4|@bxO(%*O7Io3mI+AJgc8?@28jp_YSiUVR$zDZtHGF`jP9nq0OCz zAN>ED1;N;(s&N(kMNjHtnQ9%$wB0xft5o(x2p=ML)gL^*nHu8@$uV1 zpUli!+gkhYXA3z9TpnBm007dr#}`zeTfzH1aL4a{SFPefjQ7qq|a0-Dr*f3Py9E4c5AH9}^)k0MY&!8Isgir(_%^YuG{Dtkb ze^x*NAd@h^I#&{0sMmi71ZSyl0VHG-ppjoNBoOW#@KSBZL0$1u@1x-=zz-wNjzZy9 zM@n_fAIki);M5rW)jSHI_wtuK&2q>%eHF*u|EA)QrW;KjFl$b%*PE7V>oJM%O&Bla z$xVVChoHEuCu+&RdAxOAIsow_9md;le`mpd%|#&bti`w@ ztGkdDXuJ@}O_ex}(-$XLSF%R*u7wbg21j@@XlfJThQ?lHkI2Fkgt96@wjoF}H3A5r z4KO$Q%WnfuJ&ti88Wll^Jh&cLyV_3dz^J>OJgX=f4AMCbEDGz?8G6UgS{W@-)fBaE zso_RKX$8b31(rSjP2H-#t1aWZYiJ{5du03xOKwG6pMWi14pwo#(JLugXOa~FA1Eu% zGav@9oE#0A%;*e*sLU*D2@ic@V3Da0Eu#pOnvdbT#b~ee+nI!g!aFz&Q9l~eEL_hR zN_kAc8yL-LT*!ws&6Pm5v=}bcOm>p5$~m?(R<=x5a%$!Xw&yrp zHp(eLNv?WV92*a{KVOI2$1x{^69x0b{Vj1DU5q;(NH$KceTT>&gj%SKfpwNg z0o}qXK>l0MRJWf6!Ng^1I1REd5#=u_T6ZPci!u$i6YAsv#*(!Pcz>Cj-!JG|EMgNlySE-z{Yr2U%%RibO(b=7GYJg!9SJv5NKH zr#}aP@MaERsTjZ-FyW^VHGmitKe&EuAHXZC$|}rv5oOQc`9H+t^crs}m1cOB5xR;1 zS(_q7{!1KDWLNo?z=W^|yCU<2iUL$)QdvONySJ=xW^s(C{sRO!)BR^l95Q6`iUTwd z((p^Y^FTyk?B%kG1p#|1vRJSj6-Jrj2c+V=Z4-cC753&r{UqV}`ezO27~aCE`Ng2i zN~{zp7zi?o3&3IKs^^}&-CSTZ7V2f#fvhZ*L%bX_=AEio!N0KW0q&3(BfK2DkNHow zjXKa?c{&xFX!wzERH1LgIV7tTFvOvKl6wRezyg;))Wi6aoT5(v+u*PuO-ATlA+S@a z5iUd8Ujs&jgc^WURMw$#`GDhT5H zn7}6jBD+8^Fzmk=&cl=}AVJOUTnO@heG6{(sUm&)AlYmK3l1EG2RMyo?zBAYG5&o= z?$;Wb`QZcTP`2*XsJh(+TwsWqeCT09om|{u8%2@+JEwm$yvY?ic6|o^;baDD;#ACKbJ$_P0#*zb|x|&`$JYoG>C& zHUm#Q_ni^5vx7^(_e>5sPOLaY!R2#?^3w8MIzNRw4}Cjj=nf@8Cc<5viBctd33Am1 zUIR_x^OC{9E+{z)4V)nngKAhAAQm|gu7eR8pt#L}@e#-&xRDq*@Z{V1 zYZbU)Cl&P1TSn)cX=@e2MUlb;tXX5Gz?>G52%2RB%1+9~7n=GoNmYep0@Yp7K~;l{ zVv?b(!E}ES*C_@~G1-t+N|SACSja&-Dn>lO0b2@2EuI^?m?Lc3{PW(l3bUfPBSuBJ z6+kkMX8=rjY(TRt*cjBnyGEXNJo~=70R(LEk{|`r=hRw^(;yPk<&1g+Lk+0x^A%RI zxhKJHBrga?VFl|Yx+cVHj|TzBgS2; zb_*hL0iRJqKt>K+%`v{v(xq4S=Vp&A#K%Bx8GwQSod+=) z#DJ?JOaV?$I0@z>si}{W3TS}W3cIJSFS!ha?2pq=sgE4I(8mlR9e^bYodgIL{2&Mx zjG7DAU(^dw9ZfBW)GQ>FWf2g)iyNFFNbf@1dV&YMXWQCs9^kW!6b#-+3=!M!umnUd zKoD#uKpBiKz#OdRk1h+n3D7{$35!M830@@y&C-7=2F(MCPG}9thTGUnO%QO4y9%{O zF0iy17>W!=2$=?)$2AXO06r)y4Sh!0GrMNH$#3q3e z>?*+&Oi_;|Bz_1PTn$lP0qRMNiSR7?EO;8E9XyLaw-WR&4km~ZS}2SW9u>p@#tCCU z{L#KwuWU9|8e>4?zKn5S}KC0hL9V0=UMZ)QSNuYOoj~4?zed32Hh*v7KPWtL?_a;#=9MEf%f z1k1*391!SvlKIS60#_a=AW)?`fy3Sa42VQ2cc3&HCQ+*0d&a;P5vp6{2#|8?g8djN7968usJ5VPGE5Nd*-$?p;YrLU^hCO_8HM;> zX5nfj0=~Zm^W<_~IUEEssWJRLX8__wz?t~mx#KVc-B)npMcg=X)e&6&&S9#q3U=8_ zx)BO=yJO6Sfv*7aW+Qq>9$+88)TledWK@8jyaiV9TmlV@n+sT15a}mOeD6VuY^caP z*caf2o(U`rBn)IU93Wy45s^<2A$E@f0s<6KzhJ!p9zGT#FjHGTjG#BqA{D(bRniH_ zSgU@mMCxk!v3VW`Q6hMKKdAj76R7tr_VT?%bnMIiy;5HE8zd-^MDWmS0?k@1rl636 z*fad0fS_D{F!fQ8FHjr5TJk>a9<+das5+etvdD2E^kDZPZd)HsE{T7^_v_lPG*Uw4olOXqnCbz zFy<*^(D{y>B(V*ZxTZvMG}&>(F~gxlaA>$ox*YlCL_cA&KSyBfBt2tPQZw@tj&M-| z>V7%VKcxoR=33cGlmAl*KKij zpXuruY!6}^XTN(}IG=<{2Rn@)LOfyy9NOn#iEAG+10IiL0%S_5>>VQZFV&9B8clll z7yujLL1`BzVRsn{`RuAWQW}K>fqX)FeG=Vm3u(rg5JKVwy~qf1(^D`Q21s(BAyX|b zIAwhrdL%b8&OqKbnOvT35~Xn}Tfds7DcT1lhh8a7LoiS#00JfnT9iQKnivUi6^U7P zcoHchZMD;Q+|gLb+(`y8W6U6*hL7g{>e3AK?-5WLi4JF(NtH9I^pF)L3l3TQ-}R34 z?4@zohgAXrG%Q3g8-xl7ee#X@?)@m1Sv?|@3JE;AQ53`F8U~;t835lkn}x)ulpzp> zXzh6WU?7VsIte5}@F2y&5T??|L;Y&?RFb%+wGcZtd4GAf5#w_t=<8RHlw-k%pn+r+WY_FlY);L&&&SYR8f|abBq=4(7;qRK7$thBZ@B( zIE{n^ROe{}33??~Cqgrnr_f97tm4EcWY?gH9}D4Gv%9?exKxGz5%#qL|IS9NBkI?% z`6UxYd!xYUdYOvkLKuerkxc-gEruKOYhq2XYtbPXfzbl*R3TAuDxj5#Bv+T_3!RvS z7#EU473N9WIEjLdaH~_G6`K@#6bt)J4v0P-KI9d;5FnBC(O8QDbgv0{SV0_7PoqeY8d{41&~L52oEfeq}*}RJleT?^q&FReq6(VSnkhlwCZF9%gsBJ{K{`LnP zri8ga5z>|9V1)&UCO`nNf(2m&DD4|X^0E{^V8KU#(u(rWM`!WiIoH-j;;JgrznK{5 z_5lnJAUGER6BuR4tBB0g#2|>n1QC&rG|U|lb)Kq~=@JxS<$+hi1PM&G#R5fWZ2Y~A zzbYIFqz}2ZcWz0-99SJ)jXNna=?sAayu~510?{ncn>t&!MQ$i&*qcSLIa`*vh``&7 zRhgbr!~S;?z|-Tv+&?!(4F5p(BIuXm>hfK)ZpaY(u`jOU)!(A1k&o#^6Dvv6`$1?@7a0%HFi)&(LmvCQf{dW zZ@TNZ7yA3X?IiOIE%*#;e*5OZ^a!srv55JqR#VmdMJ#4{a^$e&1&j8X*2>m8V)04c9@0?*RTD_;4HCLom=De$`0X|?E8M>u{Wi48(f+}f z6ziU#f+Y@OV#0n5)fivYg={iGFf}BD3;Fie6?8laLoEVgM0EBv?G^otTZV(5;qDbT zkwoIH3C6FD>x94NyWlpolP#noMr3El;Yc_YLYCwWy$k9c7Z_9&YQto|nS98}cbewX zZE_v6P=FcnV5yd=CxPzp1O{}L3RJ2>O+{{G&F~>Gmi^wzRktUxMyFg)qtC7*6^KwZ z6p}LB295G(W~w}EZ>Id^Q^#cz__MP-9zj($Al&)rcgG|#*I>835I`yBnIn2(x^3To~fogSzcc=C{eaX{~{$te}>^ClP$c1t+Fw-Wj zp{+uMmW&m{yA$TX50(|DGn$gNm3QYS|9HX||4hA4QsOt2G|gke?gJBMOBesix*v8E zMf%%8?LiB*H&jk~yg<4jlx=zv=D|)gE?vPwB)xCfJhjOe{&kGcW$N)= z`(OHVTn~HP4s+Dra-N>}^e1ktH%#NjU1n|z!Mmi%TCy^6)M31F7=Lxx5^_Tt(*pDK@ zJt46|Zf`;W1OUQBpzs#}4Tkf-eWH%fN0-S>Eu)05hCp#45?z7toq|AN1p-B)K&T@I z%te<`SzMlHDgYn~HnsE*=AG0JMN>6Iz$5_CVNMOE0T8GS#w+#WLuX!BzamD?oM~M3rQSN_Jcjt~Js*$`Uk=P)Q&a z*5@3WVK9dvfF7I-Km_0*_WxSB;qr$Bf(Z=aDH9=+OknOLop%mbNn64MB(u=~UuIS( z?2eCWzJLV4LDcutM?ENM(trsqkr?cq@iBoZyI0KsWexU+i=iJj$TmNRwjt*{yjz>NQi`x1dh@%7W zqD2GjMRA2lY?PgCW;OtTLCDQp1asw;jz}_vAb6wx%r3Xu4#G{D^4FWAr)Ta5U1j}? zODsE_C?VP}!X0`)K8EX+h5fz8*vTxi%G=nX?jUbH0x=H;gf4VBlw_wZbARz6vbN)|_&bRhzYq_wEoK5et-en;E^19#)!gs{- z=whhE2wjCfjrr*MshSl3lm4PCWIn>~RBS=E`q(Ya!rNnieCBCJPbV{{)R%c@xqJAv z{qh@qWyAkyNQ_~CA!D-&DF>>7|IcjY79hfrUtMy)R{h9E)LVjN zLOJsQmkohRon&_$q|VPHVbBzE=$HA#qW(SUWcud+yu)A3mb3nXU6<#J2mVv%&Y|NY zlCNKlU`xa3g$8kpt$F#dgmpjrMw#gM6|@_O`E{#IKU70Kn=@Mn|GZI`3i7J*_La%M zhS*PWNy`J_Bgi2G>aTzRjQJC18`VZrxY*KZ}dedLv(k5eHd;sNpUp@Ey(E>oTh?vICT-){+-9lkak zUUlrF-Q&~FshWIl8IklNdjQh2LvUv1UJ9@>ojppXK32#aOz+1Y%tiAA;qaDYhw3+W zi&#V{gg=lzya}XIc6)^VR>{CKV-?wfA}&D1ZtCZogJB;I*zMpOv&!qJz07R$O7HXt zij^#7b*zGkMxGLWRXgerwP!d8nL;r`CN}=^Vc&m@&kKW}?^`zXN>D!j+s|!BUlVqk zqV76On!%=<*c|yn0cqpjdT;em=p*}}CeBwx<_P>CeJwLK8FC=NYuHtHN%qkVz+~qD zQcibTl;e&));gX`@{V%_Rr#YnV%Hb)z;&}v6O%zk<4-pNF2S zpr7F^0RVHsoC=h3n|QxDEm@Ih1;yDCxCA(4gy5NJtNWCWSKb`JGQ5mVK3(Fu7u|u_1D)#p0ebC7!zc-dqG) zf~9=WK~_`|AR&TT+*}T=!7!qu{iH;2B#NiO0f^RI<&lKv z&YCQnix5L&j^U|QL6!z0tnHeu{yAib4{KQp%uzxGKi<;A%>vv;ZzAoAUcMwzTxp1o zwwheTlN-oai;9U?QSEtj*68GF;v;rYWh1XE-?s!4FZW^ zV}S?}qYyx-vyJbikNo;bH+rPYQH@?*RQg)t8~w!nAl@oMxNRc!29GZs87Hn+3j$1(6D<;nLj)5o#0$kqm*7x8hf z5=QW+`4|s1S9N#dQ z^oOk}?Li+8Es!ELSXGeiwJoNM$t{y^VW;Z~Wvi3B2c*~>zGu^M5-g|ln8A^-?&Kq_ z8ZIsKM>2(ZU=3yk@3SK-OBO&)mij_~JfY|~MW<3FC)xx;$)4Fy#(_JNV`*ZKv8LU! zST0&@E=wF+;p1cy;zb7eo%y@1CHo#{P34`~G<^1_RrQNTN$luBC}%Rzf&g;?(H^KB zq8pSpp01KEUU@3RqNW(+NOH*rd3jVrl@I5kk6xyaW`jX7M0^qRe>CbK(RrlV{ zWwUnc8Gn?9NyBVy8>1>In?tkOwsuxbwF219R5>m;wD>%<%KMzO6#u!rmwE7LS|K;o;tyRaAI+p1uzdc6OQyo-)ks%SV8Qp9iPI6FlN!wh4I zMZIx{2Kng9asI7BASHWVW20+Na@%beB%L^OM>7*}%~SR@QXM)=uA&J$r0j}#MzF*K zqlKtGTdUbXl2*bf%g8k;9LWRkclrYjETYQmsr{(?BlEHM&DeHC?)k*sG1W4HEG>UJ zoSuu_v3flm*WIATD;@jpCW-^SQ5r3b@CwPLFjXkziM^=_lr{`Gk^P*FM1i6d5!F!*@UgJks^4PFQHAT4jT z8K%SxZoJp%iEUPY;nSDL?T=~JLO@LT$72&dOm^`e=&FS8aAIqmjaSPWnLyKOsP0aklXL8vcuy*?>u3_wt^iaoMc11}pzCp}Xy$|N+UV8y z84hB~W0-wf7Q%u<9UXE0?O+!(U06;NH70=-?_qpC(#(yw`A%h!#P)Clcxe9qB&<0- zR)g1vrtBm$(*@ET(1YFCT^bcGcG%_AGBC{Q^5#pM=bF!aF-?a&xwH0wcsNv~)V-Mz zjiVf)%;uoqG@lnGrmuX9F<6>pmb*6qiOk?e9vUMX^Bx8A*_H8nN?~y+U}~>+3x{Ji z!y$v#>SOl*)g@inY-!JpsBqneAN{ja>glyxI znnS*4n`al*&_fZbnp<>%Y`Mw|q|;JT0~<%ZvyzP5{CFb@6j?%{`%t%zD(n&^@CUHDJ+l{8{Wvxs_(}9w?TRGWok3(&Mxt{PaYiw_5 zqCDhzC5rXe_jI!xZH%p45eM($R?B>Sd#!WlcU_IKef08~TbRG*V$+Ff4Q^Gl-z>?g zbS{dDgbk;vts`}62GxZ-;^i5U@xH$Jwy)xHKTvDCy^N#OA;uD~y#DFGX_U5G3CUYrDiC>9aM0s_B1vswS|N+i1x3sA zL@9T~HuR4hv)&9G!J}(~6v@-vK5{m)zU_;S4fpFyH#W#Y#d=bYSbyFoj?LU6xwxOV@mO0(`yDf{ z=7Aa#LX}t_&|wL0idB|b=ToL2I4wPG)18yAZW}$wZYDK}=ty%;?^%~W5BDiqx5}N| z75O5;GrfPzC1q5;cmiu;eLgF!F6dG02Xm6A^LM<6yjv~nwtj(6=SC3aiJBhWPr(}M zKf9Xm-XbU89n;(4mOP2P8x+r}i3Z+2;U2vz$Js71e5NzbFfsz#T?+`2$|mBaGs70L zkg^N;VXd*}*Zg{(&qbxSKMRkfbIb+eDQIe`@5taiyj>(|WO~P&gN--tj{%FKH~$LD z-5mQqZqE(Dg$2p0B%iq0-)cxoKIt-VUMWrpEFRusU0b;1HCvOP1E+`Z=~^}`LMb}%Uiyj{A`!-#h?(loCBenGYWzE+=|>^5<) zeKDgXFWsIOgN-(#`OGCFU+5in1WvgxE9|!~!Lt5wW$5%T(l50afTFOT_GD;%wHQPY zU-wLX!~R6K=f+SxuFAocVjuUcah&@bp7ylt{A9i8s!*1vdj%Sr8FSqDfBKp@P z!!!5R8npBZO0P?rvF3yIW*_)=5Jo6X^`a%Vi0XICE6dC5JdhTxTR3!+5-F8Hzp;56 zxvK7b+#QWyv9X>%8?c9ajd;Zem%)dN8tcaip>u06S;U!vMSC3O;TH3)2$+G+VivjVx)HZyikHhgSElJ@Bz)V!Xx8@Gb{L&-n`ZLxZx6q z*=8Rc zb+*Kmzl5UrAE!`e+I>5-^t_&2w&7r0*On{Og@`7w=`6fPE6E(tO?$n&9v0%3fk}8`JH%E$&j9`_Jb6cL-p- zm7TsKJE5mK*oMdHTa4ln%h%(+jBk?*zrJTE?}GVZ!O%A>Eh5-co|Wmgmpad-;r2Ip z5k1B8!QWWZRZSPkpV#Asu1m+{W38sp$1O2J=;Gq}!iHwG_9=N&JgnR&4#wtKgEeEZ z957bo=?~<~?=(-ns{`g zLbRFLcAd4rRYD2z^zP+0t9O$cuN#SowZTTeS6}V9a6rXq=y_>TtF1t~&at(Qb#oEJ zm*b&_c5bD58Kl@YH>nHl*?fmV+ZBr&*_R!D+^(bR`G1ZjSA=1qTIViPi>J7JCa?PZ zc3)c=Y&I}*eC?wbR=P2w+d{xBWpmPYrDJm;IyBSn{O5P(E7U*8uISbF_kr!}?^;9f zzBo&rpQdkt?b!+GpSF$>*9|g}T@O&tZjqastdl;5CS-06tqI-UH|M^zo(VIF9Qo(; zEnqlVh8{F!rU7s6ynKCGZ3eTAS1&Zzc5CV*8=1J0-MeE@T3YQ68qevns13|A)zdig zGpB|#8fA3V7)(Q+cA^ifT#?f9Tp@TFA2hqqS|S8#rHt>Tx2M2&2dGYRbsc_7Tr4Ed zQneOG|KOjYKWf3Sit!5Q-zMo!bz{+-d!z&qP~=+t=yku}+9W?H9Yq26BZsV{fQymV za8+Up@<6Uq!L*?NOtJRn_bo?|usuoAHIhdm+H9#Ov2Xhd(CbM>PTE=@NdrxUdR}O54?ELc zq*+av-hZA^3hL!gkH2_lu@saUy8dw8#lWt#H_TfdR7`$M)Y#E)@sgXLq2=h34yG`= z;C4|Z(p36*vG7OTw0P7UG=eDU>5{s2)YQ0+Zr384y=X6&;iFnMFC5+J2Uy^?ypgSY z^Id!r%#bq1pMwdwE{COg`>8nVHK z4y&N)Y{mV-M1CRyB#67t!bUx9A_H(0z8>Mj-_>;C0gqlS1(8cq$Ba{x$;|8Io8sLG zqVn2h+aLXO1?NV--NmS&>C6W9HNZh1Zd56jpT0)Yk=0&U)ZaJe-RGs20`bG2#KSg0 zu75DxPV~5az`#Su!g2RG>J($B!NI;`reEV(#%+avVsRu>YO8fTb`@QhR5I}KJDJGT zdsa3OjrgCIO$?UcYyL}u} z#eA+u3>G7>#|ndH?5?I63?H`=ZPf7o{9LkDY!6&~?M|P1iulbB2hsvlVaww>W4>wPqs}8He0nGI^fmJB zWnlCKTGh?j;jEt2#zY6qV7cbz#23p~dfvp{y~fiuD$R)pEVUFG*=6X!t6IvNA0gVG z*DChL$8Vz-eq@24jWDcE?&3MpKk&ws9q&lq{IvIlttM87zi5S{f)@H+w_H+_n`Hg$ zyka=}!+XLdu*NRi_s0F$-`jGcIAK?<=IMIr)onqK)<9Q|w$t8Sbh_kWx!BhwEf_NM z$siv8?+tXEa3cF%)ceD=n$O(LQr`1tWam{^6+Wp-3(Tg&KpB79n@Hy5##N(P%hHF> z6FfW{a!2r4VoRoa<6A21z3J$3*Lh3~_43pCJ!8cI+eTeLSr<{!1Xi12&Dlcn<Ucil(HyGib@s4qL zIcp3D22CG}zN^Py;d2XUY%YUb!&j`(M6vWaziG4+wwq0r7o%n+ziYOIWFo06Nsf?W zDvN==V?48-Xt1l^OWbUsA#tbDPRNx@F7}q4M^ft1OAgy9$9crH(s!(m^aRUmvnjhy zk(}!Tr~bV(621qBwMtOX+R;QE{%PEEMJ*kX9jefvA>EcI&&*^J^@6a@!=%l5_{iU? z-+0=;qb2Ncdi|xXU@QHqYu^p}TBU@8uA9|+h|+-7O>_kNJyx+%zy?H9K+c-?b}ro) zPVblaqz8TbZ{kx>F~sib+pKx(ssaexMR1R4_pq1)%W+tdEh6vdz5I{Bs{=2A{skal zHMsqBmBkyu5~ER72a&E$F7jpT!_YEDq^NFjb6G4{Sk<Y}q#HQ|&ft zG};RAQBt({79G*MbJNpk*zaSdJ;q;`Gkp+DRotDF`tqjX_bR(x^P-nl=wvxc?rjo_3w}UObAQvuh@iiJe!mg?nC#~LDYFXKB zW~iE&N<0l?&!qxODeZ&7**Y?Msw?oVjP1y_ZNlSOwpjYihm611f0nRK+haIe2xhKb zBo<+y$uBh78Tr`_PrR>OhLeqAd)6gssC=<^9Lc=P4C?Ke)s_uE_V@ON+5TIPr2%%uwt2xk^0M=*avrof6Ryzm`WlC4#b=1@ z)>Z#x;Q-L7Gd-^=5k|9lRq0_YGx*8;jF(MG2f_z)))Q>e=r(kA+zyfqU%Oj+Hli1w ziQURDF?#5vtXeir-)iip%lo*AdPsAR!*V|DXR`Bpt8CeKTZ_Wr_SEjLY{ScgGpe!4 zoV`2lk5g-4zkaSj_?Ok;W6__~j9gFFipTdpMyU1y^tv!~3SUju&B^<*cPi_WmdNCV zw7SsccA6-B&7m09EA+k#JG{ZuHmH?HdvieIfi-2QsOJAH&9uBtQHT0 z+;S<0?Dv^8+@N-^vtJeI#b)GqW|cWuqG{Fi^yFzRq`jwTVvpM#CxKeES#>JpxR*K6 zj+EvdAv`R`g=7G4nul3{!_{c{^}L_E1VI9O8)eAX4x-c< z53&6hXZO@5NVIi{I&IswZQHhO+qNt1th8<0wyjFrI=T1PM}67x2O{p)dScG;4o_Qs zCR0u$>qEu4aJ=lIdVA&D3+_dyX%etPUv-n68*6F}C2aIu4HfGd=Uio%i;YQldKl_c zw@zoL^=#(Z1CLzy@Um(A8^Q5{>|zyDmzCYYV>`=s$F=09)6`Q$+AMQ+&}aG6uJV{1 zUr?Qj$4bmcrx_-zzrAvvdZ)~PKk_R)C*NPqT%EXl?CuUkiN##r_V_CwGULB!9`xva zTG?H-_p-ytG1tlD@jH`GF+lygo5q<)5BtO5^T_z;$GmASoA;47M4&RgF4V-Z?883R zK@|z}y&noXRm?7&XvA2&7b@O;bUckLx4tJJ9}2?7Ltj6xAGp})ogrvv`JbF;3cgq^ zEeGR5C;w#<56Cq@!#K|Y4Z?iV7_RhoJA64wmo+R_Q3$-QjeA`H1~Nv<4i){x&+cBT z!ee(NV935GXjj|PhSH%&)8nFW=zd@{(*3l_A3bJ)zFi;Z;NgAzTx;sod3aB@-BW{D zCy`_vEci1x%gFV zm`q@Z$$=h|JdIxjyp-rpPGC#RxGZ$AvMip;X8ApNT%LAshf9LdW8rk}2RpZlMQ4*P z@CL8L*J$Z=o9-45oq5Ee>AIr4Q5xOH%aoDktt)vAtp_dX3yqX%8}(Gt z=7Q&dI{Y_pks~2G1FoSg<94&_=c)#Zg2F#P+N>h ztr&yPM~unCX{L%CjaiA@d{nm3^N~RgtA&9`J*Futs@BH- zbKq*mE$1wtSz0$_fJ(z7i4W+i7~8F9@xSQ((PP-03_Ux&JQ#g^csltUe+i<7YLY7i zP2RTvv{blA4a~HU{%^S_EpUYoHUu}f5jO`nr=d0&Ip}#r{=eS_*M*w06d|Pt{hR}; zqK|FB1uEz1ZOx7(FQ#0-f?3ZmLUoNys`#b$wiqy|5nmgu6eJ6D|FUPk7l9MD_#!-E zEf}JXKWjO>va)6wc?AolaR&v#6$O?b;Ahl^kXKO+qzRUPvhxjI`#%&V$1j!?JU`!uiKP~wlaRwX|o8huAt@*qEH zdiYywtd64*TUgvCn-L~rs*#s+uo|b?_^9~TKk~b0XHaYHZmm;^J}{ROFO%}zZn#g7 z*_Ryngy61_wy+rZ1F$S#2Ls-SYRxZ6o*&b8h{fMB@SG$tdFX8Seq{Q5?qrwlEMudM zk(FmU(&X@+-j;LhsLPvk$y z)MmuDRgFxa>9wJuVH7|nb_@}pCw?N|-`9w-F3$x&Gq`25FS1!V7*IC8Y=$d*y{M?nTOq#sn0YUk^ z@ZCjZIPa(g?Uha`X-;-+xk(@8!pH|c7oBOZI9e?(_K#6G=tWN1Qw?2fg z|E&*}nA6L1yPJP|KgidpOX=h4iDl_FHJRm)dnKyxKht_XbhI(GXzZTy`+iv6VC)cB zUm?=8{+k*eR97amlxNu**Uk6#xkjz_bAEu!;cP#UdH6Sw%H18NY(G3c*-_?PYYTHh zQts&ozU4KhrmeN`Q2kfm?XWZD+j?gwIc~p1szL1-Utdu7qUGXj|4LrNFjG`zgU%oE1DZ9)td(`1^0nTia_3uypOmh41s9ZJHfCU2LamGw^|+TKedzO>sfg9YYY~X@7R3Zry;PtI-b{aeVqeY z^B=Q2A}_vtcLcA6Cp&F(;?P`}of|iNxWZ6FO~l(_f-8Y_q;qRc&{XY`RZ+d|8dLL z>Rzf~p*>kh*iK>HkWE{i?N0OY-dP{ts=q+C#@flC+v6R(|9SU%>Nx?;o8CH1Er}dO z+JFxz-wGWWH?GE3=M(ieEE*`OD?!u#hiGFE(A5KG#6_M~Be}C#A!8tJBJR zf5AHMBbK2B$FF;{6mv1nGEGK;leLq)TEF;aoG&PzyR}TcHv2t*?KZ0K%m%X;X?SgPD&?|2aa5B^5=|eQ<1}A=|IX!g!*cn%tFz+eYVFn2@~XA{om~SD z!NuXd?RD#c+87j{f0oYgp?7xmIX*$_u zC8pBJ#n_U~AFtnpdV}kicM3Dbwi>%j^0-%;0p^`4Fm$(zjd#xFL_g%zHtjn7PJ7e` zHfdGZYb(6DgK~W!$G<)W9A36#BbM=_PwnLY!ug3Vclb?)kO8yvw7x(|>J^G|cBrpW zcmMEQr}9}bnF-X~sidh(uAj6V>S@Y@aLuR}KeGC*Ou;c{5J$Lvw&GjR9U^=4{mXaU zp|x4u$u4u2r>1xRIzMMBeE2ftLLX6fPb7b>^=t0nfA_E$7l=%|3!$Ezon@-_ZYMO< z5_yN4C7zYn!+M9w#^n{;ZhI8vEj(GF9hCUkK=`;cO|h3(MMG$u2NDAEgL7!T|G5P- ztY?LN&i`TsDFFP}{-72aySEeZ0H4-nsj*KSr-=*5ehEJJ*)9FxUiilSoud~fBDUA< z;&kV1=GEw{Sdx@f$leLQp*ufGxBHxk82Gcw5Mxjy1840WP13b=vlB>=(Emi-eK=1i zwlQ&)M~waMwPfgk-7hIAz&yWmXeV3zMjAv^wC?pcn2fWQs}BeYyc(*M{^^kZ>H zOS7w4%m&E4Z^^CN|5Ag>qJmo~#?qCgu%4+_Y4UkVPMx*&eCZ~Ys<-AzO0*>}hgoz#;JvYx8PEA9Nm-+2o+R3tk@c%&$LvK5DDf z-f_3comt@KH+!-CsgRacIU$AJr`k*;#pLC&3>7q|Q(^b!LGkg#@%fjCyLqx8+Zj^@ z79^MB-pwItFY9X}7T*0}bkARW$;swrk@(os6Zf%4-2C_;xT#+U4N<$le1qUemGSxRsI)VTIBDC|ThkrX)!ath`1|+ya=h;x z%P>c7jRN;)yMQxkG)aGpI2_(>ek#^Gbvyd<(=51K+Xd%LRKXqjC&&6V5>58Vb7Yd| z(ELRkm&Lg4EP)R3!BR1$`}g1>W4XRL)69QpqPdCLbNc>NMyJ_wUD>++T9J&#E>v%m z3HLhavH02=8!xx>O1fe9^R&F(F;%#Ml>L68F|T3GBBA5y<7TwGdkBH+jB6~xvY{e+ z+2-BaC?jO8SdrKETPxx)Hye2fNbfVLq|K+D z)1H_1n~#qkgOkgt>zV&P*SQ!>CTIje01~$!Pt*XLfuDzfem~>k`m9MgRtC&ZO=oT- zuT7RJ4FVGqNfAjT*(zXZ#7L2*F(7=xiF8H~A~1P%5@HqUqphl{#Tl)45HFwv7=%HA zkR!nxZ#$sdm{br@0mvfB$1L*#5E!@IIO43gEP{0G06FpsWTh8FgmwCOhxG+(y))*c zz&{v*J%$1^t%+3$fT*`^d0k1mdxw4`G#}(H3wMSt5pn*>gm`}gHYZ*+nO>7QTb?E* z>0aDv!ZxLfkmxLu{zr7U{}ml7!mC5*QJjzeD>|Hi2y@on48!14_=D}Kj_onvq$805 zEVX>DK~Qi50njVW{E80a{}CNjT7zIHlw<)c-hM>~twon=*#8k7GB;SLe?^BOtzXfB zZT_B(V8ew_0cOZWqK*)unsNn#PXpv{31GxV-3CxWY&q&B_OMtqL16P@gj#}3<3eCx zra;reaNdgek!i<)=wqocSwtvZ{(w-tMqpYi*}rB)LcrPw1-(Ix+WDs}EVTEcXRUYK zW|~I{TUJ0^QsCK^@5%P`109%O(P2JiYo`2yJ)7on+;(dXiBv;%6G~1hs`*Oul|bWc zA5%>$y`c)GF2>L}B0bX*iCcpMU-}Tl+8_d{kLB&wIxa9NNMunp--1x>JwX(&2{%zy zJ>3Xyg-8QaSZt!*VdalXd03oEMJ)C5+{&$+e+A_7O0w0$aH>P6y?QwyTZqQ+CXFxX zkd8dy{GzIWg%le~R0`pc{RB44K+)*P9{}?Z4&*roUPC83+q9(5oNOsvCn$e1a|Sx| z?4WGmjiVu|o#%OVf$S$P#2Do1K0SSPLVbBeMHJm~VV5~N?|qc^%QcVD0dmBooTymg zHBB3aJI97|u)sBtphjIT3kR}A6AY=OA!>{w5g0^{ZQ6?GHFvgW|5sqDL_J2VKtruvcZe^vY$Y9pIcvlgn zn0jJzKMYYsL%!ey+!C!Ty%E`bE>K#J2iQo60@8PpXM8Q9%EW z&{d!`Vh1r6=qk7n<{04ONK~;vixQ?%DEFw~v>iCIVg$W$zz!YoYO0`D=IYR14tR`jwaO8Uczt5sQLu-7IJTSezr5WH z1|e6IQR*#iH2{YsCR|nI%M`H$2*QnrxU2|dtO2N|s8uTp-+^2sV#77iU=Jn1M-)b} z45$zX!31ScPhbOt_n;Y(1;TXH`nm-ALet48{!%T19~BNgG588#276QL{>$8>fFnh5 zg>WXsN!Z1uZ^TN?S5SiRdi?i^9swBA>cF868T`ax3q_T(0*uBX_)p9{P?Tc}#L(oM zu?|n=5;H(Z!&MldI8b-?)$0z)V6 zGYHo&(%Cdyu2+ z2#seIxfJ^D5ru~rgPwShQ-72a%i|pfF7~MU@ECue6n@Y2oRL+(*Sn8)4d11~}k@dAO78(N%nXu}V;k$^Wh za5ijlqFRoN3s3<=lbivQqk=<_9(*_fvW|k!2E^X1!$AEd9a7+?LVrnzMYk$?UC37# zgB};GblTD6n*`y1RtA#TXred(^~)S=_$bt(!Zukr$}`Gv`IW(qwre^@G(!y?ll8nD zCkAArW{0Hc`)f8|R8-(buC|^Js;>y0OJRJnz=~g zbF2Y?al9gA3k!QyjRW=d21K;MHK5s!mk>ivXD$dUVZ5X&0JaHhVeN{k0yMvGeG8M~ z)5S(L_Z z@HRO7ixQT{0XuL2_-!jo2o?r}6BjB2ZXjd}I{;4kiAmjq!&fRR851HMfV1N4jl2lVx8xG@vrz|jef0lO4nNq`|DK=s=| zEcQu3nC?M_X!b=Gfr$l1BAf(IBE$jfj$0WZVF2#4)Ikks?(v0)?lFgu3ZxZ)p#`Eq zO!oOfPzOTkV5Z(-JR$13vKoZIgeC-5h0fu;!Q`VJl;(rk zByd0|7QqOC7vTw^4=E|bwh>YycoAq5J_^bSVFb)I{r&#K05SMS1fnoO2Lhb1lQ2ef z#*#8nb4(i|IzbIWIzb+RPN+vnBMjm1YK6#{i#CRGbwC0fn~(*>jDQ7LjnEqOR`48N zxUa)MSePbTK?H{o1|*me2a4YWBRWkG11L{`0#xq4f}}alSm+86gfXFr!&qNFB^R7s1aU6*+JRGrW7^x>uU@WavRH>ea zGJdvR1t2dejMtYGsUBqZK$;0e$4^430!EnlRT8Ki#{L5Q`mWBUMP)=D7KJqG*rU{d z1|gFU#R)0obDsv`A2(ADv9<7m27%Z_T&p>-ydD_2ECBMAF92|{52TNWbi<;_EhgEK zcgZ9Q)DUif|3B{Fsh^up~aJFWq>OTd>gI7)`$TI;qUwM#hc0*az{g4ym2-1)Tf zfGpbBtBz(z2tNM5v!mNeo>_!E{;?Q{z>MI%Rpmq|!x#?aLEY>C?TGX=x}%pb)1-XG zo__znXLU_r;b5UbBO$?~y)lYigs~BN7?7~QF^GhrwBc}3I3P?MLoR+kJgbx}I>fPt z;9?vG5ef+lb>|oXl#G7R3`8FeCrlr_-^|c^$XpBK1 z1@8s869PZC;MAYn0DgV6zCUE%(VjjCf9Mh+mEIKBEk6O`BFK-7+c8ea5ldSX4fv7w zEr9qT$y4$uQ;R|d$P-4SUzHp?Kq>%6j|XiwM-W-6Hd!x+|J>(mmXPhqTa+_Ve0hK>mSUb-;vgl)iP5j=g}oOgk1S1gE@;xo@JBx znM30H33(|Yu}O1VUdf6=nnanDdEU5`%VfVBOWLrBK9DK}YCIZ~u{D#F<6ur5LHKJ< zgwr2Ofmk-^n~*szgfhwJ2M~Yt9C92&^duyOmKO1^gk_!5)LY$;u>~ye<-la&ia`0S+hMl+nCi*!%p$?c~E|fPqu`44C%egFtF0-B;CuB40Dl zHpLFi7ES8l8~_{9Htqlx>1Z7q*(A3)ObT@pooF(SdlKDgS8tvP08#=9u~-LU*G-@V z706)-GDEE~C3|)hYCI<@QBO|4m_&_ia?5Qd46PZC}Y6c}DW247ZysiY;#95LsY{IOljrSkbp%oTo{1wSjYqKb|Wf7GIwU%_% zp-qG4^3qDnjGKMRI9R|^!-S(ru!<-k=ThP$YC&1hzh0n-z!QXDI6$*^3*v|w@YU2+ zMt-xGhAhD92m+MTsi>QaUl9TqMhp^BBA+f%h=WLwNPoi+y+>1rk8fF^bJ`I4C4NaR zYHO8JMk#w?-wBnu=q{3W^1FY!` zoVgGng9a7^8i@o)(ycCi@KBm745s4uTM&tc^v)t9HRL*TH=cHKgS>*0WbUU2=HxDP z6gDW0G?_wr(h>SnsgaEl{6iu{fi5ABq0?MhPKozOB8QYR0;s=YdHwRXulN1O>~H#Z znTa;XAU5NM8*KlFby#4_fij39mP`bqDMOa>Z(`BjrNPt>!E8eDX_cZl63`?uvdrv? z0?J9l%*@T~OA8@&n?j|;xj_h&NXX1R&j9;kL`Ppv8Vyc7@XW5#KQatnMf2`kLvkz9 zWn~yhFq$W(f!p}F2&V=NA&m(T0wm-|G&7_Ix}8QE+YqMER}2#%LNjCr^4On&3z@)g zV;&m795$fTff1d!wg6(=L=25u91?O=YT4Rur6mx^MvJdRT^U&jB=X}1`zlbNNOhmp zA3!XI=G4Fj&?nf-4X_E`wtT(?nKKdOk^uD~2=c!4*n?iQWJrN6*uNHocz6Z)?Xm~l zY8M;~?PO(?2zi4+0JbD*(?<`MkudG^^<|QYuDd^PcX;8)T5tk{<^$Y<4-=YEOgMm@ zl&E9k!l-pv0|IxF9x5*fC<6%=&~PKb00}^fp{+0Vf{}XwG_0GJ@R26Id)@2Zv^4yQ z4KBRliN?+bl7InGBx3>)3WJoDg;5;@2%I7yu(CqIrG+c73^BEWC8OH+Oqd`*SYlD8 z4ES4OW+O6!XN3YFZ4sxUMudsTQq5v(KxR}V`1ha12w~=X9VpO9NZgeGA~6#1HQ0WM zTt-odMSZft@+VMrzX{mf1im~lNcHC#10c2u0PCx&8j#3Zh#6I2K}lD=zEAE6sn*RW z(p5RMnog(7Lti!MY0kfr5KSti)|F3B&+rRoRx>=s37Ctw^lG+K%D1<#(UOl! zJzl@*XxM9}m%dD;$~KU!WgqNA__S?PN28PARpT&Q1%960?FEadRCfKmKOO!x!ea>! z&JPb?0%#Ed#$mC(TsY)(xg*a{>$jA_8dO6>26$$|KwFtM`{|LlJX2N+2AVV}ft!E2 zo?DOW7p~O$`peU44Q)jLs`016cOjB)FEC|HNo>rkX9HK#0j*2>H=YAvtsnmSLI$>= zSCIz}7=>-iEgcJ~l@kD_rXBpIvia`MWztDQ8IakX$o5*AspTUbR3RL7AY`*6{pWiJ zL%x8MdU}l$At-xO_vzKme@>VEQS{O_^Bso&+`i(f5|zw zBJrG_P7U~vRwW5Cu^=Pr!BRg^p9%TTB*0fE?wVcPPgrtj+pyi_P7e+X+;Sw<#68oZ}kkg({ z#c`PTLDEn5m{lSgKZvP6Llvo+P=sTGnP(IocKF?CdRfm^e0UKL7rw$D4%BHh{PRFR zZW`-ubkarsF3PtcH`ghqk#p1N@KJNlVe~we0`?{ef>0Ye-QGG`_GYj62hX>jupha{ z9M#C(j+vb# z*?RuYw*IkQBCwy^q9#ov=_zsGe)-a2Kgsn^3yU* zXp4oR6Mb-*shbw+%@N|8NchbJ>9ha+E1LCQJj|c&_G1y4Fcj6J7bikr#^Q`!yWU>? z9{+0{|DV(!Nh-W3r@vnh{)Zz!WP|wP59rpbFEGb0ltm8ygc)=vyo* zJwNj!d#!qkP~phXV2M8)3VxFUQOd~vn1VmyGCi@o?>}*o2T`eE@}m3n8kVi2Em4Hi z_UssE9>4CVZBL^Y*iOM?C&m-EaDuvY80|PgC!D9T0WVv`kG1xO%xB0HB*$j~TyUdH<5mIOn&7}}E*+&>bTpY?iM#%er*SZu|9d9Vi?Iy-xk^>1fUL%HLmpr z+-ya0?PO2^0H7{Z%9aFqs|taUzUvBaW*iS1xq?dMtVu!SHy%D{**)^VGpSBa zlX5PiZ#6bGmCSv55uyMLA-Dr1R|rjqEEoW|AZ1OKz@6!&qLK@5ZFs!{_S=!_-u1wZ z>$lXO$D(2&_?4AW8?e4^ER8K$qoIk5x)IgzO~-;&PX?mcL+b) zpCdum5mEHsAC=c>WPI+2mSN_Xq?acuDCxDOU&t@vQaB(!%bzYVw>e z%ikR@E7inW&$?Btjw;&x&Oxp3-tsGjm^(uFAN4w!Nu_4JX%8R;(%+t^nqBecXyh)< zF8cZGZ(>$Y@9eIN9WQHLE=5BH~>3ZM(>k{yG_ks-T~--?v*m>2NfR#UG675&uiRYH}E?o z&bMwi4i*b852`m0nt)pX1D0sNC^Br345$Q15CbBV!>#s!{AU?=P1x%R^ia5ew}u*H zN3U0Z6PerT=i1z{58R#;i(mTQdK0}R@5mV6xl0YjZzE(_Pbl<|@XegqlGJY&u^d78 zYs?Zy5A5pIIe;6p4446mE(5}kGGSvMs}4W$^MM^100ekDu4VD|+f>+gLSC|NcJ_Me zXcgU(L*hzexoVR#9KwA%N9)ag3uD}v7yv2|H<`5U>QXi0f)BPO-jWqE{t7??bo6L8K8be9 z5I{bgUpO!xW%L!78}2e$re_Cb{~f}bn%ZJfywgtfCrYm%05F*n=XB&(v8tQG-@Nkr z9aB(q@avFkoXK>dVo(M)_nm_0?rP7}UXHZL?ykY0?QOvK$x|lglQJ1-;?WESI<*aK z*nIxQ9EKOJgJpp(K?cBo0i)?EqCT>Pm*yHwwCO^FdeFVg)WCaA(lw>1G~c`Ry)h+kC^e#&#C_=_)jc%Ai&&!pE`xg1tcKyPC1cONW*~ND8cW| zMo@!_B1P!BSd0WC0T4?j|EYk0q-ZW9AYtOYz^*J8NEEji2~k0;g5U^vNhKdo^5b)1 z8@_{q{yht)6WjJ5hCb_ql(ns9{)|Rbf(ryKNev}25&}@59sF>4&J80^+1s;MJA0+5 zDmRGmm_mq*4$*-CQm7mT#&|(tCPslw>2P0ltUxjeavv|jjM~ZE=+J<5KsWh z`b#}jltHD|3Xz9~go@XB{Y7(X${N#7NS#V!@FDWW?D>=5-L1$EUc!5RF!Xr$)34ElAOo;x%{->rHG5(+7mvC2)Q?%gYXLF8;+IgGrJ-_ z%LF_5?i}4Ow;g@X({aIqxZ$tO7)y7#?v6CGosQ*urr1`-856mk@pnmQ_uL!>BMo2P zvF6uqKeYV2rG|3vtxWxhgLaTgKt+62rZ#D|7fk<$b5c9GuN_iOZmQ7A-Qi+-E%(!^ zhpkiKv~sbtbE=mc+oq7NR_;#gVwr8bF`vo8l+xmOCj1Gh#THHrOZh0O=G8e?&b8h% zhsO|l(hA-gyF5a>^A*vwc8Nl&$D!tuRPb7AN#fU!TE0%90JK;dYLPMpVv{9|iY1NM zBIyM+VXgajoLM56d+hb_cS}L9DUh_mHdxH8KaYyrKDNx^FRMhK3l{V|d}cmXXU%sB z#<5&jp{NXmp??J}3^M#PZa{8KGH9w>b8yv(nq+P9$+c@Zmg#6k0~D_oj&6XZueibx zu|<6l@>Mqmi2e~oF=YpvG#~{f1kHb22yn+Ck+n6mCS+v1HG;h+^6$|IpQU%9712>t z=a4GCbwWxGRfSZ!epI00>bf4ZFQPsWksObGMpxw&mV{}~j73M{U&*)E_w}jzczO#O z$o_4+Tb!8_wswOv^~J^JwAQ-ofGuUCvq|2#(B*$P|2MJ2uFtb0;^3{}M`2vfGS;_=AhrjFM-(t#<;r=_dz6sWFoC!aBo?d1*>&aR}_WJ^!dR#p)QbNdJ zVQLDl+*G?RIb#v1{o$V;I&Wt}cb|)Y^^9>i{fwA3E*l<@o z{m#TDyzN^)wx^GWTIO`G+dPM0+iTGOM(A8S7>A6%E7C0I_2noHH%W#Lz1dU0;yIw1 zmsI%9U{M}CeZ-0gBthD#IGE5=p|MQ`Z$del%+a7tTk|dY*M7o?t*PZcMelaGO0Wf$ z^AN;`@R?%@|LET6D`h!9JA5sTrc@l&1V4A`o_Si|x0oo-EiiVXUq)u`b(}Xx7hVe= zHsi0BZWR^Owzzi^`|SGn_ZLYvQ@7=X(2xlSq%3m3XF+YrM z?p&NWyWzNsiv(sxdTET5Qn^)&#^aHrjnTZZ@%uQdQw={f$6VE&6eX^+kwtP5P5Can zc{w}`Xkbj1xfwR=?D+fKjg+H{gRG&Gd^YARYr?hGn4M0?Lk_pN9ysXkWbokOlV1K0 zP~M7<&(W{(n&7CdvAVnFI&Ke?1(`+b8gNkIAMoT~`0TxpG#&yLGmDA2s6$2c65eP? zTeM-{Jp@pEj3^=cvOVCBZ%+K*4aSB%&aUK-`InlxSWLX?a(TP(ornuJ5sUWAZD1?E zv|7feEP6fbSlF`CBiyQ(4L<%-)AzgjM>^t{?w_W~=j6C1$f6LfDmy-zBotAaX_zz4 zRjG_(@2fb8mXq5`}|K^wTxAH)s=3Ha#if0;T7F~74 zWp^}V#YrXFm+bztF7?&4Sp3lyA_TEpra#9uq^$JRRY0NE)9Y%!>TD>F7T zm+p+8wJB-2FbZ^D-fs`z(jS;TdELN+4f^*TC$R9g96m%$OGk$Z>lMQCS@F1}zCK&j z%G9~0o<7F9M<{YjoxzKw#kJP0SijVRHBPy^<8#Np1>t|FhZLu9@xwK3ti64#3vYh( z_)d5%*SO=Oc6%ES33Xi}6`o3JG!80+a@@lKqk`_Exc;t1Mv;i&|56VmMmO>gn7L;S zCXD}!dKk_fHfz+ms;`UL4r^e1+;wT{bv9g1?622V+~GR}9mIsGU5Jq|)E}HYP$t*s zmwi*Js&ssj`;Ei~+q#)vp6c7>PNZ=*nUz^&zXqHauQXCo!7eZH8jbGXdst>fq&oCqFeRS|^Rl@ANr_gh))^`g3oE!zG0!0$QAfrg?F;w& zek~;#>`Z9nhy;y(jMbsx=HvZoBE5 z7U*(ASt3j5cFYTqNQ7@X+wZ-_(kp9gb8HcJh~EK2zms2hX&rU-zfjLRw9`Y2(NN{M}z+LD~k_8cYdS(gTrRnb*$t6s1E`H<93y0e%895 zv1W|yJsDwcxF0;bas9ZQ8eJ^{s(yB5~{ZDVB z<|=E~+#WKy>*8aH`9{PSowt9yLiAU9NVy%HFU@#)&)dy;wkWm&t*3gwex?*;v_J8r z_1buOjp}Jm*t;-B-}UkR8Ww8#r+m!w{$(B{ zUP)#1jCWC-Ka!{DRakrwoJyK2c8a&}7Q!Y$S#*OV12L0O#p$ zrimo0cKjG*S?Ye7Kcrcy*)>jEUdLMC)zMAYo3)Xwjn(QoeZbWljsBQxf=_1Kb31<$ zH=aytZHa%z%d@g=U#*{V+A3|?#_!)I{!gs-G@sszsiAfOr>tD;jV1}Kxl9{=f}ihp zRb!O;4XehQ+X{c3rPMIj9KJulo%s|u&(Agg%xif~G#2%OoFx8=DX5*A7!+ex|3!@b zrTSXq0XJzTM&oR@LEGVBN8*LrKqly?y+d-e^}=5vNrt~}$``obcu2i};0+dwnw5<^ zoLZmnC=N|2`R|Y4@^!Ck60XCK?W6sx{Sv0DK>ny(lejM9&-8$zH;V92_t*DL*UN&_ zehD`_(1}L8RQ;7!Z|T0C?HNGht*dM6qww^yey+A7oktFgsRf^M2g)z&P&YPbJ@cNZ zv2@QR;hEie`es7<4jKc-zr z=V7hMW9sAKk?h#^PdQ?iuQ@F&z}FWttM{Xfj;7BKQ1M@X(Tg_J%|7SrBz;vb8G6i zIl(Zg&KEsk)`o-lt`~Xtfn5)KSkW6;N&s4lKis=PnilB>e}t7g=T?`l zrhg@_=K{6irlpW8#*n0Z7%z{rYMl76bX{yPT80XCF|w-dlqa+E^;6%3G+1x*g|X2R za26J^^DQWC=F{)OGh(`9d=HJsFeCQdSCf`z&zGind;aZNs%BN+(xrqJZGM-#7?ezt zooA<2QOT(dKr4AmT%)I1gZ7uiG92&BlW$j^Sie((SmwgJ3Ab+Z zeB}o#TyI$ImYenKc`ChjbYjvH`g!EehSz#wMBdDnjkk*pQd&E1B=BX1E4=2oJO?X* z$HQSu(Shcge)L_l8|~`6-!*jA;elMZWSQWQ!|QD&StxAPxQ$D$L*0kJPjCNdU#Qe4 za9YDx;#d|NrW72b)7hLN@>-v-Gc#ieB}Y@ee5YsGru7Sg$@rcZu*@86B;6MqcjUcz z*Oze|CQc4i-Tdl`T?0Hn6H4c6Q+MffeF|DVB;!#vzhUA@TS+pK#8b#hWi`OGh} z`Pj~nR8+CDnm#PT)=Xze$lutF>Xp+_VRKCz>91EhlFQKZU!b}9^iTG6-XQdNG)(+6 z4l;%pl~+eut@rX%t;EIhW*w^gJO}S2{jvc+FTp9L|Cpk>^aQ58^b8FkpvboS(d+tr za88<0K57seLXTeEfJv7!aaH7r3qx`-qM~6{VN?f?2HT`g)R?0NRelH-{=}8DVcTu# zyL?-{a^_Lqo)7wfa_y*tqRR(8orG#RMz{H<*GU@&MvLKDXV?YoHF6r#Uq29>0xiKY zfCDczoI^Y@wtsrKn1fjLN*U~Hp7!-Qo?jvTxvQeK7a)y+IDC`Ce#0KfQoLyG zDQW`P4fs=!#OpVapH-mINV!3-=HH#pTJvJst>!gWr9>`CAb-`@_vd8e;_{kbU3?_< za<#*&y3O)?Xf>SVtB?#0f9eTWhx<{*w3a%hAys=aNWQy?3`f{$V$wGIp2h(EJ5RTX`_A5EP`(tS9#B6^hwsyt0M@!Gb z6O)!C-5m=uR8?XwkVMu;Z|e1bj0cKe<3UB=QLfBo=Rd|n91fE-?yvDsuOPnE|Hl?y zxbmh{Br$3>U>vU_Cf?oy66GQ4lh`m&bGI5Jy?SUfJnUZzEXKlVKuSKezyICFtY_tF za#`-qJD`uNHQ)VskGm53xNCA}l=>e|F=Ktj#UYlB{?hMFE7nzC9e1hd)|LAdAI+xu*+79dx7u47+ zbTJ+>V=5dzLV$f_Nf3_hxix#b`MSXheZ7MEo=RyW7P(CRr&Q|7Y{tsV zJ~|}(DQNcfVPEFh!)rVCHLcY#JSDX2}Ag&y6$YH3}BVON7xsp$)og47ctM1Mx+QYT)nwM-pB&S5KAjAE`Rb zDyPHYRX8XG+o!rSZSr=RRXeq0_?NSfRZtO~#mz^{nIhET(uLLFCt%?+o{c}QPoWSw z<=WQCt@5zy?I|ygAkCL%NN2wR(ayyuOg!&K8>vG3Zkzh<<<&~p2*?h+`P_zjhsl73 zFqQ8#_xGkV3oD5m)Mi<^skA#bQ|CUi!o9Gho1RSVBi)SlAGP|j8ZG+^MdCcv6Y>!h z9-py|d~e#CoA#qLZ+Y*^7Cu_w2LM}zf%u3NMm!$630M)cWyKyyK7V=yiu4ZY}{oo^5>C zvJk?%7h}`-hNIENm1i1qa5s8z^&aR|zWLno7Izm@E)H@oM$TtQpAzKN(2Kpxu>&p= z4qxX2WP$@;2y%T2o$AxeEnn&L3FNa7&)%NA56f3txuk>r?t^tkvza>#gMt~ECD8aA zPN=&t0T!g^D(0S-FI!-K9QmKM5SS6Jt4(?!sGh8Ck7WMxeCXNDSGCJ`OW%b27cW- zhDYu{g6Ttg_;^o&Yg!RYa@G6iFQ$)7me)UM{bw_1|_{>i&n(@$5XUL@GUQ>vk z)0v#M`pn_ov#f~4@6w91W@1dQvoDrW8m%(SJmdfVM|g-4 z=$)W34JT(m!iiI?q3OzEdm`%=N8mJjKxv$fC?dg9)$c&lZ0ld0=t3_vrQHDc6=#y( z5kEtVTG)bwZeYVyRtxD!ds%X3;$eTfdPg6V3)lPu*ikA8=~ruMjF)g;J!(12+jIGO zsP{r+X0HMdvtG|7c6Gd&1p0z4CDB{~tEC@5t@D>T`LUeHK=R^(VDvBz>bi95RsmNU zcyu&o1FeqhX?}irG~3t1v}_*_Wr!>#{6&eb_jsWS%d=4diSK53+Wc|q5tN9Qgsqn( zex?n{LpNav&*A2JuFLa-|6;vreTUqSy|;&JJ^x^44AnKrY6hx1YeQbKNr4iamV~?s z|FvwIE1n*7=q4>FNb)D5(zLK_tM&PldGmTkH87N`&;irIB?TXrbDsiwc+TH}zdPr^NC0Xp!@W$p zReOd~ys4&wr2~hi*oNoC3v%AfQ#ZXTb2^Ko#GrYb`ashphd~#7g;Q&1u`LH^*Jq z!&;PQwCdPY$Mpm>zWwHATTQ7OB}*4|?cvY)4wKi(4$+G`{>>9sfguu-t?D1*_R3{% z?Y+86dOeR>Ja5`oF884Q=ANvQVcuLEwwXQI_U*lo#&?F*P56rKl^5s_A=r6e<)<)C zI^!AonN~~4*j(Fl3&%0lp~>j2b_riy^+reXEO#Vw8GrO$4>qISrh>@Mm#hhzgQx12 z+;hWYBgKP_-Lt7OS?3k(jB1UP*KA{^f*mRc$Il|L=r-sQL0@7x`^YnMIUAld=B4Yz z_3kE)CqTap)*HdE>*kPwSL_d0t7i;79E``YW}UA{%{{xXE51UX8+;Cu@pfuY6F>7j zeaoxLU@=Da5jlT6q=*^~=EIqXd}(%{j%LRCeE~*z`PAUx1#9l=(uU*SRNdyo=R z^KRMgux5xRYCFx+^yyvnoUk&3jhQ!l5N;{{CBr8jOUJu@VpERoCg-0onsEXwuia}G zsPEwAsO~O@Y-!h>T*5`#CgMq`(| zMUwDEUJb_tmpR)yATE*q$(~e5SW0Lzs4T?i|0_I<{t6EpqmApo!h?)qeYC*fyh7;z zBRpVg)uH?f4^$Ll&{1$p-4r2i2fR(Eg!=bL|ig$HEk;yUvnl{k{DEV5?V)Zzj> z++X2An4N7WQDWcUd@~%U^YfVlw*~j@w^YM}Y zi?eqO@+5e_J$u^rv^{OxwlQtn__l4^wr$(CZQJI~?_%SBBR2Nl-Fj6~Q74|Ld{L44 zWPZ+(1@M|n+&1vCix{dNQQD^j(Z%x-Z%k7)T$^SwlE+#K{tgXJob2IicKewm?a^uB zd*bLAxl0-~_zHmI(aG#uDs0YMEN>+ip3**wx<8yC4OxAMi)xx|&y!+>XrGUsg~wBG z`4)I;!sbi>e}%W#kGa&3Z7FLT`Pg9X!t{?n?@LG!+5f#^6v924cof>CywmUf7%QCg z#X?B)#Pkq3$oU_K2kzV2V>&KW^f>yxSca7{*Z!;vnVX%{WV%xYpZ4wqrcM%tVJ1SH%GS3%-h@s;_DtG52fi#6C0i#CqsYorSR2afd~h(c z#N&)iFdj=bn#%K&jJ2t|(YNsMA`Xr%KF~=f^@q6~>K@~<4=;)h|8VT=B2!FmpL4DB zD*VSM`zUq$_W?M3UKy|A_#dTN(*d$aFbdbInn+AcT&&%Wor~B0$h^i+-^7_UDTGT28C<)6k?X2cP<&IAi&Mfd zPDQWk{hdA@d+$fd^7tMe3|M#hKoNgGyA;(!JIP*4*V%P1r1-z3(ROptUW~CbnK(3 zHTQ(sD$51gI3M0)zhA^iAS`U6+O^p(MAKZ2Bc7afcW6F)N7|$ZzBHB5mal(bdfFNF zaXncwxQMN1)7N{r?U`}6vli_9&dBm`iOV@oW(g`wliq)9d&*Oxvr9EriBL7@eq=m4 zgE<*FFQzH2YVi)E{SbCCWXUP|vZdtXSbaN^_!;)jY&8c+Dr&ctaq+pHum*qJ(rw;t z_ZS7PgsXf1TL<&DRHmL-&!3D5U0sk;q7+n21K{7rMXC5|4pM-Nx5Ykn! z77irmz6v5OMl!U!Ge2%MJaYC76h7Z_-E`a4EfjQ9(C0r2f*gCI_sEcuR0y}A=2!n? z?l46#7Wm)I9fUV2D6gK2{r+R_z`v!@2kT%qY+X45SBw;wgHw;gK6B%76=y&CiuSmq z-XC>sc>cjEOQuwv_H4Wln}MBzheXbx%Zk;RQ7#vrcE!{;|D8l#f$5Rm!ysgm^`yvWuyO?Aes-cbLxR zJ)xX@B2mPAtC9#v&;egJMiPz@imu1$uM@rD=I*erVAgZtXM#FuZaBDO%oT+*CQ-ZD zz6^Q%rYm&sy0hHsX2^^e&g-_WiaU35kfS0o3v}w-Q=n>C(-PPMG+D$bam1wAW%*0}=c)cMe ztpBd!P|I-j9L!1;6@PJKul7Ne|r&n|)~K9L?1Xn7{w1Di)W@EpLsf=egPU zDYN{5y)~K2)v$k9JgyGE^ZqGw**7BDO5#{y3wA-dannY)<~E>Ep1%5uzR7ud{TlaW zxv`NNw*5PpRsk(rom=g+_4GM9RuPmzQWBNX5+l}rk z(x^w)@E+~d@cvXwseUTQCIm$6*Z9*v{v4nGYy?^CsS|(bzrb-6z%F#KSWC5Ad3p?4 z@7gL?D4&)6>#~cFhTVy9STg>tO!6#2IJMKa%+yU9iUYm6EYmN+TW{pn#fmq)oZT98 z|HunIY1*Ts^?c^--BjIp-J2}4Ysglnu91zR$Y={laAv5riQiJ&;060Sv4OhuN%isk ze*JL9UuM;cVrcg1P(7IIgA{t-Qn4;cVu8s3oHDcK$YD-x^47{eNIb6OlNDQZn2cm< z6eeUjyAQ9!yg*Az!Ix2NwGmeFEF^5qzqB=YM?Y4%y(i0!WJSzk6iFH5aS~FtW8>@C zM>}-5>rY*W4WT%IO9rrSL!_4`9A8##eCuiXuxX!&WIILf`x`Dk2aO|I2+QfKYoK%# z*xra=NHN{;R$sdv2kZq|;{$hVYkN1_d`&HZMdRb}Ty{CVLGMlqtN$ogOwhUd`0U+w zxI`(f>twKD<8@}?JQ1J0>Zr2eJ`=vzVbN2`&3Nyfz;?9iRi%$$Pf>L%v1L?NX6s{@ z=b?VQW(_2!zz@ebb`=K3~Da5u@Jeh#XA zYiI(QjFzUL#WVVB8*k{0P4z=V4&FNfdKv#g03cFQo7Ey@)es^&@$bEl(PZF1FGLw% zE_e9s#*Ub;n2s5PLCpDkC4qI!`Q!e`(g_t1-RW?0esC~!sdtkv%+2*>EWun++!((A zJjOx?e>^ZmA;l;In!17vY{p$~_z_2Uhv&)_&0M^mqOb7Bo$ZYf&Is6>kmNDfI~-~x z1l3qeStKnDeMK7SAAvyy*>p7XFWlX(>swCJtQB0!IaPQ`Lpg%`s%m4^sIOcZ9#61q#wZ2RN;-mJ@#Y4CQ&K6@C` zq&2L?4Nk-H>wW~VVoFwxms(ID8vBFJ0TbZ52b=kmvGVQtGb##;9Iv^|+adREzzwTr z1gT%(3qr_2GhdKG`eDTj=hZG@`+UjM4v%-+UcC!MV>Y+fcQ#1b7LSHK04-AxhBdCy zht*}yAGwjB$A0oh)VQxHS)R3H$^Plv9ANf9?C@l{vJJz!@wk;9kX7vVTC?%cshslh zis`YoNHYOR$76xay40p6j>GscY#*^Pw1$KfgSJzl=0d&r?}rR_BEN*mM!L9)y1fEx zo7O&UGm8k(1EYBY>9Cy;NTMRgr^SvEd+I@PHP^U8kf#u0*rLNFc2jM;s`K~yI0#N` zA5&k`wd67WO4xANI7dFG;q7xgAYO69b6*xsj%9r7JCt{oVNgc1a{KFy<@@wI8Y=-p zJ1up|u<>oV03hd}lB!;t&Ekc{1)Y{if6d7@8gS+4!*FD#3qhmuqWzwk7O7%*Hi-+- zPb4H}1GVC~oR%a@6G_jSB^;2TX2eWXa+nQRNob}Rqsa0k6N~tp2`O@0| zjsHL09e{uc$c!ca89Mym7wW$|D{})nSAA=JdvhCefCB?Poi45J|FOba-;nWtqxk*5 z)^K$G-xtC7UnMU3j)rFcd)0pm*&CbC$pCBs0yakW0CS`N-PfS}7l{(U$z8IcR+{zm-uWbPw52=JJ+}jtM zmZXeg$ArZ5Lo7zE?bUU^Qc#QHX3eAn#IeZpnP;WV5yOao$3sedy|j_ntbF`yg8p>x z+u?dmf(oeJemukZm*=HTfWALaL4CRw(%tf# zvR{uX6QZ?j&6#9JO=qAEJJMG(cSJ0o_y;ngzDCln)>n>mf+ELBHm@n2f;PU4F0y z&O#OwJD%a;qRYnY_Q5h>@k0}N2r+R3;TEjqlhG?)59BWhRQNJ=6>&9*Cb{o$HsNb1 zi_U4&Wa_BpH|-T_u@gibk-L&!G!gzVO(BT%=XZew6Ziz4Rn_kWPgj1@Ri2^9AEzj^ zIBuVW4U*4IdmA=G((@;+lvotAP|KwUa`5{*VGZj33-y5TuXE9YAd!E5ESlV^$)ku( z8`WYT>mS*+q6us2UN4~Cw_SaE6MdzgHI84XM}*p=eTieHiKIlThi8JblkB7Ow}MO; zQRy^)o;(}a>rt&5_!c|yK`{$VuPbB!jDrtAL**m6f+7#y3KC)zW{0=KTC}Gw!pv$j zQxOLW62w9AG3m3SBs1y5G)y6)uoj#G*%&5g5fnxm^jBek9_OA(du7a72xsGv^O9p$ zh1VGwkoRif6o%V@8`F|w&e8&>^X!Jf7#I%;-4MJGGu#rt5aW?*g^1Qs1YS3a|H-wo z6O=L-2|AEA2EhZLLMwx`BD(|U@(o6j^5?}e`zpxO`(ETil1}nd`C;b!n*3?k_Ei9W z&jTi;4^r2GDFbN@hw_*c2IBh_`q=C19cnEQfQ;>{#m{Qi%Y*K_xr+c7iBDJSyjqy% z6>u5Wv|9p)n`*ijCxt6+^;}=4g)LK@@YPRV5f)n#jbA5r}JE+|FeXlbuh%W*3ZYw3xag)D0u7M&Xss7T;a7^dk-Y}}kcF~!Fo zD0^2TwqR18X{O{Osk8_fgVjaI^>79ZQ6_iqd7yRg?eB5Aa7M z^;w*1a)!zKDPN}~j@*~c6A6<4<1N=123a`YKjz3!9P*`41tXcrM?)O{4Kc`X?})L* zOdW{x6ks6>7Xu4r2!AOE^=E`Z>fy9lUw=`Jj4=vN5FVs*A>Z#7cv1lK_V&XRNF7Z0 zW5Gv`zC?6*LD1j-ByRFbD=q}Yndo?_T^^W%Su&8%xca1K7&?YnZ1T?}ElEQ*-aa}q znqZEYQ^B+=Q0RHfamf(bs_-lYvqd3Q5E=?Fnp?GZb|cg;ef@?mM3Dfid>rj8-_BTY zM3!@pIYuJR&m8`|gX z98`g*{E%0%FDN#?1XEN$!4KIS1$_ec+A^T<%l2AwQYJh?q+g4xKF z<9)_5XF{YoJH&taHEST$V1Jv#awqj0X8v`;#1;@epWQp6_l~q2hDk}fH96fDpXdXJ z^5icuZ~_f}fq8p_9ti-YgN2CR-PS_GtmeM1)mZ`6=4k9^jP4AZ$0j29y&^M^sfRj< zY~u84YsrL#vIt~iYfhNPR2<2LL_n5}xJ{I_?L5lWV6N7=L8G7~8>F;&%$X0Yd}KE} zXZ?Q*d7zna&6*D28=j0tBECfBhOs7P=j=RF~X7DeDHy~ZqTecya{L5 z$K<@*g|{!Bh>1GlQ+_XnL{(6_)?BmvO`JreFA3f2$9^_j^Ju!($6}#2IIV?rQ6mNw zYp6F=dqW38=Hr3^Jr0;ep@BM%Iu;}Dg|{LjXPDp?uK>$MM=*n;th=0rRrA#kaa~nt zs5>Dtsl1IGDSui0OydvlS6BpNiK0gYsi_eA_K5|ILB`D;7%gUiMiPYKR80?*0@28K zzs^!Zm5ctk>HFw}LSbv!n=g)}N5W^@ zul9FUs&BliR6*SK49g>6>I;3 z1#gs$jbZK~YIt#?o5`yjl4<3PjOL~`_eDl03tDG{{c6sXP}f-V0Rty(U_jSTc{ zBzgIE%V=jcJ3Xp2Gsv%{tc8w|=bzKs4LP7E780QMyURS0|HelHrZa9gL)`c0Ejw`3 zw+-@x@89Z^ZyemgbV66_{PiuBZuW0PExm`mI4J5rPy8YUa_JdgtsT@}49^~%!=7V7 z1~P)@j)Lt;bC_=t9(zJlF*y|592f6qlR4m7+`;5-APqs@g1v4rz{8Qgz=V_uv@@4S;H5_L z*kGqdq44VpzgQiz`tgi8fmP+@Ku~wJeHi{yHo$#;$-&$U839#=i05wOG(ti6pw4E) z6GBL-A{L4HF@h~3_eK_^B_f(&13PF1ih_I*31}9gf|P#eqCRyzJ7~=UvF3Pi*}i6a zI1@W~-|?p#ncyGRn?{Fn|AGDl7LdbfV1a8aW+b^cthAnVo1EJ49}D4A#Ea{RTk$c_ z0pG>B4M2A}CRccHody1L=8F%N=-5YT7QhHQ{TI;zk2CiMftRRvRR5vy{^leH2+Ws^ z$l3RoIgrjJ{{#Uk`thW~LE2w9e}6*a69?GJF+ibl7 zUa&w!dCb|hoRLp;hi`EJWW&9vvn{0J`?8*=?LJs~D2O!(KQ`m85dI^nU))%(DuLoK zD!-o}NiKcWuei0p_>omm8t4AW#3pnYvrlO}NLZj}exa~nDh%OmI(xYQj9A|5l+XTM zF{AAt5Of>T5EIkK9M{#Kp6?dzNgOsTxV}gd>q?w*^JVjcO>$O8Uc)gbc_*+aL8LZ4 zcoj4jJXnoPF#jtxjwLk(HB=$=sQzQ@fe8IMHGELqBh| zhU+zlv}&>Ut`sM}oq5EZ8AMq>%vI4;KaRKZjpys#Kh9|F#~c zV1r-OgNz*g)FbuK`6(U9VEW#m`sjy`Kn#5BrSoM-!n~;vWkx7Q4tbz~ihqDZBlIK+ zgB5RA$k6g(siS5Y{0;a{Z3y&+I_Agr;@HU?6kX%U*%Tm_L!83e*WK6Gb%2&KLi)#) zf6%5|^=SjANkW@k9PJ4y`=FUl^C2H%#cdx))LS+7skL!o8=o2-?^N13g*%gzXr+~W zk4#L6-zG4pM33n~NVs(S$$MxCwQ9>B$Avpr=Pb!w zWL|@ok8Q0O_Sj&i9wM-vcuqy353XE2o4ixAIxP;wX&JC_sEFn5)OwUH!$tJYA zDw;klgNohWl7o_?r~7$vOw~ z&){hH`(a{(3fnODQ(fLF7;6;br_$PkM*JQnvDGRs?MG(0bEQP!;UMCHV9CHlN&9`_ zdO`L89JRZ;ygi8vJLPr96Y%wtA*uINPGXXf-vJ`=frpKx+3ji~_VDS_L(F)TB)*M)w_J%#*sUtgk0Ji zc22$n-q5;6xM-VKvzn^~i_Q+?wNiq~&QJjA1cun)diQ#1Lw9+8mkrf>oeVinvIdon zdfVWrT6YX}vLUOT8#5(0^Aj$uCSM8!(Npbmd9Rjz$_}m$i^xPV$^o{>tMfLMj?4aY zPQreka!B`E)R(@I=U})GBi4D?7$s`X$Tm`0MExs1&AiyBHyar>d7+RmJoa3ZSL=)G zNR*jvdlr#ByvnD~MQp^lhHhxSylfBFDIMFbq{1!a_ACm@^2)kw5sHqFtEGy;YnraD zO|yGymY1#tnv64Vy_7@fo{ zN{pWe^4OUS!g1`5+1h`N53<|i;7l0Y>k(F}@T;oTJxUoY6XS}f*ad5ZEWMqjHk1l& z&s^Wj@w{|J7PRh8SiDp+_Gvj2W~Ct9$%-y&r{}zYKMc36$C2WXs1b3cUF`7-wus;T}(ikBOzdbvn$d9}kk3yglM>4k@<^e6Mx#GpwF%A*OeAWP^X zEGxk*E-gI&c^`1S0{Y_bOeR%;s6o#a8oscIqu|si^aX+@m~QcHdHn!1XCvJSvs@rE ziwIj>KHEtSTr;7~B7w8g>v!#1v>FArEE-|?I37sEZKn}Xo#>4BZB z@gMYC!-| zL*ZPpok5?xmPypAXZ)Is zJ!x2Hi`Y`9Ko@~uzH^w0RrmN+L{_C~E$FKBcUbZ~oY+VfEg9ox5Ep}sS}(Ddh;!G= zW3E^!9tf+8lmN|1n6Jg6RDO-LQaZcP%G1#@_Z{_JB0PBWTKfPm5in#8$XsjS_O zv+Pxu&DdZcMgXIh*1DQ?cq*<4cuZWOy-spDR9qH&V#^qUentMBA-Cl;MbHtYJ63q) z)#@y3ad4MarWTO-noyw+E=5D{I>ZDXlTcYkJ`KAP%D2IxTl}_rxLTFkZ7R(3FP|I~ z1XNBd6g2vQlB2r@1__~J3IqHNKe#VQ5^VVwwUW4AC|{avUz+GbK-p*pNHI%*K93Ah znDF8X@h?l!bP);2cNeVne+_{WbE;1C{$EdjKU5BEP23o&^@ovTN?QP4uGsG^Vu3dz zDZh9`K08Hu&388*s7&DPt(i~LnjuWzr|dJQPHk<|x~xqkv^%fXzogdIOMbV*ivrqQ zxW|d^?Cu+4oc?eQO>HOR{w9mkA%{2#O-Y{3-{cE5d6Km>ox8^$dZi6-l3pt$v*)uQ znFu0CnT%f`#JYlM>%K0ocpNlqb%O4rBGq8}Dh9B8{G0V!B!YU#?0PW&<~3f!{#WUZ zxFE{~`caL|jjNR@QCVI5#2TOLy~k$g!>g9rU3(bbtDcg5vEDu--_oc5&iIeYizE64 zE+@)`Hjz8|1KJP#%TUS$yC(y}vGgh>0TNv*dL67k`63%NOysW?x8sYHWY9X5znyB- zv%Sn}zDb797(|i%_5UUvcQ-Gb%#7oXFmro;2BOX`*A@c>!sl^AO>(!l{Wnp8v#Vec z?1ZZ1SU59NgbO>XjM7ZQd@S>_Mu>#BB5di2IAI6y5S9A9y>vuyeg&MWfD;_A@w{r zYifI@zeM1}b(TXw&y3ME+qXV$My`H8*es*nU2Xm`Zou_9D@+bLM9isWKU^s5`g?41 z4Hum!!@Yqs;0B5txm=-!pWEaK+u`O$P(NzeG7?-l=?P^Sx$@eTPax|aHcg--)L0f% zOhqqQrG+z?>d28*Mj@y^m@qf?!mXF+zH+_?GRJnOT4#zUUFP!7ZI1FF6IqFoV~uOg zi+b*yXyd#nafuYZWD*<)yux7rAIe}CC`F1?sry^HOJm%Hk>DjG0aD+KCqi0K zuDR^5_(3-A+Ekj{^F*S92R;TZwH%DBdM&sQ11W0!x`(~6(H2=8>RUR^%QB9(p5{l?-&rRo#>GFrIfSU0N)5TW#g%A`>$A!C& z&V)m<1E*Vy;-o;fOKDN#&^0mc@Li9grNhL(`Aq~qid8vl9-;6zf%onxQHCq4))KRLoS`Nz}pt0g-eD&Ks+)zKm z?hjKf+qvNW2@a-_fO}bXj)#@wmfoJ!Pk^c%xbCM!oWJoK3E5RXx7ZpeRN@a-#ZSug zHUF|F2WHeZ229p8o2l$DZwK~`RZKbY>`FDPE`jU*b&(TSITQjIbW6~OvPUj}V;3~* zo)bmdotsw0^*Z4)S+FQcI}-a}5JfK{%c6rh1eug#vC~X#g>A_}*j85!(@GOkLBUS{LvIq(;Vz^mmnH{h!?CG^l{h~`Wm zg-m9fls1A8t8A_{eOnaEYh#dN)hQ^U)9cl)>69y^Dr}{3N#*xaPsLWRar1Q^m5d2w zw;MzBeit&yIK|+?I&C6Xb1Ug=19Z)uyS?JNwdu=uK%Bb1@w+nu-_Qy^y40P7JTkjJrd4Jia`rkA>BVzu^_t#wtVuL10eL5j6ySLI}oMMb&n z8Uzb2>qjywU4o-H2K*%(iWFoA1AJXZlqdbbfGU^K@iOsO`&#t+BITrw0WbzULu5rw$ zZktRV?~m8HOq$pY8VBnQcKyFW$(LVfV`UCveiG@VnQD_#dK-4IE_y-n2=gb)VS%S1 zq(=V-AycQ5GAd>F!zQsZLxTleJ--Z1^h{@bjuM?P$tR05~D^^E1DAVL(b!(u{(qE-u9DfeqPowlnY4kIC)a%m$nH=(0oXkAtT9o zL+GS^Fz!|(`c(=8<{OU|Xxi<24}yWGm!3<8nK&BD+5m>vD5Ar7=F8_53Yi`BN%*pc z4ge#t&0@jtVZh~UW1$8Cuk>_YmC&0iS1~e3Tv)G$Wb1TJR7Q6mP zRyOmR$l8^{^IE(ap@-`y?=dW4{JPal$ zljW`NOz%)(!NT)|V?pIn0Oz$o?IvOR0KiocbQKq!IhH=!S4E49kUN@vM0ld)_0GiZ zd>8QOkC@qbF}TBm`c2fg%9&6G9K0`->X-bJM_efku7RO+$MiDv+(QHZ_9PYO*3l1v zmeE7j>fJda;1}XkQj6#o*NGnoX*r;=E-aJ3a?>0r(4!GLHm0`sdyPz7J)vU3a=mBp z>yQCad(7MO-R&!6M(d^#VkYNk@7NwWNkum0@K`&&lX`ELvNLBnjXHuoD6@{tLynC& zsLXJp@}rVFsN(M?9#$RQ!{O&-tNZt~WfD4e_V2Tr{iAk&Xr&g;mD$#oP_K~`dQppP zltA3JLifloCqZ?+S96i9k0HxfgeEa79$oK!$fBHsgbmx84%^d`Z3k9P{~gBk!;lL( zNKbFW-%%f{tyFnW`tGu7^38S;K8>4%=HWtfWTtd1XVxu)%~H{@R?ri)e3-vUoV`oO z0P`<~CBLT!*Z;bO{==hAfp8ITOk6b=W#ZFBoIu+&h5xU0> zG&U_>po&$0Mf8I|=kQH{BZwFe9R#$O0Xn&30AS^@Q5a?&;lPT8N(EF{G`ME$%dd$poq*1(BD2P|WGb(-X=N6qjf&_L+%Z$z8}L3J ze8_9E<1Qr_we<9)=SjyrJVhVi;~GkIJ@bPek+vlLA5|Zu+d0!GacGrqf+d#S>1=-Jn!3R)fx@Zq5aN8xi>cMO@bRLH8Q2g_J+-f#t0EAZPb3WjV+Q}!1h zHn~EEA+v@}5_INmIV8ysP!B2{yye)BE?O~6NpWld^6pm!@ZO`UJU(nn6y_@qmY*4& zg8K)!a9JEkE^-ms9falzls*oI_PY3WqK9QMc2c*qMO@1-3yTw6u12(MM$GUMm+FMC zXYKmPGFA~6i(&4o?0n7B#!_DW3EzqyvS{K~9<6tfIVd|t*Q8^%%!Snp zWw%|mV??l15k7X|V)?Ub`q#p-ki_*iq+a>Hg>v47g*_K-xLg+7P<;ztG|sKp`NwLK zw^u6?DhGJKtLkeXq}|;yt+ZhU_j6VxQAno?OO#o{I5mh_XuQI+drWdkvkS|rVpiti z7W)!dzQ|p1eRzCmw5{`dl5?g3jGW6zziKko@aUr>&dk$Yr#>@F?VB+!s4E^iI!Kz->;p3v5 zRyC*~bIK0!!OOV0b}@fXfPg_&WH6l46xx%u%%n4-J73vHl_1zRfNS+)a+!3S~P-lbo-ODZ%@!UH~o zcueqlqJQ6^ldo~A=Cr7R_!Lmh*A%}HYdz`FnRJG3t`n9TP3+r|3fW+ZOgM$OA*AFz ztEy2>RO}6p>j}ByP@!whw2%HeW){4Os7N%RaiXV`M_P(ATYE3_M066cEU9Q3#jVU) zf|!n~sog3s6ZA-r(D+!=p}gcAvNY6n*bFc|U8p+T&epnQxyJJY$Z$PF)eL%5H1aaP z^{I5U(X_ESc0jp6lPz}IeYss6?9~8p0P{_dqah^cdZS#Wy%JGfxr%_qjivwrhjF}1 zS27IjE;>P=qpZXX@=y<}1w3S7d+#>`V*}@b#?tpN3!xni$(J*|s{ZPxA{Qaq1St`& z!0mqe0GeMWwXahop03W#jM~4BO;uw%k9G_!BpntM3HsaVZ9&%GnaT)p zNhJf39sw^Ju#Y!izp(Bg%ytoav$+^P(}u|;*x!iv*#l;DF8W6~m8=v=aI;iz9xvovr&99%&8^FKDIx6ET6kD@JE$py zP{t@2U-;ee#M+D}{TJWCc88>(YPJ*~DfZNT59nqr$iA#alumD+al|X+rehH>v97g2 zAf$TxTanjAQ$k&iP}L`Gy6Y*aV}j&JG6oDjwrItXY6ItSYrbIjfq!^;_2^tZhU7kV zFF7y?%i5mqkC$s!l|cn*?)5q&^T3OGfUR=Y;J{IH%@d64&gj}=xUyzt%VpQ5xRk4a z2hEN$Aj#$G>$gOVDMcE{Gpp@c*p)U26@seg8Tap12M#i~t=$5FjTKhPBL8tQNj6ZD zC*#+lx9nwcuS>h$4qg@Yw*fuZf_wNUT+;UFlnyraLfxafnVSAm|p>^C_Q7@ zU$jrGJ5zJF;AZ=>4_Jg~A=fQMY@syvXBxFDkr^P_kj|4WGc7U=ZzVeY{$4Q7G^>?6 zJaKfDXHrBASzG09)6-zi{ho=?MRR%Ishsn>dVRkT(ejtrS-YG3E1 z!+V)eipsC;m=Y`8-&QJFC40|g_?o~Jw1T$9_+v+37M2)AZ~qn6EYlg=?NIZKH17NE z+nwnPy!2cmDbLGh{hr4mMAB*V@K6-RcJ^%i>+wBw>z(!d0U30!`dc#Kg^TZA>5$^& zaQy+pE~>VKFW!bY>2cOZAoyQ}|W{`|1bwhPcHL8N5AlkSw(-5v|DLp!; zwC!C5Ja^eSjL|ox-L4m?$I{+%o1u|RWOz->?oQ&fkJ$01@h=i7YD08$T>uR=cV;ZX z#~P>R`{3f=w!%6gl&8ECYX|pjk&!Tj&ZVgc^oFnJQb}6&_L}{Nl&YK7`0Zc}6;D5i zI_Hg!_WXe_7tAIcM;F^lx%*g}&;znD;!d`sN-ajGN9VekBY&C?p5=BfHBHu3mYW#$ zu{0xGPF$Z?du`X(bdwZvfosqbF5zHt=1D~LiAfTppRMQ%gqXkw+4MJ9C7^iq94SQV zL1YHVm!Fk4wy3u;aCPeGy({N#x$Q&(e3EL#1h{ce0PWFbw_$;}{qp)^T(u|P_0N_T z&df@FN&QZ+-%Pe;XJ=z*)1R^48qghi*5Cz&Km*k$r^CR#D3F zH0@@53O|;REqz-3Zh=8izOZIsb$@5}tY}$Or#qRbKg!@P!Q8{KyGxCkZTo|8cvqx~ zJDqh*gBP{oL0KZnT?vbTUcgxq*@Ox|2i91j^Vm5El^xawa9#E&ivVN|6vL?rsz3To zxeSCn!CgVRysVq6m7hzn*j2{Tcm8>2WiG4ZI)7^3;KqF;rMs57hCTCoGun^XT$O4i z;OAzLZtx{EgJS}v>89fY4CxwrjuwNZ@G(+DD=ZQ3l`H_hc|69`Kz>;b&5F?`)d<9~o{6ojmQ=}W& zVVhmv`lzJ^-D|4@9&9dLd9F^D}Dht1UlyRxz28h|Zo=}Z>ZHxu`lUNfWS4^UP zN#s-4UP(-XPt1>!GFDm(C+>1z@t78!#ESJCN?S2O-@s;Pv&YkGfs@FNw(7fPS$Fs4 zwQ&}z`eCDjhbtj}L=4};ReR0Z5~SV1Cwsq`(a9B|YpJG1j(Y`JN+qg2YYTbk&o_|0XIAZkyxq;oEjyb+q)|Aj%fPG#^?f%q7p>6T9?`bON zncbjk9U`|p86RLx#jRBavguz zgi#P60>-#l?jmLrgG9Gwc*gPk)FAdM*m^$R)O*aLZCDd>aBhRcQ+R7%?@Yfq6`(zp zrcX$(e9(UNd}`qrnYuwrTKvJ)DbnL6SB<teh1ZchVJu-1ohTN`=-XCU!#sgy6{VT-zo=9bndX71_~ zJh*66-C&`6f4lZL*1ta<*y`-f+UTyjle+9|j>>b}`9gNq;u1Ye|6fSrj zg|utJtcE;bhbg2E-pQghaxi>kH^kwKhVi7jmB$r|ee8DMtH>gm8oB-!EM>??#1|9K zD{uWfK4k^i*U3()9C8<`wS!%``KKs7x*qfqk+no zsWs>}_VZUuTz)26hGr@y9ofa^s%kq`Q?{!RtC!ZsOGmfZe5$nb%Az}@kr=CEJ0ny= zXr=G>%pv}ILWT-2vdjJGqIfc1(UKGas?}Y|={2w>5#rmLf^L5^4>19T8&{khFs5_Ua$$Kh}W$l@!fIa z)j40PBZK8=5_(}JLLNWhY9xm{MYW}##c~uis^0eRgeRT@S={x)61r`MlGi^YgrT6E zEEd8OE$E`r8wta4u&*nr3hfv+@NlW+HTFnnZX+toDjTR&PoxcQ#01Buz|wWDw!{XH z1wQV&t&WZa_sj6Tf*1&Bj8u$NKb@gT;7;mSI$i=)N?U)9&sWG_e_+jD&}2BM--<`O zoT)vNdfT-D6dY$axFgT;-xtsk&CpKQqB^nER3crTZ%ahx7Z*v9y1G@(W>k6| zS9eDwP$G!R2g>PBE`h{_VFc+QqtM*xH4(Ei^H{qU#7a3I-t*%wr(YtWA2!oxpc?*c z(G$_BqE9BRLEHAcpHQN;mW)_6DKWK}Mxp1ag~;dBw!EBeVs@uQS16IGvmara+cdW@ zQpr0=Pn}d-THFNST(M+Gl69lDH(zh2Xw^m=waz_tyZ05Wu3i8T&>uy%4<^Owh8(D2 zT}7au_sj0o(CG{nKJy|7eh*f?mL7*+M_D(4`_l+tG>(=7kXolYHwLa`?HdPoC>oPr zrk775;ysYu^;|TIzC)Vg5W+f*`&WfXK^OGL6l3NkRdWVBY1*3&+^P?t?SQHBc6LgP z+iAB??}igruw_SR9HehOOwjRlUm2}N1x24<2ku$x(D%Pt!-G7Lsq>^PUc zS?{p5r_Ib%>b&zQsP(Nml6A|-UsK?LmMiAu84!Wbq2wjHO_&j|H?MSYg|T5qqzxz8 ziLiEcUJ)*S^+Z@_6_(eUDs!_ZT2>$+d{APlMEOzHJp5+4BC$EglpS>VBXIWwvRU$H zc<;JSwWaXxTGcN6JZZ!YFXp`!7FS%oxzp2lySq6E;;5s38ikGaas7`b`j`6a{&Ak> z*Mf5O^;P-O*c}c?4*9ed{%B6N9862Xu#$nUT+l@7Xopkwr^$bsrVglZGaf zJ<4l@X5lo{|4iMGz&_o$?H}SQ@od>(j{S5+fgEgRaxIjXBe{ZDXdbnYL})wr$(CZQEAmT6=$0 z=hSuGj6cvLMnvn;+xwI~u9Si`$;qTG{Q4r5?u&ataw}6!AUi6UX~oHvBPtxeJ=tR- z%%m-F2ML^05W3|mDx+Ae$P}$11^9wM3>e0Qzua+$ekh>)O$P9UARjji7c9sZyse6} z*fS53x&h$8&EFdF<21aPqYYY^kM222rtxH7XhcPckq9#Z+n}r3E1ez59_g2SCN}L@IKbZ`W zLa@gbC~T#vMWVG9pRptr0Mb6LstBUj7W_`fI&v$BQg_R2oNyGsWCny)0;szDOtz)( zZN>QL8PwFt^^gBz&6s#ZS!=Bw467+?0?kPHD|v+ZBgCHQV{SsCxw!yBV-+z$3s&@u z+zLr;D%LVrB!m~*`VrF!LFxugz%UK>|J2OS$l@Cjpgl)^fv+Kq_5l=O$g6{dU&X}E zVX(c6m7xf7LJf|E>W?sWu&2!V_c7%@$mtuAXEZ5%+HcPE$Cg9Ow=b+!l5t@Sh0`^G>}0{?E$Le zpB}{6)1-zs-_IvI4UHAgB$r}rLF;z#Ph%JWO(dp<9WvKN{rQaHsjnE2#^zGt0c*si z^qs8=#bOo-!$P0LjWD#ai;yA=ml_PVBNMHqu&*MA7|;PN0oNJw{$s&Xx#>}0ic9$~ zLMoSm?AcNIhRQT8)Z&m(f*I3%p*#*jovXHu%GrapF1tWSEJ)%a7&@ldqZsOqI)El0Eg&Oia0wNJ1%;^^)FXgHwq=8#uI$z8 z>f;ff@T++cFr=FNt$!1>$0JOk+2>iR7*i2oOVcZ9wBM?7^8n@3E6v74pm#?UTg#N{ z*UK8<8D_SFIhaxbif~9qOs&h;o0BGy5C_*HI;ftJ8<1ELfN;KU-x0p@a@ZG&21&i$ zh#XE_LOyEnj$(+xA`)41i71z>7z2Kvkx-(j5<(6PVuVlpr?iVs6j@Gpi(Hsu5xGRr z0%@R0t`^NChjXD3EJbFZCKo{=&{c4U&P8AXgp7}dQZI{kM?eZ0r+{oO=pb)kk?vCj z(%*Pwj7i!CG#Gi*3}Gt3M$AgKLkgKnkc1T3!342Y7Qqw3dgtcn$!)sc8i=O6Cah|X zudbBAe=Jy&EBP9%fFnG`Azf%h|0lM+4p}fSj^zmzc4|2rX*QtyD>rb5V<>z zHyel`FiU%_#w1=Q*6?~e#5R0vQU#oj0C2Ur!_HpKJ7@%CN;ItXA zj&&pKQ$mut{FdzoPxo&hn7D8Qlhq=ZJHr&*_DmVJwlOm9xjR0%I}Ug{q~H$3K`28= zn0}>5_T-?cfeRGXVFviyzC=Xudm2X2{L+sp^y8-<+)||pNKs1R!+!Bm6)2JH+4;-W z2@~vYI}-GuI}z%`E`d!hg$4BIL=}Y{JS5SQASvt^70|d2JOdtkz4n(OI@#`_%!F?d z02xW9E0gffY^du@iEb2(!duRctOBs)S}mPE-9VXb1z&Zb0GL@0*zl1*a@a1Nbu^5^ zTHb-I0(j)5DxxjhfSvnTjT=rqU7}v_ZCoH5i|92EF`EAS`u!C7u;7I%=Mb^(N~#kT z;BWVpYQ^#j)2LB5oF&9 zEw~WjDTpp^0!St2>5|Z+zZB(Q^gxtOyvm2+PG8sW9}`x&N7Evs8bBv; zamFi=k0=jJ<&ZK2sRqarA#aB{pveYM#V@_2nr<0C<{uXpLl6UO1pyAU3qizR4PnUd z9$^TW`p1L?5+p$J5r9zG<;Vpq_)%X|ZMcT3;%`C6 z3BDm{f!vk9LF+@-MG%I~08}9C_@SCCK;V9aSX?Rp8?+WcJ<1z7W#H!@Ar{{s3}W4< zHVn%JbdS&je2MP`(!&>lAgj#GCt$)y4zd+67phP39}^bt$Al$^c#N?+GwXrC1S7;% z1J1>~gA{-sP!NPwC7eab8~Foa8LNT7@#`qftOpYlbeG^SWdNQSZ~za4F!UKdWB?t; zEu_}#5;s=qnjjt^fT%R zeIO90Y)rko1UPMbbZEgaY$`*2uVFoEB7Vxjm+#GTM!lA6=z+f=f|1bqRLcVj(Gk%3 zTi}CX*$(6EKm$TSV50o~MPWOGfdWu+AabERkbEdEC^sPcNdeu293hx@@c~VGw~%+5 zu_2WIlFjW(0fs=+73y9Y5Zw6i_#{w<)5JbqE9>SEIU51-n)eb=34KPfq~HCXO!@dt zEpaNU4&3-VvXLzU>V`*dR|Qi5btVh9M-nl#UjIXlp6q5nG?2>|7F(Y{m1^&fD6WQx zJ{mb1aYI-?3tgutzAz9emWn+5v^D`gIzEh>dr&_XV|p)i{#8?(Pd^MrP|zjRBNXKy z8kWAsAxUUV@)ngOlnQ}dZ+NA~*W81HG!Y&d z*ArkDDGP&VV^FR1&kGFFjplrT9jN}ts-364^J6Hi-)rg1eL7stAxF^uJ%6qs zKZj_{Pl~FgBsdK6%|6Eh&M10Nkv+c%1bmbx2Q403zdCT7f&K>D#$OWy zZI3JfB)wV}`JjVg81F7R>U;1yd|FDG0mNZo>#T*~-{N-YgZF%5X>wz-yMcyaKR19 zeJOqr6~`_VJoyTqY+GB76ApY(IwONw44$Ku=nji-K@o`-)2~5Wxq7To0pODi#BkmM zl8FM4#5P$2AcJ~MaPlgl0m(?DBTzfy?6)@BtrEK)QIhd{kAL*O2e-HgWns*RoDD(m z<_h$qa`K~*yrbyoBjZQTDRz6qB_*W>j7-rh^GoTv6tiHMud_&E!~S?tg-#YhWU2O{ zLwZjP6eY0*{tisV>4h)ML4^?7I6%<$1E4r8hT(ESs!GXzE1v+7N#i@C*s&+tJ_oU8 z3?SY4yGK46-ME`GP;6VsYt$0{r+(mLfT)$q`CINED3(kV_K2_E9yOd@?FWjD8$%p3 zY|y}$Nxs{E0b+a7YE4PpK?^C~!8sAo91Jxj=gMUoVkA~dBhD8@4iv;3o4#VQN{#nt zlsH#NhZr=ib8sjY&>Qw@ea3Mb$%K{?@oBj>1n?#U6Fv0Ty z3ZRnUsfJ=YYET%o+d#Wa=-tBmTJqnF@T(7i+NqiLX|KtHAae6KfV>((4vN%W(WK-O+;r`E#^1QZ`@33QK#k@kx(D>OX`tT(Vm1 z0d{o@?&$?WMyRO?0mn~g)Q8C&3UZcqDp0)Zn;d4^mI~m)#L_@=Nl8F-?FxUv>_r2_ z#zb?kuix(2BL)5nO_)yn7^3Q)zEZ{Y8o7@7xL!qKWC~bqooT8jNxAG9)R?Q1;*qi) z2u1P%4FDRA1{;2uNVp3~(URpOAw}tD;O&qncZgun*X!svX>JuMgH5jAFl`f zPGRnkrb2H2(OzEL(6FHREtkv@?Olz$d9;SECKTsfE*3_nSj`AB8aVFfV_zbG-<}A6 zu8&VLKz$7{u#3@MA?|K+F+TdW^B>+_wF3%l1sKFI!ar zYZPL@xJ{J;=lCS?dp;N zgwf#*W}U^dO#*}THVNEX&Kw3BKq#;bxm3?%B6Gc8?XCIi%-}=JG@pPXE&?J=DUD+E zO9TtVj#c_cl?Blt(3LV-`9h`tHM`3bR}f-Si=x-K!Bt5H$}uyR3DRt({(A?xNf_Mh zrn~?mB&Pky1V~NVbiXGBXEJ=jtMzcj6QXIA3Ty?JxaV3_KtM}vWeb6GK!xj_@NVag z(sDcnxqNZiTiMg*`@Uqjp46MD2%6+2dFoPo{(GyB621Dmz4j)9don<-gv!Y)o0Ilf z*FI?IqCX6i-}9<|@rXy!Wy5Xz@AaMWbM~<4dpXLbhJqRWuc@*$W5bW#xNwJn5ZmL| zmssot_$lX8Lni6*%wkd5RgJ&cbQhZPR#oUDAcQt8HM=tYf&+u|E53Ya9ukB}K(z=d zqyxcdj07Y&G=y2fm=Y9J;e~Uy^RbIxO zHoC4GEB*0dMF#dGKQc1cuMf`S&Qz3d)@exiLlX7)Bs7bKCBE(J&-7pF&py3WaMRy; ztILLimEv`OHF}0Q8xieupa_t?46XHfEw4PIV!9k76MEAyX}i*^euKNg zk{dCYwzwlTGfw&W6ZusP)Z~2(7=FGY4ok7Y6|uj-pzd6JjX-(pE!@EfBkb=))F0x! zOyiDQM{<}&!{{PR1O@P-M z`0-(L=8(Vsw+~yA8Et)lk@-J9tnPn(*x+mA&wqVbpnrYX-bIE=?*IC*tAF>t|1Tfb z7j@5@9icmACeFIaV7uyo_pP3HCXp*1g$w17@BR35DDqo6h&SqpcB$$bbL<33Z1+om z0e8Z^Xb%;{?)K0c-EGz5J3q45x-$<1juZ`s=(92RBgq$}nB;@O?+ZTF1G^jc3m5qn zl^QiW%ulCg?kdFcP%v%Vif--(;GTBPL*>z-LwMAg{>(XupgajgBTm36^G>AC%>v1*EGRVxV`Pf#kF89cOfDxBA^-sy01zeunNJQ7gibfos5&4> zU9A4QDXMRU5Ro}nFKs5DGEvMU#9sy>xgQ`FP)O|`AeP}DAQs|(fY>|~0D+l;{sIya z!5R?UIi^!HCBTm2`eG z1u5}ZA({J4+o%D=p~9F*AW89`P5xm3pjk19cu+pvK&sxKQNS1kIT`@jlxX5Ykbm0R z#WH^MY2!yeAAaMduSW-?9Ak{mdvzcH4G`699qDgVOOnhh3WS+ke{D#u4KL8C04xEY zFzWfA$h;%pWeOQI06s{|xI#*dtOS&f#Bf#f`>f@@S_TNIJ4>=Z$<3ZC6;l*?aNVAo z3>?c7oTif>@|eB8eI^dTQx`Rm58(v@iD_|8W^fOHgP@OHJ4;Qw=ARU{Nbnw&6#KH> zRjZ2z3%Cy`FIRKKzWyuDiW73ADlw{^VYS(H>om=p<-y%-)J<+_pG~!P2t(&F<%gXH zHo)xj;c+Nr;`;y^TR1oz&ZB$3}aphV#ZGoPo)h6KEYTe_BUJtV5m$1DmB$jcB}U zO~9;I7s^kYq1o4yhwQ*Rsv)1S*PfR!K1CV#DYjJLuX`UUA-1RMo9rRim0NX|Z(@uL z;525v4fd}vgDu0Wy`CH`eqIx}y&th`Z&C)4-(O{5G1>>SRC_3u_4`E>?PyuxAEyXeX@YoIyoPtlJP=bt z*Z&}~Tiv4G0>eBj*26(VeZ?Es#~vsagb@I_GcCV!T!VWOXd!@n5r(gLI{tRI0Y4TP z>+rp&+e3_mUzYIJe1>L*dq3B+?f5q1_~O5~G+J+QL~YbYV`@{v@FMjA5&3RlMqSj$ zHbDK= zqJ04Pe~nn=1502@j-LM*v6(mjF=C0y%FW*~37w=#eb$P<6}71njQ%xZRiEA)^PRpU zhrYh2znkE{u$_Sbb6$a~W5|<0c|fg|5QPO?zk0yLex?qDBnAmW$_J(2NH8b>XR<|4 z#J`D%wtat$Sn!;wk}8}ZBNhQsPNt0L0BAv|3Qs&;77vLZLM2_*xM9CEl4tj9^Q%25 z>DW2l=O`X7=XHSjPzXqXV8$YcE%*pN?9tuPzH=fSS3rpqRPg6E0kcJDzy>MxXIM3y zm6L{%&y)YX`{hq7l@Jy{1*-`An_><{(B+o=mmXI+r&)k}NkjH^mMVz}JXN;X{P`HX ze=Ol|#W8X5Lh$zXyiG?XwWku~vmUz|`vwDe|B`&1up`SaQ6dH5#99wSEOG)ewtz)! z=H%SXz^ji1qO6oF#53_{7}$&BD7RGx3pr8upy1-<-{UyUiH{>E#oT7_zOx<$#T`M2 zpnMae3%UFRiUK@-K9-Iw%@f9zF55-3)HYIob)dHoCQAdMc`9|VOu3pXJnkfwCk5~3 zBE6bLry=KLJluAA<})=GAGa25t`CHXylHL)7RjZZikBXk{$w*K7Dr#ncvfdtmLKt~ z$X*z2xyAG3pAOWoml|C+Keh=)ZnNbLZ)EIGDug*@k(1F^w4NO|>||<_5T(6J?i-Y?K-piFPZ$~oJ?3%H$UWm56 z{Dcn8lnUOWB>=#BV-xdpGKCCyr&)H!+?sVcHT4(8No`AP*t+Ixu#&fxzdu?%{M4rFSOQ~aQy z!XSjN`Tp|Ra5%&$Y|X4Ov9Y)HU@m(`0Fl0OUXEkEe0Wfm zm5YVQ0r&``uZiH?TJ4pEz8`f>ZJ%EFVW@s2MuXK;O&3`owK9&FPT7DRXGe{d^I=`MZ*&yzlG+2yOn#fb zua^Qwv(UJ&qJic0C#<+1a9poB}7Di{s ze!=1FsAQ|@@m_T+d_fkr&VbXy^@gEjEXT}VS<7mbuRhM-SQy>@s&(3;^J{No^AS>3 z>{BXCMM#@eyPm`1rLlUx4AH%>d*j9uN`XwC3`67mgh{Q}|XxPJ8h}G-Y=Svs1#b=Y60td^RfgXG90rZ{% z|MF{oFovUTW!`%-Or!Ulc~1am1+I=f@lu^JUtQ-+&`hk3oz$Swbj81%mzrADK~?7D zeSe%VKsKSs|Jj&q2zSj(KOh!^W2*LYjG>@`Q%ggfDIO6BEwnEbC)2XO@zQOUE`-AK z1?%ckHm}dRN=0FkKl!w9-funa@@V8i)~2o2F*2#EvU~Lrc*|RsY}BmFpWDmU(qb|F zr4i1Dftu}GVMDR{(J6HrRGpq&_p*ny8oyIj@Oh$uj1f~z8R(xL%G@jTQ*Q;KcI7yS3&db zV}@n_b}RC>Ic^o?z#c)wFAYN5%*Rwr+%X`kBqo*|Whdv6t*=0h3 z!TN{V9{DJ-Qyg?O;7dw-7$dDHLLnl*EkHOFUO@NeR8eQ?c#_Z>R&QJDpu8v+Dwg!a zzy5)S7fwIt{9Tm)nF(EvC@OrOf9oEBJ~Ve~Rd|}~2N;wrL>k5Go$_Jm8#Po}n^!;(|L4aKdt_E#&c!i0K&9$OHHiY@BV+0ScC&gaX{j};EeaTQqtaz#9EF}5b7F$ z#a{|*&4il>aX?cTL*1E7KtqT3YRWsW+Ve-u$pcS1gGiM&Rpx(l-ZBFlAc+#M6cM22 zcAhqHTfFwi7nY8O;lfTjccR!Y;|&>^9kdnAQL(6gR*1~znxyeYf4H5ej<>`*{*EaI&txfo znl(UC6()B-Xw0G*lJd1K+8F^i@iZU=;cPB(x{~W%f`sEFb zqb+v|u%czO8te{UbT$!?aS0VBnmpPn>Jd_8d@w+1edv7@f~H@mQ(=5x;anEZJFI1!;;hK3T-|J$=ZGkO#Xf(X z%DiA-R}x-#5`yNq5;Gj9tArd)ezd+V2iWi zi4}t;Z;jwBAhnwJ&jgB04vF=yX{FK@WxH%>%&BH~ZfGM%Ts-A)!SP5dc3(-=%z;OOibtdA?*b8SSG2}i;V4l3b}2*)c? zV94aD5uWw=`~oqz;TSKhR((C`S4^&sFKHT5(`0I*Rh8nHH@vi%Z#9X#f z+etIqIMLA4ViXh1c388m_+i9afk(gbyy5+b^BO;T-L2g$aiNOkX2wLJQu}mlijYwR z{@!l6YQ4kNfNyWM&`QU?Udk@nK@j<>-87Pkt*xMV6!RI}6aT{P(7x|X;5X-TcXDC0 z+C)t-;t5l`fu?3>?jPgb4lhr(uXVwtf zf`=)VokP%RZNS^$P<-PaBuxaYe7(7b^p(ZtO3!8-W|2*AB4$UE%l_R2bNcvkF{WlJ zXKK>Yd|Ic3xGIlF&}-J6F*3Fk4fh$IgT=1GwuUugmPy%NOa4c`b0EA54cp+^z0&2( z&B+izf7lTGk|Y>IzhhkVY?7zZ;d86+(Q~T+9|DR@vp22w*K4czGP#{A&tB-D`6ZYX zVV&YZbbc;~Rtke8Y~u7~kgz{4syNk2qQ!FM0(Yw^Rr`QZRhdIU>0^z*0A$)Sg^Flk zqBG(or%F~cH>>ry_ih^%*ifcS586r(Ep)el{*H=_Ob=p_h29!s5$4Nd9PEd|j*67U zhuIj~T`x@mTTj=y;V=|NOH+HawdSz%I2JiR;F=1`5p&eG-BWAr@Ec@)mr2~*_*7Pf z#Ky;42kbR``3;S9ndIi^&$)WOv`$)<`2*{R=B=Ey>|LIv`TVm?J>>@P<>*Im|6{(+ zA_GL})_e4CY2auI)C4#$XXl{4#U#-BrsWMdV;&AnPBnFX#_=*^6iz}Gf=xa%^Jil94G&>tJeo9BjqJcXuq;WSaC6q0{Sl!%ek-=Ww}px5llXdF@%MfFOwSr zDgQyXz85s$RovL6K~JYqtLf-fuzELu&dxc0am59`Drx^h>^{|=?5*VaZL>e<#d)+* zZ9Ol~xohk^sJFJ_Eaf@7b%n30!JFZvuA|f9$xr6&mhI=Z2Eg|opv4}V|_G(Kx_Hu;*{p`yp-J7mOik+LORK`kD~Uhw=L-<^2E z@}eBG$+`!sfrznvP4|L}wHta@mgV`>U05_0y|y%y0M}AZJ|Y4 z&EvC;f_=Cw_aIX;W$sjPvti5Z+B5hlz4FoynJ6I9x(Q-VqN|mUF&#=gz6P4fQ7W(& zlm{YO>{riekchW^Xb`UQ=N(eyqm~v@=eu6_idU3|*7(zp8Qk?C7OvOwZK2SnuS)K2 zQGf7a5P#>f*h<&3?9=R<7wcHrQ9w(@QMV*qP9GG>$kreKpG#uAJSV95)Y%?&1u<<(G9msh8c- z-$!>A$8X)BbGvLr)`lc5jd)!>ciRlZ7mRNoQ`#q%{3T$mXcO7>lx{~cS4pVraSiS>DJJ5a?J+^x zOH5gVim_uqX^}7L;cYKw#_3ir_v=W|J_Y8s^(YM23MO-mZ0Bbh^WdpOMBphB?oH3R zV=3Row{tU+_a_<7n}r&(u%{!NZ_V1Rgqa^AHV1f&@l3GjV$`amyVgW2a5n;aU&RE( z{KAUI4CPyo;eMb08YHt5d3eP-WR-nXkWbEdW39wUmA$9KKr{xJnL)(KLq7^P+W}YH zd9Ae@=~uHL1{QtVf^zrx(PKaX^0Qs%mWUPGGBWNj&Mdr$H^ttVm-pH_ezm%NQ%UTk zPU`mRO62KS^LX8U-SriAdJ9~n3rw7JHoX3<^N~i!8UtI){fln)*;~Y+ZAfLdY@N#U zof&)cv9chhz7C!3=})E)v_grS8||+P48~&&7& zl!h$TrriXPE2GCc9^2CUE@)JYq`XBd|2l^&6Va(ZGamqKVYl* z^V{3$Dzr=9FfDvw)FHJbV=C_CirT>wgWV&;WZ0IMpjoqfgh021yEwdzxAR65?+5BpCR6xUcLE7VLaK?4zf#(m zCx2!|m$z;%9$3$_2{P;`TbS6o$76nKfh1usZKhx`XQfJhwdwqD-nxh}@&@alm;jKuzyT0^YtC5?GJ% z?wPHUQQTL0eoZvBn=9$&!jWl$U1aS9}xs?iI*&I1?!Jef8))+v>8to1D7-al+> zv#Yekjh@52)jHd~tbN=RvprlZ%d=zCIYlJe2O@mT;+DG7Yu!_ng~xS|$G9(%p4k8j zrW$62$zb5Klph&ZTTxZC5$(yiq8Zc8!V$;Y%C>6pyeEX6#OVk; zBjA=jmlM6TdY(1YNxc8}e*eb1k zYsBI3EMPbTFF%di1ASP^lpf!9YrvXsq_;8_crwJ&xIS1zhp97@L%=gcW$4H`r`3v@ zkoRb9%PRdGmNwvh)4oj3TlY+(Smm64sorrL(DsS?mb<=)Te~ng>ykCBgGKLXA3(?9 zFilN5I+%9z=5%N%AjuQ@ZiuV(Vc_433r#%FLKw?0r>#Cfeir0vtBgE%d-0v} zSM2kSF;L=TE3Gt!{QH0lNKJVBkAs+UbHI;N{ReOrJ=Cnixo2Me#}rlIf_q!mUl zDA9~T=|sBt0`ij_88DEACeCy#s%H-C3D)k+h~8;nwo7B6I`rODhyCozu25R2q~r~# zaR%Ki>jaV~Dut}-)rm}vGZycSR;t84&kl^DMIUGI0b>Ock5%p)p2pm7yz9kr?YnB* z=Z6N3E?p37{oR&R?cUu;3j5(K#v4Yr(+d{vgNdQ((PnTmhWCU`M|w>!y>eTTT7_}{ z7Xv(+)YT$d(|u(W3DOA<#}4$~al3D(NG+vuRK>9@B2O{>DavLXlT@ySi2r#@yF8PHZ<`cKiLpwV*%Ypu~V?G-I?0McQY!K9$RJP9e5t zFLBgeG7J3+pTWzO-3s=H>doYWT)`Z5qR%WNs}E(*?di&&Cm(TXC8gp5vtyTY!2T#B zln9dHfUm%&fRJPEtl%A1S(yezXDn0phHshtNgamZA^`)aICMvAv}7i2Z+Dx}nPGvQ z>9RCBHb3Iic*{%4sRKEO4=?sY zdUCj1W4S3Am{&Og@T#Wi&eIcuI_w z7!V?*nK|8vD|gADrB%lVWfM=lH=|eSSV0~-r5(PCaXHm(+4AMc>Lb#he(&G2n!ol3 zWf8S;8e3ZD_nIpvn{?tQ49T@!?{u};Xs6B3==z@=gp`%4e0RH}u{s-idJYChTp_v| zWIz1I!X?Tm7_jQt``|d&-a4^TrLu;QCrx{@8mLp68kV zuxQG3brsvWz}W`$liP6;oL3fiAF6ef$up!qw|}#0*;amJc_D8zC#W0kayh*U7Hyhx z^8CwiEYEi@>X<8!fy6a0+bx>EwWe$3>Kr!J(1cr=Ud3LDffFB-m{%-)wO{*N;Ze@@ zi}-Rh4IW6PDuTS61^%4pOQukima{q!*II>3efj(k^|2urHFd>o6M5UfY>jGfp0Rql zq&4iZDfV_L+^C0=W54)M!6N_zAtQ^m(v>yWRcqXWwJnoOt&b)Glc9~nLPSxRXA*z1 z_|*Z9H#Vf^&NM2<=zS6sdJ-p23IgJGm@&y?An>QsX^jN|nO2XwPzgFg=Wnzz<))94 z81nOzDSVtvQJO>cU57cRfv=XzU^3l1gWalhz7lC}gKdw=H*`+ri~3+-(Vw^H#>$Y< z5;cpGB6VM)L!sdoqXBeP%4*K1uwL)}(yqZCpY+`|yxtkSxpOf79)0#3zh9Kee?6Er z;UOGimyH63sh{*6|h7Pb-rYWU8qt1Ns`z!-JWAV2o;i(t|to^>7J{^af{r zj<%LQaJFk^LO1<_63Ajs1s=H;;8wyLoykByp>=4-SD8O&)Ql}`PAfh$qWwC~r8Ldu zahd6C7p+F+Zc?!vp1TEl5xQBJF~Cmms+TT<{yM$sY%>^AkCQgDSJV6Mx1lASA*=oF zhMi7q778m>WO);wjfK-}I&d6;M`IalYJOha3JQZ|r|gO7%BMed9?&`PinpJgdHYV) zQD37sUxvP#q^P{U$aj}vsgQ7SW&CrgDd#r#n$Pov!R&bFs{Eo080pIU$kJhoNtsyG@DXdw1~%>94~b>tBa6yx8QFTbT?(jfXdtalWqkp)}#i zN+}^Myy~`l%;wLgfk}%xJVHe$`RUL25^OAGr;nXY6K}uElTx<5be@UWss5B+$9TY3 zMso@nXSkr2GgE&K3ceubtw4GBKKHoE4cqv$WyORA?H|P*99?d^WUmmG^c$ znRALKSzA`Jt&!z?^yysgvDDE?jyEliW>_)B*%eo}WV*cHKa73f93qR=U6vW(F#T!5 zw#YD1YV@+0U$$Gg8c+P0c$GwlH`QU-zi@W%R_&;29p5av45r;!vf1#q_K}uol{hSO z-VU}w;bPrtlWGLy=9QdqxjcY--{z3kxQiGME3dJv^K7Gy!1ZP~*ebZ&{L1?KIkPkL z>eFM-sz-E@`?nt+)m7ECiI%fl3DAA2nQP7FqH)5O2s&$Y^LbUnec5N@J$=2kMDdGR zFX%Bvn(PLxvvaK}6LmTHW#p#3$K&e5=h^*ro5QOP=;}KA$TtOq;J0Dn!)++5;cL=MS|n`tR}kikh^7@Wg@CDw!30`D%wQ6w%4oSBzC%F44l z>mQ{>bXb(gb!IA-<%CDd35+3nzhf;F&Yu_+}39 zISv=zH@#qrE#(4vtzX zoWp&K>HyjEY#(lVIdeC>?N0+WGO-_3G=e3kl-vuS`+ zNMLlazt!Vt6aU51ka08QK{Z*?L7ZQ5No7<#VyFv+y|w0*!zCGhY+qM-?NGQm;#NaE z##7O}dR&~8nQ}`@%qkFUYE8j9A?Jcn%c7G3pt!)*OiJR8e|2T3V zpDe-yYCIgNGDquW>#x1NP=IXYNif4e}yfciQh#gvT@o(;TF^}^f1U&2(}$K%i$ z#CHMqc4Sjq+`*c>;(Nin8Q1{Kbm5-3iPu2e2H)Hk`x#xUk;r-9&YA zE}yQK3DWKalorL|e90^h5gw|ZyWj+-DkSOakE7_$q45qWAh_*9f@+ zDSKQB)#XfGoF}2moHup35*F2<5Bh1$tG0U4&^|>Y@1duW{~UnIiUsl;WRTP8(5G4c zC-EzlmD#qwe6Nfdid)l&O?>h<*04g)Yrcjv|Jaw9@EXM`PB~MIYlYK_B%)7g~?Wj5jJvi>%%6zrhJ# z1x;rLH>r92$l4`wnmTD~sUo*oNL3pbvd)|I%XT2aFTEC0YH|;)n`$%?Ma~vks0@u$ z(bb%n^`~>lQ2TKV-i?N{bq!rr3y@#NGz(nVHqpJV74SF8b$ z>gHAfg{2qd*lEw?rq8vuzmW%;8<;hNaM}4duXW!25@lUrkGJeSu24VQ_4;Xn)2(H9 zR!V$7Y}3zJMX`7@N+$E5z^o>Xrl>Z1%7vyU+qOP?LKn~aRie~JG8+r`cpgF1mVXWV zR)vZ3@4ml+%8Qgt6wl~t~@uD@U!!28Vpvpu25l+GJD?co^<^k3pz zgn_Ozt#Te+cTB6aX0;ggjL|J~-guo%e?4@HKBAJC9c>$2mHu*gDe8+nHMhUJXLRlk zvuV2-Nm5O7qV&3vsh2!9c&zeXYHyp}Q|~gFNIRqKLNDvav4^|WJg|S8Z{=*Rz-xCg zjArQ=TJMt96TOcO#?NW{KS1n%iVp#-Qf7Lb002AY007GW-{Qj$yyEgd$%p?3`sq*i zVY2R}2q;%2HZK{sadr+tq5w-4ZQHhO+qP}nwr$(yYumQ%?$@@h|6(S7#H^?GwXBM&%)I9u zckQ|V-tK(%e0twnoLo)c%>K{1!F$fv0D%AiAo}wCg%e;#;G5l_%jbDZ#_m;zyGr0H zUy6C;E=Nuq|Es9nkpn_U9Evq%(8TFu1(Q4}YpkqkQ{`43L0y+=l~fItDm@NMQ154$qE`MwT^!EeK|kM+A_a(@B~$5eu01X*UBjKik>PCyP2LB*gY6+{`A_#g415-AV* zAMqiEAk(M>DiAWypd_qEHV%3UW+bYDK1jv^%<7FQm@tH@rW?{PA_4+ZBX?{NYf~e( zkbjv$f&67n3BSUWA%vm|G6fOI0r6RXTonAU=pGt9xUj@ePS}6nq(BbIv1wnbzluuC zK`BYr0{sBmo(04jtTh;XNThQr)J=eeA(@dS2&GXFFG}eM5YtqMEi;EYFb-%0A`5{N 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

Y_xVs7G` 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

sVKuDA|w04dLa++nUiK<;BnEo{^}>K;iBS_SRU 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