From 6f75b1ba78b5f5ff56fe1a6776780e7a5254190d Mon Sep 17 00:00:00 2001 From: syneffort Date: Mon, 12 Dec 2022 15:35:17 +0900 Subject: [PATCH] winform control --- WinFormStudy/CheckedListBoxControl/App.config | 6 + .../CheckedListBoxControl.csproj | 82 + .../CheckedListBoxControl/Form1.Designer.cs | 62 + WinFormStudy/CheckedListBoxControl/Form1.cs | 63 + WinFormStudy/CheckedListBoxControl/Form1.resx | 120 + WinFormStudy/CheckedListBoxControl/Program.cs | 22 + .../Properties/AssemblyInfo.cs | 36 + .../Properties/Resources.Designer.cs | 70 + .../Properties/Resources.resx | 117 + .../Properties/Settings.Designer.cs | 29 + .../Properties/Settings.settings | 7 + WinFormStudy/ComboBoxControl/App.config | 6 + .../ComboBoxControl/ComboBoxControl.csproj | 82 + .../ComboBoxControl/Form1.Designer.cs | 62 + WinFormStudy/ComboBoxControl/Form1.cs | 70 + WinFormStudy/ComboBoxControl/Form1.resx | 120 + WinFormStudy/ComboBoxControl/Program.cs | 22 + .../Properties/AssemblyInfo.cs | 36 + .../Properties/Resources.Designer.cs | 70 + .../ComboBoxControl/Properties/Resources.resx | 117 + .../Properties/Settings.Designer.cs | 29 + .../Properties/Settings.settings | 7 + WinFormStudy/WinFormStudy.sln | 37 + WinFormStudy/WinFormStudy/App.config | 6 + WinFormStudy/WinFormStudy/WinFormStudy.csproj | 38 + extLib/EntityFramework.SqlServer.xml | 2156 + extLib/EntityFramework.xml | 54121 ++++++++++++++++ extLib/PSqLiteWrapper.dll | Bin 0 -> 2055680 bytes extLib/PSqLiteWrapper.dll.config | 19 + extLib/System.Data.SQLite.xml | 23038 +++++++ 30 files changed, 80650 insertions(+) create mode 100644 WinFormStudy/CheckedListBoxControl/App.config create mode 100644 WinFormStudy/CheckedListBoxControl/CheckedListBoxControl.csproj create mode 100644 WinFormStudy/CheckedListBoxControl/Form1.Designer.cs create mode 100644 WinFormStudy/CheckedListBoxControl/Form1.cs create mode 100644 WinFormStudy/CheckedListBoxControl/Form1.resx create mode 100644 WinFormStudy/CheckedListBoxControl/Program.cs create mode 100644 WinFormStudy/CheckedListBoxControl/Properties/AssemblyInfo.cs create mode 100644 WinFormStudy/CheckedListBoxControl/Properties/Resources.Designer.cs create mode 100644 WinFormStudy/CheckedListBoxControl/Properties/Resources.resx create mode 100644 WinFormStudy/CheckedListBoxControl/Properties/Settings.Designer.cs create mode 100644 WinFormStudy/CheckedListBoxControl/Properties/Settings.settings create mode 100644 WinFormStudy/ComboBoxControl/App.config create mode 100644 WinFormStudy/ComboBoxControl/ComboBoxControl.csproj create mode 100644 WinFormStudy/ComboBoxControl/Form1.Designer.cs create mode 100644 WinFormStudy/ComboBoxControl/Form1.cs create mode 100644 WinFormStudy/ComboBoxControl/Form1.resx create mode 100644 WinFormStudy/ComboBoxControl/Program.cs create mode 100644 WinFormStudy/ComboBoxControl/Properties/AssemblyInfo.cs create mode 100644 WinFormStudy/ComboBoxControl/Properties/Resources.Designer.cs create mode 100644 WinFormStudy/ComboBoxControl/Properties/Resources.resx create mode 100644 WinFormStudy/ComboBoxControl/Properties/Settings.Designer.cs create mode 100644 WinFormStudy/ComboBoxControl/Properties/Settings.settings create mode 100644 WinFormStudy/WinFormStudy.sln create mode 100644 WinFormStudy/WinFormStudy/App.config create mode 100644 WinFormStudy/WinFormStudy/WinFormStudy.csproj create mode 100644 extLib/EntityFramework.SqlServer.xml create mode 100644 extLib/EntityFramework.xml create mode 100644 extLib/PSqLiteWrapper.dll create mode 100644 extLib/PSqLiteWrapper.dll.config create mode 100644 extLib/System.Data.SQLite.xml diff --git a/WinFormStudy/CheckedListBoxControl/App.config b/WinFormStudy/CheckedListBoxControl/App.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/WinFormStudy/CheckedListBoxControl/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/WinFormStudy/CheckedListBoxControl/CheckedListBoxControl.csproj b/WinFormStudy/CheckedListBoxControl/CheckedListBoxControl.csproj new file mode 100644 index 0000000..49f1520 --- /dev/null +++ b/WinFormStudy/CheckedListBoxControl/CheckedListBoxControl.csproj @@ -0,0 +1,82 @@ + + + + + Debug + AnyCPU + {48575365-6698-4A89-8783-9682B43CFB55} + WinExe + CheckedListBoxControl + CheckedListBoxControl + v4.5 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + \ No newline at end of file diff --git a/WinFormStudy/CheckedListBoxControl/Form1.Designer.cs b/WinFormStudy/CheckedListBoxControl/Form1.Designer.cs new file mode 100644 index 0000000..7e82830 --- /dev/null +++ b/WinFormStudy/CheckedListBoxControl/Form1.Designer.cs @@ -0,0 +1,62 @@ + +namespace CheckedListBoxControl +{ + partial class Form1 + { + /// + /// 필수 디자이너 변수입니다. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 사용 중인 모든 리소스를 정리합니다. + /// + /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form 디자이너에서 생성한 코드 + + /// + /// 디자이너 지원에 필요한 메서드입니다. + /// 이 메서드의 내용을 코드 편집기로 수정하지 마세요. + /// + private void InitializeComponent() + { + this.checkedListBox = new System.Windows.Forms.CheckedListBox(); + this.SuspendLayout(); + // + // checkedListBox + // + this.checkedListBox.Dock = System.Windows.Forms.DockStyle.Fill; + this.checkedListBox.FormattingEnabled = true; + this.checkedListBox.Location = new System.Drawing.Point(0, 0); + this.checkedListBox.Name = "checkedListBox"; + this.checkedListBox.Size = new System.Drawing.Size(295, 296); + this.checkedListBox.TabIndex = 0; + this.checkedListBox.SelectedIndexChanged += new System.EventHandler(this.checkedListBox_SelectedIndexChanged); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(295, 296); + this.Controls.Add(this.checkedListBox); + this.Name = "Form1"; + this.Text = "Form1"; + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.CheckedListBox checkedListBox; + } +} + diff --git a/WinFormStudy/CheckedListBoxControl/Form1.cs b/WinFormStudy/CheckedListBoxControl/Form1.cs new file mode 100644 index 0000000..54e127a --- /dev/null +++ b/WinFormStudy/CheckedListBoxControl/Form1.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace CheckedListBoxControl +{ + public partial class Form1 : Form + { + private List dataSource; + + public Form1() + { + InitializeComponent(); + + InitInstance(); + } + + private void InitInstance() + { + dataSource = new List(); + dataSource.Add(new Country() { Name = "한국" }); + dataSource.Add(new Country() { Name = "영국" }); + dataSource.Add(new Country() { Name = "일본" }); + dataSource.Add(new Country() { Name = "중국" }); + dataSource.Add(new Country() { Name = "인도" }); + dataSource.Add(new Country() { Name = "프랑스" }); + dataSource.Add(new Country() { Name = "독일" }); + dataSource.Add(new Country() { Name = "이탈리아" }); + + ListBox casted = ((ListBox)checkedListBox); + casted.DataSource = dataSource; + casted.DisplayMember = "Name"; + casted.ValueMember = "IsChecked"; + + for (int i = 0; i < checkedListBox.Items.Count; i++) + { + Country country = (Country)checkedListBox.Items[i]; + checkedListBox.SetItemChecked(i, country.IsChecked); + } + } + + private void checkedListBox_SelectedIndexChanged(object sender, EventArgs e) + { + Country selected = checkedListBox.SelectedItem as Country; + if (selected == null) + return; + + Console.WriteLine($"selected: Name {selected.Name}, Value {selected.IsChecked}"); + } + } + + public class Country + { + public bool IsChecked { get; set; } = true; + public string Name { get; set; } = "Country"; + } +} diff --git a/WinFormStudy/CheckedListBoxControl/Form1.resx b/WinFormStudy/CheckedListBoxControl/Form1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/WinFormStudy/CheckedListBoxControl/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/WinFormStudy/CheckedListBoxControl/Program.cs b/WinFormStudy/CheckedListBoxControl/Program.cs new file mode 100644 index 0000000..10ad54a --- /dev/null +++ b/WinFormStudy/CheckedListBoxControl/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace CheckedListBoxControl +{ + static class Program + { + /// + /// 해당 애플리케이션의 주 진입점입니다. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/WinFormStudy/CheckedListBoxControl/Properties/AssemblyInfo.cs b/WinFormStudy/CheckedListBoxControl/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..421a921 --- /dev/null +++ b/WinFormStudy/CheckedListBoxControl/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 +// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면 +// 이러한 특성 값을 변경하세요. +[assembly: AssemblyTitle("CheckedListBoxControl")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("CheckedListBoxControl")] +[assembly: AssemblyCopyright("Copyright © 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 +// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면 +// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요. +[assembly: ComVisible(false)] + +// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다. +[assembly: Guid("48575365-6698-4a89-8783-9682b43cfb55")] + +// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다. +// +// 주 버전 +// 부 버전 +// 빌드 번호 +// 수정 버전 +// +// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를 +// 기본값으로 할 수 있습니다. +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/WinFormStudy/CheckedListBoxControl/Properties/Resources.Designer.cs b/WinFormStudy/CheckedListBoxControl/Properties/Resources.Designer.cs new file mode 100644 index 0000000..904afb1 --- /dev/null +++ b/WinFormStudy/CheckedListBoxControl/Properties/Resources.Designer.cs @@ -0,0 +1,70 @@ +//------------------------------------------------------------------------------ +// +// 이 코드는 도구를 사용하여 생성되었습니다. +// 런타임 버전:4.0.30319.42000 +// +// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면 +// 이러한 변경 내용이 손실됩니다. +// +//------------------------------------------------------------------------------ + + +namespace CheckedListBoxControl.Properties +{ + /// + /// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다. + /// + // 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder + // 클래스에서 자동으로 생성되었습니다. + // 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 + // ResGen을 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CheckedListBoxControl.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을 + /// 재정의합니다. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/WinFormStudy/CheckedListBoxControl/Properties/Resources.resx b/WinFormStudy/CheckedListBoxControl/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/WinFormStudy/CheckedListBoxControl/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/WinFormStudy/CheckedListBoxControl/Properties/Settings.Designer.cs b/WinFormStudy/CheckedListBoxControl/Properties/Settings.Designer.cs new file mode 100644 index 0000000..63c76d3 --- /dev/null +++ b/WinFormStudy/CheckedListBoxControl/Properties/Settings.Designer.cs @@ -0,0 +1,29 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + + +namespace CheckedListBoxControl.Properties +{ + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/WinFormStudy/CheckedListBoxControl/Properties/Settings.settings b/WinFormStudy/CheckedListBoxControl/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/WinFormStudy/CheckedListBoxControl/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/WinFormStudy/ComboBoxControl/App.config b/WinFormStudy/ComboBoxControl/App.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/WinFormStudy/ComboBoxControl/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/WinFormStudy/ComboBoxControl/ComboBoxControl.csproj b/WinFormStudy/ComboBoxControl/ComboBoxControl.csproj new file mode 100644 index 0000000..44e2d71 --- /dev/null +++ b/WinFormStudy/ComboBoxControl/ComboBoxControl.csproj @@ -0,0 +1,82 @@ + + + + + Debug + AnyCPU + {59461905-CE75-4E6B-AD5C-503F23FB15D7} + WinExe + ComboBoxControl + ComboBoxControl + v4.5 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + \ No newline at end of file diff --git a/WinFormStudy/ComboBoxControl/Form1.Designer.cs b/WinFormStudy/ComboBoxControl/Form1.Designer.cs new file mode 100644 index 0000000..1f783e4 --- /dev/null +++ b/WinFormStudy/ComboBoxControl/Form1.Designer.cs @@ -0,0 +1,62 @@ + +namespace ComboBoxControl +{ + partial class Form1 + { + /// + /// 필수 디자이너 변수입니다. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 사용 중인 모든 리소스를 정리합니다. + /// + /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form 디자이너에서 생성한 코드 + + /// + /// 디자이너 지원에 필요한 메서드입니다. + /// 이 메서드의 내용을 코드 편집기로 수정하지 마세요. + /// + private void InitializeComponent() + { + this.comboBox = new System.Windows.Forms.ComboBox(); + this.SuspendLayout(); + // + // comboBox + // + this.comboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox.FormattingEnabled = true; + this.comboBox.Location = new System.Drawing.Point(12, 12); + this.comboBox.Name = "comboBox"; + this.comboBox.Size = new System.Drawing.Size(168, 20); + this.comboBox.TabIndex = 0; + this.comboBox.SelectedIndexChanged += new System.EventHandler(this.comboBox_SelectedIndexChanged); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(193, 121); + this.Controls.Add(this.comboBox); + this.Name = "Form1"; + this.Text = "Form1"; + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ComboBox comboBox; + } +} + diff --git a/WinFormStudy/ComboBoxControl/Form1.cs b/WinFormStudy/ComboBoxControl/Form1.cs new file mode 100644 index 0000000..526ca87 --- /dev/null +++ b/WinFormStudy/ComboBoxControl/Form1.cs @@ -0,0 +1,70 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ComboBoxControl +{ + public enum CTR_CODE + { + kor, + bri, + jpn, + chn, + ind, + frc, + ger, + ita, + } + + public partial class Form1 : Form + { + private List dataSource; + + public Form1() + { + InitializeComponent(); + + InitInstance(); + } + + private void InitInstance() + { + dataSource = new List(); + dataSource.Add(new Country() { Name = "한국", Code = CTR_CODE.kor}); + dataSource.Add(new Country() { Name = "영국", Code = CTR_CODE.bri }); + dataSource.Add(new Country() { Name = "일본", Code = CTR_CODE.jpn }); + dataSource.Add(new Country() { Name = "중국", Code = CTR_CODE.chn }); + dataSource.Add(new Country() { Name = "인도", Code = CTR_CODE.ind }); + dataSource.Add(new Country() { Name = "프랑스", Code = CTR_CODE.frc }); + dataSource.Add(new Country() { Name = "독일", Code = CTR_CODE.ger }); + dataSource.Add(new Country() { Name = "이탈리아", Code = CTR_CODE.ita }); + + comboBox.DataSource = dataSource; + comboBox.DisplayMember = "Name"; + comboBox.ValueMember = "Code"; + + comboBox.SelectedIndex = -1; + } + + public class Country + { + public string Name { get; set; } = "Country"; + public CTR_CODE Code { get; set; } + } + + private void comboBox_SelectedIndexChanged(object sender, EventArgs e) + { + Country selected = comboBox.SelectedItem as Country; + if (selected == null) + return; + + Console.WriteLine($"selected: Name {selected.Name}, Value {selected.Code.ToString()}"); + } + } +} diff --git a/WinFormStudy/ComboBoxControl/Form1.resx b/WinFormStudy/ComboBoxControl/Form1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/WinFormStudy/ComboBoxControl/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/WinFormStudy/ComboBoxControl/Program.cs b/WinFormStudy/ComboBoxControl/Program.cs new file mode 100644 index 0000000..1a5cdbf --- /dev/null +++ b/WinFormStudy/ComboBoxControl/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ComboBoxControl +{ + static class Program + { + /// + /// 해당 애플리케이션의 주 진입점입니다. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/WinFormStudy/ComboBoxControl/Properties/AssemblyInfo.cs b/WinFormStudy/ComboBoxControl/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..2334bf6 --- /dev/null +++ b/WinFormStudy/ComboBoxControl/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 +// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면 +// 이러한 특성 값을 변경하세요. +[assembly: AssemblyTitle("ComboBoxControl")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ComboBoxControl")] +[assembly: AssemblyCopyright("Copyright © 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 +// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면 +// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요. +[assembly: ComVisible(false)] + +// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다. +[assembly: Guid("59461905-ce75-4e6b-ad5c-503f23fb15d7")] + +// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다. +// +// 주 버전 +// 부 버전 +// 빌드 번호 +// 수정 버전 +// +// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를 +// 기본값으로 할 수 있습니다. +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/WinFormStudy/ComboBoxControl/Properties/Resources.Designer.cs b/WinFormStudy/ComboBoxControl/Properties/Resources.Designer.cs new file mode 100644 index 0000000..f8712eb --- /dev/null +++ b/WinFormStudy/ComboBoxControl/Properties/Resources.Designer.cs @@ -0,0 +1,70 @@ +//------------------------------------------------------------------------------ +// +// 이 코드는 도구를 사용하여 생성되었습니다. +// 런타임 버전:4.0.30319.42000 +// +// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면 +// 이러한 변경 내용이 손실됩니다. +// +//------------------------------------------------------------------------------ + + +namespace ComboBoxControl.Properties +{ + /// + /// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다. + /// + // 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder + // 클래스에서 자동으로 생성되었습니다. + // 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 + // ResGen을 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ComboBoxControl.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을 + /// 재정의합니다. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/WinFormStudy/ComboBoxControl/Properties/Resources.resx b/WinFormStudy/ComboBoxControl/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/WinFormStudy/ComboBoxControl/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/WinFormStudy/ComboBoxControl/Properties/Settings.Designer.cs b/WinFormStudy/ComboBoxControl/Properties/Settings.Designer.cs new file mode 100644 index 0000000..6cf8245 --- /dev/null +++ b/WinFormStudy/ComboBoxControl/Properties/Settings.Designer.cs @@ -0,0 +1,29 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + + +namespace ComboBoxControl.Properties +{ + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/WinFormStudy/ComboBoxControl/Properties/Settings.settings b/WinFormStudy/ComboBoxControl/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/WinFormStudy/ComboBoxControl/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/WinFormStudy/WinFormStudy.sln b/WinFormStudy/WinFormStudy.sln new file mode 100644 index 0000000..feb5de5 --- /dev/null +++ b/WinFormStudy/WinFormStudy.sln @@ -0,0 +1,37 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.32630.194 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CheckedListBoxControl", "CheckedListBoxControl\CheckedListBoxControl.csproj", "{48575365-6698-4A89-8783-9682B43CFB55}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ComboBoxControl", "ComboBoxControl\ComboBoxControl.csproj", "{59461905-CE75-4E6B-AD5C-503F23FB15D7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataGridViewControl", "DataGridViewControl\DataGridViewControl.csproj", "{FF9C6945-861E-4AC2-A3FE-E0A49BE4B4F5}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {48575365-6698-4A89-8783-9682B43CFB55}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {48575365-6698-4A89-8783-9682B43CFB55}.Debug|Any CPU.Build.0 = Debug|Any CPU + {48575365-6698-4A89-8783-9682B43CFB55}.Release|Any CPU.ActiveCfg = Release|Any CPU + {48575365-6698-4A89-8783-9682B43CFB55}.Release|Any CPU.Build.0 = Release|Any CPU + {59461905-CE75-4E6B-AD5C-503F23FB15D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {59461905-CE75-4E6B-AD5C-503F23FB15D7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {59461905-CE75-4E6B-AD5C-503F23FB15D7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {59461905-CE75-4E6B-AD5C-503F23FB15D7}.Release|Any CPU.Build.0 = Release|Any CPU + {FF9C6945-861E-4AC2-A3FE-E0A49BE4B4F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FF9C6945-861E-4AC2-A3FE-E0A49BE4B4F5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FF9C6945-861E-4AC2-A3FE-E0A49BE4B4F5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FF9C6945-861E-4AC2-A3FE-E0A49BE4B4F5}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {5681B8B4-EF49-4B8B-8361-C0FC613D3D48} + EndGlobalSection +EndGlobal diff --git a/WinFormStudy/WinFormStudy/App.config b/WinFormStudy/WinFormStudy/App.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/WinFormStudy/WinFormStudy/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/WinFormStudy/WinFormStudy/WinFormStudy.csproj b/WinFormStudy/WinFormStudy/WinFormStudy.csproj new file mode 100644 index 0000000..97dcce8 --- /dev/null +++ b/WinFormStudy/WinFormStudy/WinFormStudy.csproj @@ -0,0 +1,38 @@ + + + + + Debug + AnyCPU + {24B70740-5D86-4155-BC5A-F9393295BD5E} + Exe + WinFormStudy + WinFormStudy + v4.5 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + \ No newline at end of file diff --git a/extLib/EntityFramework.SqlServer.xml b/extLib/EntityFramework.SqlServer.xml new file mode 100644 index 0000000..ea081f1 --- /dev/null +++ b/extLib/EntityFramework.SqlServer.xml @@ -0,0 +1,2156 @@ + + + + EntityFramework.SqlServer + + + + + An that retries actions that throw exceptions caused by SQL Azure transient failures. + + + This execution strategy will retry the operation on and + if the contains any of the following error numbers: + 40613, 40501, 40197, 10929, 10928, 10060, 10054, 10053, 233, 64 and 20 + + + + + Creates a new instance of . + + + The default retry limit is 5, which means that the total amount of time spent between retries is 26 seconds plus the random factor. + + + + + Creates a new instance of with the specified limits for + number of retries and the delay between retries. + + The maximum number of retry attempts. + The maximum delay in milliseconds between retries. + + + + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Returns the checksum of the values in a collection. Null values are ignored. + The checksum computed from the input collection. + The collection of values over which the checksum is computed. + + + Returns the checksum of the values in a collection. Null values are ignored. + The checksum computed from the input collection. + The collection of values over which the checksum is computed. + + + Returns the ASCII code value of the left-most character of a character expression. + The ASCII code of the first character in the input string. + A valid string. + + + Returns the character that corresponds to the specified integer ASCII value. + The character that corresponds to the specified ASCII value. + An ASCII code. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + + A of value that is the starting position of toFind if it is found in toSearch . + + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns an integer value that indicates the difference between the SOUNDEX values of two character expressions. + The SOUNDEX difference between the two strings. + The first string. + The second string. + + + Returns the Unicode character with the specified integer code, as defined by the Unicode standard. + The character that corresponds to the input character code. + A character code. + + + Returns the starting position of the first occurrence of a pattern in a specified expression, or zeros if the pattern is not found, on all valid text and character data types. + The starting character position where the string pattern was found. + A string pattern to search for. + The string to search. + + + Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier. + The original string with brackets added. + The expression that quote characters will be added to. + + + Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier. + The original string with the specified quote characters added. + The expression that quote characters will be added to. + The one-character string to use as the delimiter. It can be a single quotation mark ( ' ), a left or right bracket ( [ ] ), or a double quotation mark ( " ). If quote_character is not specified, brackets are used. + + + Repeats a string value a specified number of times. + The target string, repeated the number of times specified by count . + A valid string. + The value that specifies how many time to repeat target . + + + Converts an alphanumeric string to a four-character (SOUNDEX) code to find similar-sounding words or names. + The SOUNDEX code of the input string. + A valid string. + + + Returns a string of repeated spaces. + A string that consists of the specified number of spaces. + The number of spaces. If negative, a null string is returned. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + The number of places to the right of the decimal point. decimal must be less than or equal to 16. If decimal is more than 16 then the result is truncated to sixteen places to the right of the decimal point. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + The number of places to the right of the decimal point. decimal must be less than or equal to 16. If decimal is more than 16 then the result is truncated to sixteen places to the right of the decimal point. + + + Inserts a string into another string. It deletes a specified length of characters in the target string at the start position and then inserts the second string into the target string at the start position. + A string consisting of the two strings. + The target string. + The character position in stringinput where the replacement string is to be inserted. + The number of characters to delete from stringInput . If length is longer than stringInput , deletion occurs up to the last character in stringReplacement . + The substring to be inserted into stringInput . + + + Returns the integer value, as defined by the Unicode standard, for the first character of the input expression. + The character code for the first character in the input string. + A valid string. + + + A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine. + The angle, in radians, defined by the input cosine value. + The cosine of an angle. + + + A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine. + An angle, measured in radians. + The cosine of an angle. + + + A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine. + An angle, measured in radians. + The sine of an angle. + + + A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine. + An angle, measured in radians. + The sine of an angle. + + + A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent. + An angle, measured in radians. + The tangent of an angle. + + + A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent. + An angle, measured in radians. + The tangent of an angle. + + + Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value. + An angle, measured in radians. + The y-coordinate of a point. + The x-coordinate of a point. + + + Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value. + An angle, measured in radians. + The y-coordinate of a point. + The x-coordinate of a point. + + + Returns the trigonometric cosine of the specified angle, in radians, in the specified expression. + The trigonometric cosine of the specified angle. + An angle, measured in radians. + + + Returns the trigonometric cosine of the specified angle, in radians, in the specified expression. + The trigonometric cosine of the specified angle. + An angle, measured in radians. + + + A mathematical function that returns the trigonometric cotangent of the specified angle, in radians. + The trigonometric cotangent of the specified angle. + An angle, measured in radians. + + + A mathematical function that returns the trigonometric cotangent of the specified angle, in radians. + The trigonometric cotangent of the specified angle. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the exponential value of the specified float expression. + The constant e raised to the power of the input value. + The input value. + + + Returns the exponential value of the specified float expression. + The constant e raised to the power of the input value. + The input value. + + + Returns the natural logarithm of the specified input value. + The natural logarithm of the input value. + A numeric expression. + + + Returns the natural logarithm of the specified input value. + The natural logarithm of the input value. + A numeric expression. + + + Returns the base-10 logarithm of the specified input value. + The base-10 logarithm of the input value. + A numeric expression. + + + Returns the base-10 logarithm of the specified input value. + The base-10 logarithm of the input value. + A numeric expression. + + + Returns the constant value of pi. + The numeric value of pi. + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees. + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees. + + + Returns a pseudo-random float value from 0 through 1, exclusive. + The pseudo-random value. + + + Returns a pseudo-random float value from 0 through 1, exclusive. + The pseudo-random value. + The seed value. If seed is not specified, the SQL Server Database Engine assigns a seed value at random. For a specified seed value, the result returned is always the same. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the trigonometric sine of the specified angle. + The trigonometric sine of the input expression. + An angle, measured in radians. + + + Returns the trigonometric sine of the specified angle. + The trigonometric sine of the input expression. + An angle, measured in radians. + + + Returns the square root of the specified number. + The square root of the input value. + A numeric expression. + + + Returns the square root of the specified number. + The square root of the input value. + A numeric expression. + + + Returns the square of the specified number. + The square of the input value. + A numeric expression. + + + Returns the square of the specified number. + The square of the input value. + A numeric expression. + + + Returns the trigonometric tangent of the input expression. + The tangent of the input angle. + An angle, measured in radians. + + + Returns the trigonometric tangent of the input expression. + The tangent of the input angle. + An angle, measured in radians. + + + Returns a new datetime value based on adding an interval to the specified date. + The new date. + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns a new time span value based on adding an interval to the specified time span. + The new time span. + The part of the date to increment. + The value used to increment a date by a specified amount. + The time span to increment. + + + Returns a new date value based on adding an interval to the specified date. + The new point in time, expressed as a date and time of day, relative to Coordinated Universal Time (UTC). + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns a new datetime value based on adding an interval to the specified date. + + A of value that is the new date. + + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The value specifying the number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two Dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns the current database system timestamp as a datetime value without the database time zone offset. This value is derived from the operating system of the computer on which the instance of SQL Server is running. + The current database timestamp. + + + Returns the current database system timestamp as a datetime value. The database time zone offset is not included. This value represents the current UTC time (Coordinated Universal Time). This value is derived from the operating system of the computer on which the instance of SQL Server is running. + The current database UTC timestamp. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input values. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the current date and time. + The current date and time. + + + Returns the name of the current user. + The name of the current user. + + + Returns the workstation name. + The name of the workstation. + + + Returns a database user name corresponding to a specified identification number. + The user name. + A user ID. + + + Returns a database user name corresponding to a specified identification number. + The user name. + + + Indicates whether the input value is a valid numeric type. + 1 if the input expression is a valid numeric data type; otherwise, 0. + A string expression. + + + Indicates whether the input value is a valid date or time. + 1 if the input expression is a valid date or time value of datetime or smalldatetime data types; otherwise, 0. + The tested value. + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Returns a hierarchyid representing the nth ancestor of this. + A hierarchyid representing the nth ancestor of this. + The hierarchyid value. + n + + + Returns a child node of the parent. + The hierarchyid value. + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + Returns an integer that represents the depth of the node this in the tree. + An integer that represents the depth of the node this in the tree. + The hierarchyid value. + + + Returns the root of the hierarchy tree. + The root of the hierarchy tree. + + + Returns true if this is a descendant of parent. + True if this is a descendant of parent. + The hierarchyid value. + parent + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + Hierarchyid value. + The hierarchyid value. + oldRoot + newRoot + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + Hierarchyid value. + input + + + + Indicates if the provider supports the parameter optimization described in EntityFramework6 GitHub issue #195. + + True since this provider supports the parameter optimization. + + + + The DbProviderServices implementation for the SqlClient provider for SQL Server. + + + Note that instance of this type also resolve additional provider services for Microsoft SQL Server + when this type is registered as an EF provider either using an entry in the application's config file + or through code-based registration in . + The services resolved are: + Requests for are resolved to a Singleton instance of + to create connections to LocalDB by default. + Requests for for the invariant name "System.Data.SqlClient" + for any server name are resolved to a delegate that returns a + to provide a non-retrying policy for SQL Server. + Requests for for the invariant name "System.Data.SqlClient" are + resolved to instances to provide default Migrations SQL + generation for SQL Server. + Requests for for the invariant name "System.Data.SqlClient" are + resolved to a Singleton instance of to provide default spatial + services for SQL Server. + + + + + This is the well-known string using in configuration files and code-based configuration as + the "provider invariant name" used to specify Microsoft SQL Server for ADO.NET and + Entity Framework provider services. + + + + + The Singleton instance of the SqlProviderServices type. + + + + + Set to the full name of the Microsoft.SqlServer.Types assembly to override the default selection + + + + + Get or sets a value indicating whether parameter values are truncated to + the scale (number of decimal places) defined for their corresponding columns when they are sent + to the database. A value of true indicates that objects + created for columns will have their + properties set, which will cause the parameter values to be truncated. If set to false + then the properties will not be set, avoiding the truncation + behavior of and allowing SQL Server to round values if necessary. + The default value is true to prevent breaking existing applications that depend on this + behavior. + + + + + Gets or sets a value indicating whether to use the SCOPE_IDENTITY() function to retrieve values + generated by the database for numeric columns during an INSERT operation. The default value of + true is recommended and can provide better performance if all numeric values are generated + using IDENTITY columns. If set to false, an OUTPUT clause will be used instead. An OUTPUT + clause makes it possible to retrieve values generated by sequences or other means. + + + + + Gets or sets a value indicating whether the ROW_NUMBER() function is used in sort expression + passed to the ORDER BY clause when OFFSET is present in query. The default value of true + is recommended to obtain query results that are stable for paging operations. The value of + false can be used for compatibility with previous versions of EF and will cause the sort + expression to be passed unmodified to the ORDER BY clause, which can lead to unstable results + if the ordering is ambiguous. + + + This flag only applies to SQL Server 2012 or later. This flag does not affect queries that have + already been translated to SQL and cached, therefore applications that need to set the value to + false for compatibility should do so before executing any queries. + + + + + Registers a handler to process non-error messages coming from the database provider. + + The connection to receive information for. + The handler to process messages. + + + + Create a Command Definition object, given the connection and command tree + + provider manifest that was determined from metadata + command tree for the statement + an executable command definition object + + + + See issue 2390 - cloning the DesignTimeVisible property on the + can cause deadlocks. + So here overriding to provide a method that does not clone DesignTimeVisible. + + the object to clone + a clone of the + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + + Returns provider manifest token for a given connection. + + Connection to find manifest token from. + The provider manifest token for the specified connection. + + + + Returns the provider manifest by using the specified version information. + + The token information associated with the provider manifest. + The provider manifest by using the specified version information. + + + + Gets a spatial data reader for SQL Server. + + The reader where the spatial data came from. + The manifest token associated with the provider manifest. + The spatial data reader. + + + + Gets a spatial data reader for SQL Server. + + The manifest token associated with the provider manifest. + The spatial data reader. + + + + Generates a data definition language (DDL) script that creates schema objects + (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection + parameter and targeted for the version of the database corresponding to the provider manifest token. + + The provider manifest token identifying the target version. + The structure of the database. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter + and targeted for the version of the database corresponding to the provider manifest token. + + + + + Create the database and the database objects. + If initial catalog is not specified, but AttachDBFilename is specified, we generate a random database name based on the AttachDBFilename. + Note: this causes pollution of the db, as when the connection string is later used, the mdf will get attached under a different name. + However if we try to replicate the name under which it would be attached, the following scenario would fail: + The file does not exist, but registered with database. + The user calls: If (DatabaseExists) DeleteDatabase + CreateDatabase + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + + Determines whether the database for the given connection exists. + There are three cases: + 1. Initial Catalog = X, AttachDBFilename = null: (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 2. Initial Catalog = X, AttachDBFilename = F: if (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 then true, + if not, try to open the connection and then return (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 3. Initial Catalog = null, AttachDBFilename = F: Try to open the connection. If that succeeds the result is true, otherwise + if the there are no databases corresponding to the given file return false, otherwise throw. + Note: We open the connection to cover the scenario when the mdf exists, but is not attached. + Given that opening the connection would auto-attach it, it would not be appropriate to return false in this case. + Also note that checking for the existence of the file does not work for a remote server. (Dev11 #290487) + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + True if the provider can deduce the database only based on the connection. + + + + Determines whether the database for the given connection exists. + There are three cases: + 1. Initial Catalog = X, AttachDBFilename = null: (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 2. Initial Catalog = X, AttachDBFilename = F: if (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 then true, + if not, try to open the connection and then return (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 3. Initial Catalog = null, AttachDBFilename = F: Try to open the connection. If that succeeds the result is true, otherwise + if the there are no databases corresponding to the given file return false, otherwise throw. + Note: We open the connection to cover the scenario when the mdf exists, but is not attached. + Given that opening the connection would auto-attach it, it would not be appropriate to return false in this case. + Also note that checking for the existence of the file does not work for a remote server. (Dev11 #290487) + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + True if the provider can deduce the database only based on the connection. + + + + Delete the database for the given connection. + There are three cases: + 1. If Initial Catalog is specified (X) drop database X + 2. Else if AttachDBFilename is specified (F) drop all the databases corresponding to F + if none throw + 3. If niether the catalog not the file name is specified - throw + Note that directly deleting the files does not work for a remote server. However, even for not attached + databases the current logic would work assuming the user does: if (DatabaseExists) DeleteDatabase + + Connection + Timeout for internal commands. + Item Collection. + + + + Clones the connection. + + The original connection. + The factory to use. + Cloned connection + + + + Provider to convert provider agnostic migration operations into SQL commands + that can be run against a Microsoft SQL Server database. + + + + + Determines if a provider specific exception corresponds to a database-level permission denied error. + + The database exception. + true if the supplied exception corresponds to a database-level permission denied error; otherwise false. + + + + Converts a set of migration operations into Microsoft SQL Server specific SQL. + + The operations to be converted. + Token representing the version of SQL Server being targeted (i.e. "2005", "2008"). + A list of SQL statements to be executed to perform the migration operations. + + + + Generates the SQL body for a stored procedure. + + The command trees representing the commands for an insert, update or delete operation. + The rows affected parameter name. + The provider manifest token. + The SQL body for the stored procedure. + + + + Generates the specified update database operation which represents applying a series of migrations. + The generated script is idempotent, meaning it contains conditional logic to check if individual migrations + have already been applied and only apply the pending ones. + + The update database operation. + + + + Generates SQL for a . + Allows derived providers to handle additional operation types. + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Creates an empty connection for the current provider. + Allows derived providers to use connection other than . + + An empty connection for the current provider. + + + + Generates the specified create procedure operation. + + The create procedure operation. + + + + Generates the specified alter procedure operation. + + The alter procedure operation. + + + + Generates the specified drop procedure operation. + + The drop procedure operation. + + + + Generates SQL for a . This method differs from + in that it will + create the target database schema if it does not already exist. + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Writes CREATE TABLE SQL to the target writer. + + The operation to produce SQL for. + The target writer. + + + + Override this method to generate SQL when the definition of a table or its attributes are changed. + The default implementation of this method does nothing. + + The operation describing changes to the table. + + + + Generates SQL to mark a table as a system table. + Generated SQL should be added using the Statement method. + + The table to mark as a system table. + The to write the generated SQL to. + + + + Generates SQL to create a database schema. + Generated SQL should be added using the Statement method. + + The name of the schema to create. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Call this method to generate SQL that will attempt to drop the default constraint created + when a column is created. This method is usually called by code that overrides the creation or + altering of columns. + + The table to which the constraint applies. + The column to which the constraint applies. + The writer to which generated SQL should be written. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement or StatementBatch methods. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates the specified rename procedure operation. + + The rename procedure operation. + + + + Generates the specified move procedure operation. + + The move procedure operation. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for the given column model. This method is called by other methods that + process columns and can be overridden to change the SQL generated. + + The column for which SQL is being generated. + The writer to which generated SQL should be written. + + + + Returns the column default value to use for store-generated GUID columns when + no default value is explicitly specified in the migration. + Returns newsequentialid() for on-premises SQL Server 2005 and later. + Returns newid() for SQL Azure. + + Either newsequentialid() or newid() as described above. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL to specify a constant byte[] default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant bool default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant DateTime default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant DateTimeOffset default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant Guid default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant string default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant TimeSpan default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant hierarchyid default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant geogrpahy default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant geometry default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify the data type of a column. + This method just generates the actual type, not the SQL to create the column. + + The definition of the column. + SQL representing the data type. + + + + Generates a quoted name. The supplied name may or may not contain the schema. + + The name to be quoted. + The quoted name. + + + + Quotes an identifier for SQL Server. + + The identifier to be quoted. + The quoted identifier. + + + + Adds a new Statement to be executed against the database. + + The statement to be executed. + Gets or sets a value indicating whether this statement should be performed outside of the transaction scope that is used to make the migration process transactional. If set to true, this operation will not be rolled back if the migration process fails. + The batch terminator for the database provider. + + + + Gets a new that can be used to build SQL. + This is just a helper method to create a writer. Writing to the writer will + not cause SQL to be registered for execution. You must pass the generated + SQL to the Statement method. + + An empty text writer to use for SQL generation. + + + + Adds a new Statement to be executed against the database. + + The writer containing the SQL to be executed. + The batch terminator for the database provider. + + + + Breaks sql string into one or more statements, handling T-SQL utility statements as necessary. + + The SQL to split into one ore more statements to be executed. + Gets or sets a value indicating whether this statement should be performed outside of the transaction scope that is used to make the migration process transactional. If set to true, this operation will not be rolled back if the migration process fails. + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Constructs a geography instance representing a Point instance from its x and y values and a spatial reference ID (SRID). + The constructed geography instance. + The x-coordinate of the Point being generated. + The y-coordinate of the Point being generated + The SRID of the geography instance. + + + Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance. + The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance. + The geography value. + + + Returns a geometric object representing the union of all point values whose distance from a geography instance is less than or equal to a specified value, allowing for a specified tolerance. + The union of all point values whose distance from a geography instance is less than or equal to a specified value + The geography value. + The distance. + The specified tolerance. + Specifying whether the tolerance value is relative or absolute. + + + Returns the maximum angle between the point returned by EnvelopeCenter() and a point in the geography instance in degrees. + the maximum angle between the point returned by EnvelopeCenter(). + The geography value. + + + Returns a point that can be used as the center of a bounding circle for the geography instance. + A SqlGeography value that specifies the location of the center of a bounding circle. + The geography value. + + + Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeography instance, assuming an index is available. + True if a geography instance potentially intersects another SqlGeography instance; otherwise, false. + The geography value. + Another geography instance to compare against the instance on which Filter is invoked. + + + Tests if the SqlGeography instance is the same as the specified type. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + The geography value. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + + + Returns the total number of rings in a Polygon instance. + The total number of rings. + The geography value. + + + Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance. + + Returns . + + The geography value. + The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number. + + + Returns the specified ring of the SqlGeography instance: 1 ≤ n ≤ NumRings(). + A SqlGeography object that represents the ring specified by n. + The geography value. + An int expression between 1 and the number of rings in a polygon instance. + + + Constructs a geometry instance representing a Point instance from its x and y values and a spatial reference ID (SRID). + The constructed geometry instance. + The x-coordinate of the Point being generated. + The y-coordinate of the Point being generated + The SRID of the geography instance. + + + Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance. + The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geometry instance. + The geometry value. + + + Returns a geometric object representing the union of all point values whose distance from a geometry instance is less than or equal to a specified value, allowing for a specified tolerance. + The union of all point values whose distance from a geometry instance is less than or equal to a specified value + The geometry value. + The distance. + The specified tolerance. + Specifying whether the tolerance value is relative or absolute. + + + Tests if the SqlGeometry instance is the same as the specified type. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + The geometry value. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + + + Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeometry instance, assuming an index is available. + True if a geography instance potentially intersects another SqlGeography instance; otherwise, false. + The geometry value. + Another geography instance to compare against the instance on which Filter is invoked. + + + Converts an invalid geometry instance into a geometry instance with a valid Open Geospatial Consortium (OGC) type. + The converted geometry instance. + The geometry value. + + + Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance. + + Returns . + + The geometry value. + The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number. + + + + An implementation of to provide support for geospatial types when using + Entity Framework with Microsoft SQL Server. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Contains extension methods for the class. + + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + + The type of the result produced by the associated . + + The task to be awaited on. + An object used to await this task. + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + The task to be awaited on. + An object used to await this task. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + + The type of the result produced by the associated . + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + diff --git a/extLib/EntityFramework.xml b/extLib/EntityFramework.xml new file mode 100644 index 0000000..46df344 --- /dev/null +++ b/extLib/EntityFramework.xml @@ -0,0 +1,54121 @@ + + + + EntityFramework + + + + + An abstract base type for types that implement the IExpressionVisitor interface to derive from. + + + + Implements the visitor pattern for the set clause. + The set clause. + + + Implements the visitor pattern for the modification clause. + The modification clause. + + + Implements the visitor pattern for the collection of modification clauses. + The modification clauses. + + + Implements the visitor pattern for the command tree. + The command tree. + + + Implements the visitor pattern for the delete command tree. + The delete command tree. + + + Implements the visitor pattern for the function command tree. + The function command tree. + + + Implements the visitor pattern for the insert command tree. + The insert command tree. + + + Implements the visitor pattern for the query command tree. + The query command tree. + + + Implements the visitor pattern for the update command tree. + The update command tree. + + + + An abstract base type for types that implement the IExpressionVisitor interface to derive from. + + + + + Convenience method to visit the specified . + + The DbUnaryExpression to visit. + + + is null + + + + + Convenience method to visit the specified . + + The DbBinaryExpression to visit. + + + is null + + + + + Convenience method to visit the specified . + + The DbExpressionBinding to visit. + + + is null + + + + + Convenience method for post-processing after a DbExpressionBinding has been visited. + + The previously visited DbExpressionBinding. + + + + Convenience method to visit the specified . + + The DbGroupExpressionBinding to visit. + + + is null + + + + + Convenience method indicating that the grouping keys of a have been visited and the aggregates are now about to be visited. + + The DbGroupExpressionBinding of the DbGroupByExpression + + + + Convenience method for post-processing after a DbGroupExpressionBinding has been visited. + + The previously visited DbGroupExpressionBinding. + + + + Convenience method indicating that the body of a Lambda is now about to be visited. + + The DbLambda that is about to be visited + + + is null + + + + + Convenience method for post-processing after a DbLambda has been visited. + + The previously visited DbLambda. + + + + Convenience method to visit the specified , if non-null. + + The expression to visit. + + + is null + + + + + Convenience method to visit each in the given list, if the list is non-null. + + The list of expressions to visit. + + + is null + + + + + Convenience method to visit each in the list, if the list is non-null. + + The list of aggregates to visit. + + + is null + + + + + Convenience method to visit the specified . + + The aggregate to visit. + + + is null + + + + + Called when an of an otherwise unrecognized type is encountered. + + The expression + + + is null + + + Always thrown if this method is called, since it indicates that + + is of an unsupported type + + + + + Visitor pattern method for . + + The DbConstantExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNullExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbVariableReferenceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbParameterReferenceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbFunctionExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLambdaExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbPropertyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbComparisonExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLikeExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLimitExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsNullExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbArithmeticExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbAndExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbOrExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbInExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNotExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbDistinctExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbElementExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsEmptyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbUnionAllExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIntersectExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbExceptExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbOfTypeExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbTreatExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCastExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsOfExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCaseExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNewInstanceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRelationshipNavigationExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DeRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRefKeyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbEntityRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbScanExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbFilterExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbProjectExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCrossJoinExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbJoinExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbApplyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbSkipExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbSortExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbQuantifierExpression that is being visited. + + + is null + + + + Implements the basic functionality required by aggregates in a GroupBy clause. + + + + Gets the result type of this . + + + The result type of this . + + + + + Gets the list of expressions that define the arguments to this + + . + + + The list of expressions that define the arguments to this + + . + + + + Represents the logical AND of two Boolean arguments. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by the visitor . + visitor is null. + + + Represents an apply operation, which is the invocation of the specified function for each element in the specified input set. This class cannot be inherited. + + + + Gets the that specifies the function that is invoked for each element in the input set. + + + The that specifies the function that is invoked for each element in the input set. + + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by the visitor . + visitor is null. + + + + Represents an arithmetic operation applied to numeric arguments. + Addition, subtraction, multiplication, division, modulo, and negation are arithmetic operations. + This class cannot be inherited. + + + + + Gets the list of elements that define the current arguments. + + + A fixed-size list of elements. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Implements the basic functionality required by expressions that accept two expression operands. + + + + Gets the that defines the left argument. + + + The that defines the left argument. + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the required type for the left argument. + + + + + Gets the that defines the right argument. + + + The that defines the right argument. + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the required type for the right argument. + + + + + Represents the When, Then, and Else clauses of the + + . This class cannot be inherited. + + + + + Gets the When clauses of this . + + + The When clauses of this . + + + + + Gets the Then clauses of this . + + + The Then clauses of this . + + + + + Gets the Else clause of this . + + + The Else clause of this . + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the result type of the + + . + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the type conversion of a single argument to the specified type. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + An immutable class that implements the basic functionality for the Query, Insert, Update, Delete, and function invocation command tree types. + + + + Gets a value indicating whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. The default value is true. + + For example (operand1 == operand2) will be translated as: + + (operand1 = operand2) + + if UseDatabaseNullSemantics is true, respectively + + (((operand1 = operand2) AND (NOT (operand1 IS NULL OR operand2 IS NULL))) OR ((operand1 IS NULL) AND (operand2 IS NULL))) + + if UseDatabaseNullSemantics is false. + + + true if database null comparison behavior is enabled, otherwise false . + + + + + Gets the name and corresponding type of each parameter that can be referenced within this + + . + + + The name and corresponding type of each parameter that can be referenced within this + + . + + + + + Gets the kind of this command tree. + + + + + Gets the metadata workspace used by this command tree. + + + + + Gets the data space in which metadata used by this command tree must reside. + + + + + Returns a that represents this command. + + + A that represents this command. + + + + + Describes the different "kinds" (classes) of command trees. + + + + + A query to retrieve data + + + + + Update existing data + + + + + Insert new data + + + + + Deleted existing data + + + + + Call a function + + + + Represents a comparison operation applied to two arguments. Equality, greater than, greater than or equal, less than, less than or equal, and inequality are comparison operations. This class cannot be inherited. + + DbComparisonExpression requires that its arguments have a common result type + that is equality comparable (for .Equals and .NotEquals), + order comparable (for .GreaterThan and .LessThan), + or both (for .GreaterThanOrEquals and .LessThanOrEquals). + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents different kinds of constants (literals). This class cannot be inherited. + + + Gets the constant value. + The constant value. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents an unconditional join operation between the given collection arguments. This class cannot be inherited. + + + + Gets a list that provides the input sets to the join. + + + A list that provides the input sets to the join. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents a single row delete operation expressed as a command tree. This class cannot be inherited. + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + A predicate used to determine which members of the target collection should be deleted. + + + + Gets an that specifies the predicate used to determine which members of the target collection should be deleted. + + + The predicate can include only the following elements: + + Equality expression + Constant expression + IsNull expression + Property expression + Reference expression to the target + And expression + Or expression + Not expression + + + + An that specifies the predicate used to determine which members of the target collection should be deleted. + + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents the an expression that retrieves an entity based on the specified reference. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Removes duplicate elements from the specified set argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the conversion of the specified set argument to a singleton. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents an expression that extracts a reference from the underlying entity instance. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the set subtraction operation between the left and right operands. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the base type for all expressions. + + + Gets the type metadata for the result type of the expression. + The type metadata for the result type of the expression. + + + Gets the kind of the expression, which indicates the operation of this expression. + The kind of the expression, which indicates the operation of this expression. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + The type of the result produced by . + + + An instance of . + + The type of the result produced by visitor. + + + + Determines whether the specified is equal to the current DbExpression instance. + + + True if the specified is equal to the current DbExpression instance; otherwise, false. + + + The object to compare to the current . + + + + Serves as a hash function for the type. + A hash code for the current expression. + + + + Creates a that represents the specified binary value, which may be null + + + A that represents the specified binary value. + + The binary value on which the returned expression should be based. + + + + Enables implicit casting from a byte array. + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Boolean value. + + + A that represents the specified Boolean value. + + The Boolean value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) byte value. + + + A that represents the specified byte value. + + The byte value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified DateTime value. + + The DateTime value on which the returned expression should be based. + + + + Enables implicit casting from . + + The expression to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified DateTimeOffset value. + + The DateTimeOffset value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) decimal value. + + + A that represents the specified decimal value. + + The decimal value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) double value. + + + A that represents the specified double value. + + The double value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified + + value, which may be null. + + + A that represents the specified DbGeography value. + + The DbGeography value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified + + value, which may be null. + + + A that represents the specified DbGeometry value. + + The DbGeometry value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified Guid value. + + The Guid value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int16 value. + + + A that represents the specified Int16 value. + + The Int16 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int32 value. + + + A that represents the specified Int32 value. + + The Int32 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int64 value. + + + A that represents the specified Int64 value. + + The Int64 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Single value. + + + A that represents the specified Single value. + + The Single value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified string value. + + + A that represents the specified string value. + + The string value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Describes a binding for an expression. Conceptually similar to a foreach loop + in C#. The DbExpression property defines the collection being iterated over, + while the Var property provides a means to reference the current element + of the collection during the iteration. DbExpressionBinding is used to describe the set arguments + to relational expressions such as , + and . + + + + + + + Gets the that defines the input set. + + + The that defines the input set. + + The expression is null. + The expression is not associated with the command tree of the binding, or its result type is not equal or promotable to the result type of the current value of the property. + + + Gets the name assigned to the element variable. + The name assigned to the element variable. + + + Gets the type metadata of the element variable. + The type metadata of the element variable. + + + + Gets the that references the element variable. + + The variable reference. + + + + Contains values that each expression class uses to denote the operation it represents. The + + property of an + + can be retrieved to determine which operation that expression represents. + + + + + True for all. + + + + + Logical And. + + + + + True for any. + + + + + Conditional case statement. + + + + + Polymorphic type cast. + + + + + A constant value. + + + + + Cross apply + + + + + Cross join + + + + + Dereference. + + + + + Duplicate removal. + + + + + Division. + + + + + Set to singleton conversion. + + + + + Entity ref value retrieval. + + + + + Equality + + + + + Set subtraction + + + + + Restriction. + + + + + Full outer join + + + + + Invocation of a stand-alone function + + + + + Greater than. + + + + + Greater than or equal. + + + + + Grouping. + + + + + Inner join + + + + + Set intersection. + + + + + Empty set determination. + + + + + Null determination. + + + + + Type comparison (specified Type or Subtype). + + + + + Type comparison (specified Type only). + + + + + Left outer join + + + + + Less than. + + + + + Less than or equal. + + + + + String comparison. + + + + + Result count restriction (TOP n). + + + + + Subtraction. + + + + + Modulo. + + + + + Multiplication. + + + + + Instance, row, and set construction. + + + + + Logical Not. + + + + + Inequality. + + + + + Null. + + + + + Set members by type (or subtype). + + + + + Set members by (exact) type. + + + + + Logical Or. + + + + + Outer apply. + + + + + A reference to a parameter. + + + + + Addition. + + + + + Projection. + + + + + Retrieval of a static or instance property. + + + + + Reference. + + + + + Ref key value retrieval. + + + + + Navigation of a (composition or association) relationship. + + + + + Entity or relationship set scan. + + + + + Skip elements of an ordered collection. + + + + + Sorting. + + + + + Type conversion. + + + + + Negation. + + + + + Set union (with duplicates). + + + + + A reference to a variable. + + + + + Application of a lambda function + + + + + In. + + + + Defines the basic functionality that should be implemented by visitors that do not return a result value. + + + When overridden in a derived class, handles any expression of an unrecognized type. + The expression to be handled. + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + Visitor pattern method for DbInExpression. + + The DbInExpression that is being visited. + + + Defines the basic functionality that should be implemented by visitors that return a result value of a specific type. + The type of the result produced by the visitor. + + + When overridden in a derived class, handles any expression of an unrecognized type. + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern method for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + Typed visitor pattern method for DbInExpression. + + The DbInExpression that is being visited. + An instance of TResultType. + + + Represents a predicate applied to filter an input set. This produces the set of elements that satisfy the predicate. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets the that specifies the predicate used to filter the input set. + + + The that specifies the predicate used to filter the input set. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Supports standard aggregate functions, such as MIN, MAX, AVG, SUM, and so on. This class cannot be inherited. + + + Gets a value indicating whether this aggregate is a distinct aggregate. + true if the aggregate is a distinct aggregate; otherwise, false. + + + Gets the method metadata that specifies the aggregate function to invoke. + The method metadata that specifies the aggregate function to invoke. + + + Represents the invocation of a database function. + + + + Constructs a new DbFunctionCommandTree that uses the specified metadata workspace, data space and function metadata + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + The that represents the function that is being invoked. + The expected result type for the function’s first result set. + The function's parameters. + + , or is null + + + does not represent a valid data space or + is a composable function + + + + + Gets the that represents the function that is being invoked. + + + The that represents the function that is being invoked. + + + + Gets the expected result type for the function’s first result set. + The expected result type for the function’s first result set. + + + Gets or sets the command tree kind. + The command tree kind. + + + Represents an invocation of a function. This class cannot be inherited. + + + Gets the metadata for the function to invoke. + The metadata for the function to invoke. + + + + Gets an list that provides the arguments to the function. + + + An list that provides the arguments to the function. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a collection of elements that compose a group. + + + Represents a group by operation. A group by operation is a grouping of the elements in the input set based on the specified key expressions followed by the application of the specified aggregates. This class cannot be inherited. + + + + Gets the that specifies the input set and provides access to the set element and group element variables. + + + The that specifies the input set and provides access to the set element and group element variables. + + + + + Gets a list that provides grouping keys. + + + A list that provides grouping keys. + + + + + Gets a list that provides the aggregates to apply. + + + A list that provides the aggregates to apply. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Defines the binding for the input set to a . + In addition to the properties of , DbGroupExpressionBinding + also provides access to the group element via the variable reference + and to the group aggregate via the property. + + + + + Gets the that defines the input set. + + + The that defines the input set. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the result type of the current value of the property. + + + + Gets the name assigned to the element variable. + The name assigned to the element variable. + + + Gets the type metadata of the element variable. + The type metadata of the element variable. + + + + Gets the that references the element variable. + + A reference to the element variable. + + + Gets the name assigned to the group element variable. + The name assigned to the group element variable. + + + Gets the type metadata of the group element variable. + The type metadata of the group element variable. + + + + Gets the that references the group element variable. + + A reference to the group element variable. + + + + Gets the that represents the collection of elements in the group. + + The elements in the group. + + + + Represents a boolean expression that tests whether a specified item matches any element in a list. + + + + + Gets a DbExpression that specifies the item to be matched. + + + + + Gets the list of DbExpression to test for a match. + + + + + The visitor pattern method for expression visitors that do not produce a result value. + + An instance of DbExpressionVisitor. + + + is null + + + + + The visitor pattern method for expression visitors that produce a result value of a specific type. + + An instance of a typed DbExpressionVisitor that produces a result value of type TResultType. + + The type of the result produced by + + + + is null + + + An instance of . + + + + Represents a single row insert operation expressed as a command tree. This class cannot be inherited. + + Represents a single row insert operation expressed as a canonical command tree. + When the property is set, the command returns a reader; otherwise, + it returns a scalar value indicating the number of rows affected. + + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + The list of insert set clauses that define the insert operation. . + A that specifies a projection of results to be returned, based on the modified rows. + + + Gets the list of insert set clauses that define the insert operation. + The list of insert set clauses that define the insert operation. + + + + Gets an that specifies a projection of results to be returned based on the modified rows. + + + An that specifies a projection of results to be returned based on the modified rows. null indicates that no results should be returned from this command. + + + + Gets the command tree kind. + The command tree kind. + + + Represents the set intersection operation between the left and right operands. This class cannot be inherited. + + DbIntersectExpression requires that its arguments have a common collection result type + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents an empty set determination applied to a single set argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents null determination applied to a single argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the type comparison of a single argument against the specified type. This class cannot be inherited. + + + Gets the type metadata that the type metadata of the argument should be compared to. + The type metadata that the type metadata of the argument should be compared to. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents an inner, left outer, or full outer join operation between the given collection arguments on the specified join condition. + + + + Gets the that provides the left input. + + + The that provides the left input. + + + + + Gets the that provides the right input. + + + The that provides the right input. + + + + Gets the join condition to apply. + The join condition to apply. + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents a Lambda function that can be invoked to produce a + + . + + + + Gets the body of the lambda expression. + + A that represents the body of the lambda function. + + + + Gets the parameters of the lambda expression. + The list of lambda function parameters represented as DbVariableReferenceExpression objects. + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters + An expression that defines the logic of the Lambda function + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + + + is null or contains null, or + + is null + + + + contains more than one element with the same variable name. + + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters + An expression that defines the logic of the Lambda function + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + + + is null or contains null, or + + is null. + + + + contains more than one element with the same variable name. + + + + + Creates a new with a single argument of the specified type, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and single formal parameter. + + A that defines the EDM type of the argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A that defines the EDM type of the fifteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A that defines the EDM type of the fifteenth argument to the Lambda function + + + A that defines the EDM type of the sixteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Allows the application of a lambda function to arguments represented by + + objects. + + + + + Gets the representing the Lambda function applied by this expression. + + + The representing the Lambda function applied by this expression. + + + + + Gets a list that provides the arguments to which the Lambda function should be applied. + + + The list. + + + + The visitor pattern method for expression visitors that do not produce a result value. + + An instance of . + + visitor is null + + + The visitor pattern method for expression visitors that produce a result value of a specific type. + The type of the result produced by the expression visitor. + + An instance of a typed that produces a result value of type TResultType. + + The type of the result produced by visitor + visitor is null + + + Represents a string comparison against the specified pattern with an optional escape string. This class cannot be inherited. + + + Gets an expression that specifies the string to compare against the given pattern. + An expression that specifies the string to compare against the given pattern. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Gets an expression that specifies the pattern against which the given string should be compared. + An expression that specifies the pattern against which the given string should be compared. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Gets an expression that provides an optional escape string to use for the comparison. + An expression that provides an optional escape string to use for the comparison. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the restriction of the number of elements in the argument collection to the specified limit value. + + + Gets an expression that specifies the input collection. + An expression that specifies the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a collection type. + + + + Gets an expression that specifies the limit on the number of elements returned from the input collection. + An expression that specifies the limit on the number of elements returned from the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + , or is not one of + + or + + , or its result type is not equal or promotable to a 64-bit integer type. + + + + + Gets whether the limit operation will include tied results. Including tied results might produce more results than specified by the + + value. + + true if the limit operation will include tied results; otherwise, false. The default is false. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Specifies a single clause in an insert or update modification operation, see + and + + + An abstract base class allows the possibility of patterns other than + Property = Value in future versions, e.g., + update SomeTable + set ComplexTypeColumn.SomeProperty() + where Id = 2 + + + + Represents a data manipulation language (DML) operation expressed as a command tree. + + + + Gets the that specifies the target table for the data manipulation language (DML) operation. + + + The that specifies the target table for the DML operation. + + + + Represents the construction of a new instance of a given type, including set and record types. This class cannot be inherited. + + + + Gets an list that provides the property/column values or set elements for the new instance. + + + An list that provides the property/column values or set elements for the new instance. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the logical NOT of a single Boolean argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a reference to a typed null literal. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the retrieval of elements of the specified type from the given set argument. This class cannot be inherited. + + + Gets the metadata of the type of elements that should be retrieved from the set argument. + The metadata of the type of elements that should be retrieved from the set argument. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the logical OR of two Boolean arguments. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a reference to a parameter declared on the command tree that contains this expression. This class cannot be inherited. + + + Gets the name of the referenced parameter. + The name of the referenced parameter. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the projection of a given input set over the specified expression. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets the that defines the projection. + + + The that defines the projection. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the reference type of the current projection. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Provides methods and properties for retrieving an instance property. This class cannot be inherited. + + + Gets the property metadata for the property to retrieve. + The property metadata for the property to retrieve. + + + + Gets a that defines the instance from which the property should be retrieved. + + + A that defines the instance from which the property should be retrieved. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the type that defines the property. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Creates a new key/value pair based on this property expression. + + A new key/value pair with the key and value derived from the + + . + + + + + Enables implicit casting to . + + The expression to be converted. + The converted value. + + + Represents a quantifier operation of the specified kind over the elements of the specified input set. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + Gets the Boolean predicate that should be evaluated for each element in the input set. + The Boolean predicate that should be evaluated for each element in the input set. + The expression is null. + + The expression is not associated with the command tree for the + + ,or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a query operation expressed as a command tree. This class cannot be inherited. + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + A boolean that indicates whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. + A boolean that indicates whether + filter over projection simplification should be used. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + A boolean that indicates whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace, using database null semantics. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace, using database null semantics. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + + + or + + is null + + + + does not represent a valid data space + + + + + Gets an that defines the logic of the query operation. + + + An that defines the logic of the query operation. + + The expression is null. + The expression is associated with a different command tree. + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents a strongly typed reference to a specific instance within an entity set. This class cannot be inherited. + + + Gets the metadata for the entity set that contains the instance. + The metadata for the entity set that contains the instance. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents the retrieval of the key value of the specified Reference as a row. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the navigation of a relationship. This class cannot be inherited. + + + Gets the metadata for the relationship over which navigation occurs. + The metadata for the relationship over which navigation occurs. + + + Gets the metadata for the relationship end to navigate from. + The metadata for the relationship end to navigate from. + + + Gets the metadata for the relationship end to navigate to. + The metadata for the relationship end to navigate to. + + + + Gets an that specifies the starting point of the navigation and must be a reference to an entity instance. + + + An that specifies the instance of the source relationship end from which navigation should occur. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the reference type of the + + property. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents a 'scan' of all elements of a given entity set. + + + + Gets the metadata for the referenced entity or relationship set. + The metadata for the referenced entity or relationship set. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Specifies the clause in a modification operation that sets the value of a property. This class cannot be inherited. + + + + Gets an that specifies the property that should be updated. + + + An that specifies the property that should be updated. + + + + + Gets an that specifies the new value with which to update the property. + + + An that specifies the new value with which to update the property. + + + + + Skips a specified number of elements in the input set. + + can only be used after the input collection has been sorted as specified by the sort keys. + + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets a list that defines the sort order. + + + A list that defines the sort order. + + + + Gets an expression that specifies the number of elements to skip from the input collection. + An expression that specifies the number of elements to skip from the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + ; the expression is not either a + + or a + + ; or the result type of the expression is not equal or promotable to a 64-bit integer type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Specifies a sort key that can be used as part of the sort order in a + + . This class cannot be inherited. + + + + Gets a Boolean value indicating whether or not this sort key uses an ascending sort order. + true if this sort key uses an ascending sort order; otherwise, false. + + + Gets a string value that specifies the collation for this sort key. + A string value that specifies the collation for this sort key. + + + + Gets the that provides the value for this sort key. + + + The that provides the value for this sort key. + + + + Represents a sort operation applied to the elements of the specified input set based on the given sort keys. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets a list that defines the sort order. + + + A list that defines the sort order. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by + visitor + + + visitor + is null. + + + Represents a type conversion operation applied to a polymorphic argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Implements the basic functionality required by expressions that accept a single expression argument. + + + + Gets the that defines the argument. + + + The that defines the argument. + + The expression is null. + + The expression is not associated with the command tree of a + + , or its result type is not equal or promotable to the required type for the argument. + + + + + Represents the set union (without duplicate removal) operation between the left and right operands. + + + DbUnionAllExpression requires that its arguments have a common collection result type + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a single-row update operation expressed as a command tree. This class cannot be inherited. + + Represents a single-row update operation expressed as a canonical command tree. + When the property is set, the command returns a reader; otherwise, + it returns a scalar indicating the number of rows affected. + + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + A predicate used to determine which members of the target collection should be updated. + The list of update set clauses that define the update operation. + A that specifies a projection of results to be returned, based on the modified rows. + + + Gets the list of update set clauses that define the update operation. + The list of update set clauses that define the update operation. + + + + Gets an that specifies a projection of results to be returned, based on the modified rows. + + + An that specifies a projection of results to be returned based, on the modified rows. null indicates that no results should be returned from this command. + + + + + Gets an that specifies the predicate used to determine which members of the target collection should be updated. + + + An that specifies the predicate used to determine which members of the target collection should be updated. + + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents a reference to a variable that is currently in scope. This class cannot be inherited. + + + Gets the name of the referenced variable. + The name of the referenced variable. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Visits each element of an expression tree from a given root expression. If any element changes, the tree is rebuilt back to the root and the new root expression is returned; otherwise the original root expression is returned. + + + + Initializes a new instance of the + + class. + + + + Replaces an old expression with a new one for the expression visitor. + The old expression. + The new expression. + + + Represents an event when the variable is rebound for the expression visitor. + The location of the variable. + The reference of the variable where it is rebounded. + + + Represents an event when entering the scope for the expression visitor with specified scope variables. + The collection of scope variables. + + + Exits the scope for the expression visitor. + + + Implements the visitor pattern for the expression. + The implemented visitor pattern. + The expression. + + + Implements the visitor pattern for the expression list. + The implemented visitor pattern. + The expression list. + + + Implements the visitor pattern for expression binding. + The implemented visitor pattern. + The expression binding. + + + Implements the visitor pattern for the expression binding list. + The implemented visitor pattern. + The expression binding list. + + + Implements the visitor pattern for the group expression binding. + The implemented visitor pattern. + The binding. + + + Implements the visitor pattern for the sort clause. + The implemented visitor pattern. + The sort clause. + + + Implements the visitor pattern for the sort order. + The implemented visitor pattern. + The sort order. + + + Implements the visitor pattern for the aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the function aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the group aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the Lambda function. + The implemented visitor pattern. + The lambda function. + + + Implements the visitor pattern for the type. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the type usage. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the entity set. + The implemented visitor pattern. + The entity set. + + + Implements the visitor pattern for the function. + The implemented visitor pattern. + The function metadata. + + + Implements the visitor pattern for the basic functionality required by expression types. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the different kinds of constants. + The implemented visitor. + The constant expression. + + + Implements the visitor pattern for a reference to a typed null literal. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a reference to a variable that is currently in scope. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a reference to a parameter declared on the command tree that contains this expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for an invocation of a function. + The implemented visitor. + The function expression. + + + Implements the visitor pattern for the application of a lambda function to arguments represented by DbExpression objects. + The implemented visitor. + The expression. + + + Implements the visitor pattern for retrieving an instance property. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the comparison operation applied to two arguments. + The implemented visitor. + The cast expression. + + + Implements the visitor pattern for a string comparison against the specified pattern with an optional escape string. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the restriction of the number of elements in the argument collection to the specified limit value. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the null determination applied to a single argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the arithmetic operation applied to numeric arguments. + The implemented visitor. + The arithmetic expression. + + + Implements the visitor pattern for the logical AND expression. + The implemented visitor. + The logical AND expression. + + + Implements the visitor pattern for the logical OR of two Boolean arguments. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the DbInExpression. + The implemented visitor. + The DbInExpression that is being visited. + + + Implements the visitor pattern for the logical NOT of a single Boolean argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the removed duplicate elements from the specified set argument. + The implemented visitor. + The distinct expression. + + + Implements the visitor pattern for the conversion of the specified set argument to a singleton the conversion of the specified set argument to a singleton. + The implemented visitor. + The element expression. + + + Implements the visitor pattern for an empty set determination applied to a single set argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set union operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set intersection operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set subtraction operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a type conversion operation applied to a polymorphic argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the type comparison of a single argument against the specified type. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the type conversion of a single argument to the specified type. + The implemented visitor. + The cast expression. + + + Implements the visitor pattern for the When, Then, and Else clauses. + The implemented visitor. + The case expression. + + + Implements the visitor pattern for the retrieval of elements of the specified type from the given set argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the construction of a new instance of a given type, including set and record types. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a strongly typed reference to a specific instance within an entity set. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the navigation of a relationship. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the expression that retrieves an entity based on the specified reference. + The implemented visitor. + The DEREF expression. + + + Implements the visitor pattern for the retrieval of the key value from the underlying reference value. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the expression that extracts a reference from the underlying entity instance. + The implemented visitor. + The entity reference expression. + + + Implements the visitor pattern for a scan over an entity set or relationship set, as indicated by the Target property. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a predicate applied to filter an input set. + The implemented visitor. + The filter expression. + + + Implements the visitor pattern for the projection of a given input set over the specified expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the unconditional join operation between the given collection arguments. + The implemented visitor. + The join expression. + + + Implements the visitor pattern for an inner, left outer, or full outer join operation between the given collection arguments on the specified join condition. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the invocation of the specified function for each element in the specified input set. + The implemented visitor. + The APPLY expression. + + + Implements the visitor pattern for a group by operation. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the skip expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a sort key that can be used as part of the sort order. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a quantifier operation of the specified kind over the elements of the specified input set. + The implemented visitor. + The expression. + + + + Provides an API to construct s and allows that API to be accessed as extension methods on the expression type itself. + + + + Returns the specified arguments as a key/value pair object. + A key/value pair object. + The value in the key/value pair. + The key in the key/value pair. + + + Returns the specified arguments as a key/value pair object. + A key/value pair object. + The value in the key/value pair. + The key in the key/value pair. + + + + Creates a new that uses a generated variable name to bind the given expression. + + A new expression binding with the specified expression and a generated variable name. + The expression to bind. + input is null. + input does not have a collection result. + + + + Creates a new that uses the specified variable name to bind the given expression + + A new expression binding with the specified expression and variable name. + The expression to bind. + The variable name that should be used for the binding. + input or varName is null. + input does not have a collection result. + + + Creates a new group expression binding that uses generated variable and group variable names to bind the given expression. + A new group expression binding with the specified expression and a generated variable name and group variable name. + The expression to bind. + input is null. + input does not have a collection result type. + + + + Creates a new that uses the specified variable name and group variable names to bind the given expression. + + A new group expression binding with the specified expression, variable name and group variable name. + The expression to bind. + The variable name that should be used for the binding. + The variable name that should be used to refer to the group when the new group expression binding is used in a group-by expression. + input, varName or groupVarName is null. + input does not have a collection result type. + + + + Creates a new . + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value false. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new that is applied in a distinct fashion. + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value true. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument is null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new . + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value false. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new that is applied in a distinct fashion. + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value true. + The function that defines the aggregate operation. + The arguments over which the aggregate function should be calculated. + function or argument is null. + function is not an aggregate function, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new over the specified argument + + The argument over which to perform the nest operation + A new group aggregate representing the elements of the group referenced by the given argument. + + + is null + + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new expression that describes an inline Lambda function with the specified body and formal parameters. + An expression that defines the logic of the Lambda function. + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + variables is null or contains null, or body is null. + variables contains more than one element with the same variable name. + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new expression that describes an inline Lambda function with the specified body and formal parameters. + An expression that defines the logic of the Lambda function. + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + variables is null or contains null, or body is null. + variables contains more than one element with the same variable name. + + + + Creates a new with an ascending sort order and default collation. + + A new sort clause with the given sort key and ascending sort order. + The expression that defines the sort key. + key is null. + key does not have an order-comparable result type. + + + + Creates a new with a descending sort order and default collation. + + A new sort clause with the given sort key and descending sort order. + The expression that defines the sort key. + key is null. + key does not have an order-comparable result type. + + + + Creates a new with an ascending sort order and the specified collation. + + A new sort clause with the given sort key and collation, and ascending sort order. + The expression that defines the sort key. + The collation to sort under. + key is null. + collation is empty or contains only space characters. + key does not have an order-comparable result type. + + + + Creates a new with a descending sort order and the specified collation. + + A new sort clause with the given sort key and collation, and descending sort order. + The expression that defines the sort key. + The collation to sort under. + key is null. + collation is empty or contains only space characters. + key does not have an order-comparable result type. + + + + Creates a new that determines whether the given predicate holds for all elements of the input set. + + A new DbQuantifierExpression that represents the All operation. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + predicate does not have a Boolean result type. + + + + Creates a new that determines whether the given predicate holds for any element of the input set. + + A new DbQuantifierExpression that represents the Any operation. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + An that specifies the input set. + + + An that specifies logic to evaluate once for each member of the input set. + + input or apply is null. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set have an apply column value of null. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of OuterApply. + + + An that specifies the input set. + + + An that specifies logic to evaluate once for each member of the input set. + + input or apply is null. + + + + Creates a new that unconditionally joins the sets specified by the list of input expression bindings. + + + A new DbCrossJoinExpression, with an of CrossJoin, that represents the unconditional join of the input sets. + + A list of expression bindings that specifies the input sets. + inputs is null or contains null element. + inputs contains fewer than 2 expression bindings. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using LeftOuterJoin as the + + . + + + A new DbJoinExpression, with an of LeftOuterJoin, that represents the left outer join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using FullOuterJoin as the + + . + + + A new DbJoinExpression, with an of FullOuterJoin, that represents the full outer join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that filters the elements in the given input set using the specified predicate. + + A new DbFilterExpression that produces the filtered set. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + predicate does not have a Boolean result type. + + + + Creates a new that groups the elements of the input set according to the specified group keys and applies the given aggregates. + + A new DbGroupByExpression with the specified input set, grouping keys and aggregates. + + A that specifies the input set. + + A list of string-expression pairs that define the grouping columns. + A list of expressions that specify aggregates to apply. + input, keys or aggregates is null, keys contains a null column key or expression, or aggregates contains a null aggregate column name or aggregate. + Both keys and aggregates are empty, or an invalid or duplicate column name was specified. + + + + Creates a new that projects the specified expression over the given input set. + + A new DbProjectExpression that represents the projection operation. + An expression binding that specifies the input set. + An expression to project over the set. + input or projection is null. + + + + Creates a new that sorts the given input set by the given sort specifications before skipping the specified number of elements. + + A new DbSkipExpression that represents the skip operation. + An expression binding that specifies the input set. + A list of sort specifications that determine how the elements of the input set should be sorted. + An expression the specifies how many elements of the ordered set to skip. + input, sortOrder or count is null, or sortOrder contains null. + + sortOrder is empty, or count is not or + + or has a result type that is not equal or promotable to a 64-bit integer type. + + + + + Creates a new that sorts the given input set by the specified sort specifications. + + A new DbSortExpression that represents the sort operation. + An expression binding that specifies the input set. + A list of sort specifications that determine how the elements of the input set should be sorted. + input or sortOrder is null, or sortOrder contains null. + sortOrder is empty. + + + + Creates a new , which represents a typed null value. + + An instance of DbNullExpression. + The type of the null value. + nullType is null. + + + + Gets a with the Boolean value true. + + + A with the Boolean value true. + + + + + Gets a with the Boolean value false. + + + A with the Boolean value false. + + + + + Creates a new with the given constant value. + + A new DbConstantExpression with the given value. + The constant value to represent. + value is null. + value is not an instance of a valid constant type. + + + + Creates a new of the specified primitive type with the given constant value. + + A new DbConstantExpression with the given value and a result type of constantType. + The type of the constant value. + The constant value to represent. + value or constantType is null. + value is not an instance of a valid constant type, constantType does not represent a primitive type, or value is of a different primitive type than that represented by constantType. + + + + Creates a new that references a parameter with the specified name and type. + + A DbParameterReferenceExpression that represents a reference to a parameter with the specified name and type. The result type of the expression will be the same as type. + The type of the referenced parameter. + The name of the referenced parameter. + + + + Creates a new that references a variable with the specified name and type. + + A DbVariableReferenceExpression that represents a reference to a variable with the specified name and type. The result type of the expression will be the same as type. + The type of the referenced variable. + The name of the referenced variable. + + + + Creates a new that references the specified entity or relationship set. + + A new DbScanExpression based on the specified entity or relationship set. + Metadata for the entity or relationship set to reference. + targetSet is null. + + + + Creates an that performs the logical And of the left and right arguments. + + A new DbAndExpression with the specified arguments. + A Boolean expression that specifies the left argument. + A Boolean expression that specifies the right argument. + left or right is null. + left and right does not have a Boolean result type. + + + + Creates an that performs the logical Or of the left and right arguments. + + A new DbOrExpression with the specified arguments. + A Boolean expression that specifies the left argument. + A Boolean expression that specifies the right argument. + left or right is null. + left or right does not have a Boolean result type. + + + + Creates a that matches the result of the specified + expression with the results of the constant expressions in the specified list. + + A DbExpression to be matched. + A list of DbConstantExpression to test for a match. + + A new DbInExpression with the specified arguments. + + + + or + + is null. + + + The result type of + + is different than the result type of an expression from + . + + + + + Creates a that performs the logical negation of the given argument. + + A new DbNotExpression with the specified argument. + A Boolean expression that specifies the argument. + argument is null. + argument does not have a Boolean result type. + + + + Creates a new that divides the left argument by the right argument. + + A new DbArithmeticExpression representing the division operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left or right. + + + + Creates a new that subtracts the right argument from the left argument. + + A new DbArithmeticExpression representing the subtraction operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that computes the remainder of the left argument divided by the right argument. + + A new DbArithmeticExpression representing the modulo operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that multiplies the left argument by the right argument. + + A new DbArithmeticExpression representing the multiplication operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that adds the left argument to the right argument. + + A new DbArithmeticExpression representing the addition operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that negates the value of the argument. + + A new DbArithmeticExpression representing the negation operation. + An expression that specifies the argument. + argument is null. + No numeric result type exists for argument. + + + + Creates a new that negates the value of the argument. + + A new DbArithmeticExpression representing the negation operation. + An expression that specifies the argument. + argument is null. + No numeric result type exists for argument. + + + + Creates a new that compares the left and right arguments for equality. + + A new DbComparisonExpression representing the equality comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common equality-comparable result type exists between left and right. + + + + Creates a new that compares the left and right arguments for inequality. + + A new DbComparisonExpression representing the inequality comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common equality-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is greater than the right argument. + + A new DbComparisonExpression representing the greater-than comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is less than the right argument. + + A new DbComparisonExpression representing the less-than comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is greater than or equal to the right argument. + + A new DbComparisonExpression representing the greater-than-or-equal-to comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is less than or equal to the right argument. + + A new DbComparisonExpression representing the less-than-or-equal-to comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common result type that is both equality- and order-comparable exists between left and right. + + + + Creates a new that determines whether the specified argument is null. + + A new DbIsNullExpression with the specified argument. + An expression that specifies the argument. + argument is null. + argument has a collection result type. + + + + Creates a new that compares the specified input string to the given pattern. + + A new DbLikeExpression with the specified input, pattern and a null escape. + An expression that specifies the input string. + An expression that specifies the pattern string. + Argument or pattern is null. + Argument or pattern does not have a string result type. + + + + Creates a new that compares the specified input string to the given pattern using the optional escape. + + A new DbLikeExpression with the specified input, pattern and escape. + An expression that specifies the input string. + An expression that specifies the pattern string. + An optional expression that specifies the escape string. + argument, pattern or escape is null. + argument, pattern or escape does not have a string result type. + + + + Creates a new that applies a cast operation to a polymorphic argument. + + A new DbCastExpression with the specified argument and target type. + The argument to which the cast should be applied. + Type metadata that specifies the type to cast to. + Argument or toType is null. + The specified cast is not valid. + + + + Creates a new . + + A new DbTreatExpression with the specified argument and type. + An expression that specifies the instance. + Type metadata for the treat-as type. + argument or treatType is null. + treatType is not in the same type hierarchy as the result type of argument. + + + + Creates a new that produces a set consisting of the elements of the given input set that are of the specified type. + + + A new DbOfTypeExpression with the specified set argument and type, and an ExpressionKind of + + . + + + A that specifies the input set. + + Type metadata for the type that elements of the input set must have to be included in the resulting set. + argument or type is null. + argument does not have a collection result type, or type is not a type in the same type hierarchy as the element type of the collection result type of argument. + + + + Creates a new that produces a set consisting of the elements of the given input set that are of exactly the specified type. + + + A new DbOfTypeExpression with the specified set argument and type, and an ExpressionKind of + + . + + + An that specifies the input set. + + Type metadata for the type that elements of the input set must match exactly to be included in the resulting set. + argument or type is null. + argument does not have a collection result type, or type is not a type in the same type hierarchy as the element type of the collection result type of argument. + + + + Creates a new that determines whether the given argument is of the specified type or a subtype. + + A new DbIsOfExpression with the specified instance and type and DbExpressionKind IsOf. + An expression that specifies the instance. + Type metadata that specifies the type that the instance's result type should be compared to. + argument or type is null. + type is not in the same type hierarchy as the result type of argument. + + + + Creates a new expression that determines whether the given argument is of the specified type, and only that type (not a subtype). + + A new DbIsOfExpression with the specified instance and type and DbExpressionKind IsOfOnly. + An expression that specifies the instance. + Type metadata that specifies the type that the instance's result type should be compared to. + argument or type is null. + type is not in the same type hierarchy as the result type of argument. + + + + Creates a new that retrieves a specific Entity given a reference expression. + + A new DbDerefExpression that retrieves the specified Entity. + + An that provides the reference. This expression must have a reference Type. + + argument is null. + argument does not have a reference result type. + + + + Creates a new that retrieves the ref of the specified entity in structural form. + + A new DbEntityRefExpression that retrieves a reference to the specified entity. + The expression that provides the entity. This expression must have an entity result type. + argument is null. + argument does not have an entity result type. + + + + Creates a new that encodes a reference to a specific entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet is null, or keyValues is null or contains null. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet is null, or keyValues is null or contains null. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity of a given type based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + The specific type of the referenced entity. This must be an entity type from the same hierarchy as the entity set's element type. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet or entityType is null, or keyValues is null or contains null. + entityType is not from the same type hierarchy (a subtype, supertype, or the same type) as entitySet's element type. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity of a given type based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + The specific type of the referenced entity. This must be an entity type from the same hierarchy as the entity set's element type. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet or entityType is null, or keyValues is null or contains null. + entityType is not from the same type hierarchy (a subtype, supertype, or the same type) as entitySet's element type. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific Entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given Entity set. + The Entity set in which the referenced element resides. + + A that constructs a record with columns that match (in number, type, and order) the Key properties of the referenced Entity type. + + entitySet or keyRow is null. + keyRow does not have a record result type that matches the key properties of the referenced entity set's entity type. + + + + Creates a new that encodes a reference to a specific Entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given Entity set. + The Entity set in which the referenced element resides. + + A that constructs a record with columns that match (in number, type, and order) the Key properties of the referenced Entity type. + + The type of the Entity that the reference should refer to. + entitySet, keyRow or entityType is null. + entityType is not in the same type hierarchy as the entity set's entity type, or keyRow does not have a record result type that matches the key properties of the referenced entity set's entity type. + + + + Creates a new that retrieves the key values of the specified reference in structural form. + + A new DbRefKeyExpression that retrieves the key values of the specified reference. + The expression that provides the reference. This expression must have a reference Type with an Entity element type. + argument is null. + argument does not have a reference result type. + + + + Creates a new representing the navigation of a composition or association relationship. + + A new DbRelationshipNavigationExpression representing the navigation of the specified from and to relation ends of the specified relation type from the specified navigation source instance. + An expression that specifies the instance from which navigation should occur. + Metadata for the property that represents the end of the relationship from which navigation should occur. + Metadata for the property that represents the end of the relationship to which navigation should occur. + fromEnd, toEnd or navigateFrom is null. + fromEnd and toEnd are not declared by the same relationship type, or navigateFrom has a result type that is not compatible with the property type of fromEnd. + + + + Creates a new representing the navigation of a composition or association relationship. + + A new DbRelationshipNavigationExpression representing the navigation of the specified from and to relation ends of the specified relation type from the specified navigation source instance. + Metadata for the relation type that represents the relationship. + The name of the property of the relation type that represents the end of the relationship from which navigation should occur. + The name of the property of the relation type that represents the end of the relationship to which navigation should occur. + An expression the specifies the instance from which navigation should occur. + type, fromEndName, toEndName or navigateFrom is null. + type is not associated with this command tree's metadata workspace or navigateFrom is associated with a different command tree, or type does not declare a relation end property with name toEndName or fromEndName, or navigateFrom has a result type that is not compatible with the property type of the relation end property with name fromEndName. + + + + Creates a new that removes duplicates from the given set argument. + + A new DbDistinctExpression that represents the distinct operation applied to the specified set argument. + An expression that defines the set over which to perform the distinct operation. + argument is null. + argument does not have a collection result type. + + + + Creates a new that converts a set into a singleton. + + A DbElementExpression that represents the conversion of the set argument to a singleton. + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that determines whether the specified set argument is an empty set. + + A new DbIsEmptyExpression with the specified argument. + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that computes the subtraction of the right set argument from the left set argument. + + A new DbExceptExpression that represents the difference of the left argument from the right argument. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type exists between left and right. + + + + Creates a new that computes the intersection of the left and right set arguments. + + A new DbIntersectExpression that represents the intersection of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type exists between left or right. + + + + Creates a new that computes the union of the left and right set arguments and does not remove duplicates. + + A new DbUnionAllExpression that union, including duplicates, of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type with an equality-comparable element type exists between left and right. + + + + Creates a new that restricts the number of elements in the Argument collection to the specified count Limit value. Tied results are not included in the output. + + A new DbLimitExpression with the specified argument and count limit values that does not include tied results. + An expression that specifies the input collection. + An expression that specifies the limit value. + argument or count is null. + argument does not have a collection result type, or count does not have a result type that is equal or promotable to a 64-bit integer type. + + + + Creates a new . + + A new DbCaseExpression with the specified cases and default result. + A list of expressions that provide the conditional for of each case. + A list of expressions that provide the result of each case. + An expression that defines the result when no case is matched. + whenExpressions or thenExpressions is null or contains null, or elseExpression is null. + whenExpressions or thenExpressions is empty or whenExpressions contains an expression with a non-Boolean result type, or no common result type exists for all expressions in thenExpressions and elseExpression. + + + + Creates a new representing the invocation of the specified function with the given arguments. + + A new DbFunctionExpression representing the function invocation. + Metadata for the function to invoke. + A list of expressions that provide the arguments to the function. + function is null, or arguments is null or contains null. + The count of arguments does not equal the number of parameters declared by function, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding function parameter type. + + + + Creates a new representing the invocation of the specified function with the given arguments. + + A new DbFunctionExpression representing the function invocation. + Metadata for the function to invoke. + Expressions that provide the arguments to the function. + function is null, or arguments is null or contains null. + The count of arguments does not equal the number of parameters declared by function, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding function parameter type. + + + + Creates a new representing the application of the specified Lambda function to the given arguments. + + A new Expression representing the Lambda function application. + + A instance representing the Lambda function to apply. + + A list of expressions that provide the arguments. + lambda or arguments is null. + The count of arguments does not equal the number of variables declared by lambda, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding variable type. + + + + Creates a new representing the application of the specified Lambda function to the given arguments. + + A new expression representing the Lambda function application. + + A instance representing the Lambda function to apply. + + Expressions that provide the arguments. + lambda or arguments is null. + The count of arguments does not equal the number of variables declared by lambda, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding variable type. + + + + Creates a new . If the type argument is a collection type, the arguments specify the elements of the collection. Otherwise the arguments are used as property or column values in the new instance. + + A new DbNewInstanceExpression with the specified type and arguments. + The type of the new instance. + Expressions that specify values of the new instances, interpreted according to the instance's type. + instanceType or arguments is null, or arguments contains null. + arguments is empty or the result types of the contained expressions do not match the requirements of instanceType (as explained in the remarks section). + + + + Creates a new . If the type argument is a collection type, the arguments specify the elements of the collection. Otherwise the arguments are used as property or column values in the new instance. + + A new DbNewInstanceExpression with the specified type and arguments. + The type of the new instance. + Expressions that specify values of the new instances, interpreted according to the instance's type. + instanceType or arguments is null, or arguments contains null. + arguments is empty or the result types of the contained expressions do not match the requirements of instanceType (as explained in the remarks section). + + + + Creates a new that constructs a collection containing the specified elements. The type of the collection is based on the common type of the elements. If no common element type exists an exception is thrown. + + A new DbNewInstanceExpression with the specified collection type and arguments. + A list of expressions that provide the elements of the collection. + elements is null, or contains null. + elements is empty or contains expressions for which no common result type exists. + + + + Creates a new that constructs a collection containing the specified elements. The type of the collection is based on the common type of the elements. If no common element type exists an exception is thrown. + + A new DbNewInstanceExpression with the specified collection type and arguments. + A list of expressions that provide the elements of the collection. + elements is null, or contains null.. + elements is empty or contains expressions for which no common result type exists. + + + + Creates a new that constructs an empty collection of the specified collection type. + + A new DbNewInstanceExpression with the specified collection type and an empty Arguments list. + The type metadata for the collection to create + collectionType is null. + collectionType is not a collection type. + + + + Creates a new that produces a row with the specified named columns and the given values, specified as expressions. + + A new DbNewInstanceExpression that represents the construction of the row. + A list of string-DbExpression key-value pairs that defines the structure and values of the row. + columnValues is null or contains an element with a null column name or expression. + columnValues is empty, or contains a duplicate or invalid column name. + + + + Creates a new representing the retrieval of the specified property. + + A new DbPropertyExpression representing the property retrieval. + The instance from which to retrieve the property. May be null if the property is static. + Metadata for the property to retrieve. + propertyMetadata is null or instance is null and the property is not static. + + + + Creates a new representing the retrieval of the specified navigation property. + + A new DbPropertyExpression representing the navigation property retrieval. + The instance from which to retrieve the navigation property. + Metadata for the navigation property to retrieve. + navigationProperty or instance is null. + + + + Creates a new representing the retrieval of the specified relationship end member. + + A new DbPropertyExpression representing the relationship end member retrieval. + The instance from which to retrieve the relationship end member. + Metadata for the relationship end member to retrieve. + relationshipEnd is null or instance is null and the property is not static. + + + + Creates a new representing the retrieval of the instance property with the specified name from the given instance. + + A new DbPropertyExpression that represents the property retrieval. + The instance from which to retrieve the property. + The name of the property to retrieve. + propertyName is null or instance is null and the property is not static. + No property with the specified name is declared by the type of instance. + + + + Creates a new representing setting a property to a value. + + The property to be set. + The value to set the property to. + The newly created set clause. + + + + Creates a new that determines whether the given predicate holds for all elements of the input set. + + A new DbQuantifierExpression that represents the All operation. + An expression that specifies the input set. + A method representing a predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + source does not have a collection result type. + The expression produced by Predicate does not have a Boolean result type. + + + + Creates a new that determines whether the specified set argument is non-empty. + + + A new applied to a new + + with the specified argument. + + An expression that specifies the input set. + source is null. + source does not have a collection result type. + + + + Creates a new that determines whether the specified set argument is non-empty. + + + A new applied to a new + + with the specified argument. + + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that determines whether the given predicate holds for any element of the input set. + + A new DbQuantifierExpression that represents the Any operation. + An expression that specifies the input set. + A method representing the predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + source does not have a collection result type. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that specifies the logic to evaluate once for each member of the input set. + source or apply is null. + source does not have a collection result type. + The result of apply contains a name or expression that is null. + The result of apply contains a name or expression that is not valid in an expression binding. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set have an apply column value of null. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of OuterApply. + + + A that specifies the input set. + + A method that specifies the logic to evaluate once for each member of the input set. + source or apply is null. + Source does not have a collection result type. + The result of apply contains a name or expression that is null. + The result of apply contains a name or expression that is not valid in an expression binding. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using FullOuterJoin as the + + . + + + A new DbJoinExpression, with an of FullOuterJoin, that represents the full outer join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using LeftOuterJoin as the + + . + + + A new DbJoinExpression, with an of LeftOuterJoin, that represents the left outer join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the outer and inner expressions, on an equality condition between the specified outer and inner keys, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under a join condition that compares the outer and inner key values for equality. + + + A that specifies the outer set argument. + + + A that specifies the inner set argument. + + A method that specifies how the outer key value should be derived from an element of the outer set. + A method that specifies how the inner key value should be derived from an element of the inner set. + outer, inner, outerKey or innerKey is null. + outer or inner does not have a collection result type. + The expression produced by outerKey or innerKey is null. + The expressions produced by outerKey and innerKey are not comparable for equality. + + + + Creates a new that projects the specified selector over the sets specified by the outer and inner expressions, joined on an equality condition between the specified outer and inner keys, using InnerJoin as the + + . + + + A new DbProjectExpression with the specified selector as its projection, and a new DbJoinExpression as its input. The input DbJoinExpression is created with an + + of InnerJoin, that represents the inner join operation applied to the left and right input sets under a join condition that compares the outer and inner key values for equality. + + + A that specifies the outer set argument. + + + A that specifies the inner set argument. + + A method that specifies how the outer key value should be derived from an element of the outer set. + A method that specifies how the inner key value should be derived from an element of the inner set. + + A method that specifies how an element of the result set should be derived from elements of the inner and outer sets. This method must produce an instance of a type that is compatible with Join and can be resolved into a + + . Compatibility requirements for TSelector are described in remarks. + + The type of the selector . + outer, inner, outerKey, innerKey or selector is null. + outer or inner does not have a collection result type. + The expression produced by outerKey or innerKey is null. + The result of selector is null after conversion to DbExpression. + The expressions produced by outerKey and innerKey is not comparable for equality. + The result of Selector is not compatible with SelectMany. + + + + Creates a new that sorts the given input set by the specified sort key, with ascending sort order and default collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that sorts the given input set by the specified sort key, with ascending sort order and the specified collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that sorts the given input set by the specified sort key, with descending sort order and default collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that sorts the given input set by the specified sort key, with descending sort order and the specified collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that selects the specified expression over the given input set. + + A new DbProjectExpression that represents the select operation. + An expression that specifies the input set. + + A method that specifies how to derive the projected expression given a member of the input set. This method must produce an instance of a type that is compatible with Select and can be resolved into a + + . Compatibility requirements for TProjection are described in remarks. + + The method result type of projection. + source or projection is null. + The result of projection is null. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. A + + is then created that selects the apply column from each row, producing the overall collection of apply results. + + + An new DbProjectExpression that selects the apply column from a new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that represents the logic to evaluate once for each member of the input set. + source or apply is null. + The expression produced by apply is null. + source does not have a collection result type. + The expression produced by apply does not have a collection type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. A + + is then created that selects the specified selector over each row, producing the overall collection of results. + + + An new DbProjectExpression that selects the result of the given selector from a new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that represents the logic to evaluate once for each member of the input set. + + A method that specifies how an element of the result set should be derived given an element of the input and apply sets. This method must produce an instance of a type that is compatible with SelectMany and can be resolved into a + + . Compatibility requirements for TSelector are described in remarks. + + The method result type of selector. + source, apply or selector is null. + The expression produced by apply is null. + The result of selector is null on conversion to DbExpression. + source does not have a collection result type. + The expression produced by apply does not have a collection type. does not have a collection type. + + + + Creates a new that skips the specified number of elements from the given sorted input set. + + A new DbSkipExpression that represents the skip operation. + + A that specifies the sorted input set. + + An expression the specifies how many elements of the ordered set to skip. + argument or count is null. + + count is not or + + or has a result type that is not equal or promotable to a 64-bit integer type. + + + + + Creates a new that restricts the number of elements in the Argument collection to the specified count Limit value. Tied results are not included in the output. + + A new DbLimitExpression with the specified argument and count limit values that does not include tied results. + An expression that specifies the input collection. + An expression that specifies the limit value. + argument or count is null. + argument does not have a collection result type, count does not have a result type that is equal or promotable to a 64-bit integer type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in ascending sort order and with default collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + sortKey does not have an order-comparable result type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in ascending sort order and with the specified collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in descending sort order and with default collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in descending sort order and with the specified collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that filters the elements in the given input set using the specified predicate. + + A new DbQuantifierExpression that represents the Any operation. + An expression that specifies the input set. + A method representing the predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that computes the union of the left and right set arguments with duplicates removed. + + A new DbExpression that computes the union, without duplicates, of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type with an equality-comparable element type exists between left and right. + + + + Provides an API to construct s that invoke canonical EDM functions, and allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'Avg' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the average value. + An expression that specifies the collection from which the average value should be computed. + + + + Creates a that invokes the canonical 'Count' function over the specified collection. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that produces the count value. + An expression that specifies the collection over which the count value should be computed. + + + + Creates a that invokes the canonical 'BigCount' function over the specified collection. The result type of the expression is Edm.Int64. + + A new DbFunctionExpression that produces the count value. + An expression that specifies the collection over which the count value should be computed. + + + + Creates a that invokes the canonical 'Max' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the maximum value. + An expression that specifies the collection from which the maximum value should be retrieved + + + + Creates a that invokes the canonical 'Min' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the minimum value. + An expression that specifies the collection from which the minimum value should be retrieved. + + + + Creates a that invokes the canonical 'Sum' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the sum. + An expression that specifies the collection from which the sum should be computed. + + + + Creates a that invokes the canonical 'StDev' function over the non-null members of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the standard deviation value over non-null members of the collection. + An expression that specifies the collection for which the standard deviation should be computed. + + + + Creates a that invokes the canonical 'StDevP' function over the population of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the standard deviation value. + An expression that specifies the collection for which the standard deviation should be computed. + + + + Creates a that invokes the canonical 'Var' function over the non-null members of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the statistical variance value for the non-null members of the collection. + An expression that specifies the collection for which the statistical variance should be computed. + + + + Creates a that invokes the canonical 'VarP' function over the population of the specified collection. The result type of the expression Edm.Double. + + A new DbFunctionExpression that produces the statistical variance value. + An expression that specifies the collection for which the statistical variance should be computed. + + + + Creates a that invokes the canonical 'Concat' function with the specified arguments, which must each have a string result type. The result type of the expression is string. + + A new DbFunctionExpression that produces the concatenated string. + An expression that specifies the string that should appear first in the concatenated result string. + An expression that specifies the string that should appear second in the concatenated result string. + + + + Creates a that invokes the canonical 'Contains' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not searchedForString occurs within searchedString. + An expression that specifies the string to search for any occurrence of searchedForString. + An expression that specifies the string to search for in searchedString. + + + + Creates a that invokes the canonical 'EndsWith' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not stringArgument ends with suffix. + An expression that specifies the string that is searched at the end for string suffix. + An expression that specifies the target string that is searched for at the end of stringArgument. + + + + Creates a that invokes the canonical 'IndexOf' function with the specified arguments, which must each have a string result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the first index of stringToFind in searchString. + An expression that specifies the string to search for stringToFind. + An expression that specifies the string to locate within searchString should be checked. + + + + Creates a that invokes the canonical 'Left' function with the specified arguments, which must have a string and integer numeric result type. The result type of the expression is string. + + A new DbFunctionExpression that returns the leftmost substring of length from stringArgument. + An expression that specifies the string from which to extract the leftmost substring. + An expression that specifies the length of the leftmost substring to extract from stringArgument. + + + + Creates a that invokes the canonical 'Length' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the length of stringArgument. + An expression that specifies the string for which the length should be computed. + + + + Creates a that invokes the canonical 'Replace' function with the specified arguments, which must each have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression than returns a new string based on stringArgument where every occurrence of toReplace is replaced by replacement. + An expression that specifies the string in which to perform the replacement operation. + An expression that specifies the string that is replaced. + An expression that specifies the replacement string. + + + + Creates a that invokes the canonical 'Reverse' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that produces the reversed value of stringArgument. + An expression that specifies the string to reverse. + + + + Creates a that invokes the canonical 'Right' function with the specified arguments, which must have a string and integer numeric result type. The result type of the expression is string. + + A new DbFunctionExpression that returns the rightmost substring of length from stringArgument. + An expression that specifies the string from which to extract the rightmost substring. + An expression that specifies the length of the rightmost substring to extract from stringArgument. + + + + Creates a that invokes the canonical 'StartsWith' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not stringArgument starts with prefix. + An expression that specifies the string that is searched at the start for string prefix. + An expression that specifies the target string that is searched for at the start of stringArgument. + + + + Creates a that invokes the canonical 'Substring' function with the specified arguments, which must have a string and integer numeric result types. The result type of the expression is string. + + A new DbFunctionExpression that returns the substring of length from stringArgument starting at start. + An expression that specifies the string from which to extract the substring. + An expression that specifies the starting index from which the substring should be taken. + An expression that specifies the length of the substring. + + + + Creates a that invokes the canonical 'ToLower' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument converted to lower case. + An expression that specifies the string that should be converted to lower case. + + + + Creates a that invokes the canonical 'ToUpper' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument converted to upper case. + An expression that specifies the string that should be converted to upper case. + + + + Creates a that invokes the canonical 'Trim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with leading and trailing space removed. + An expression that specifies the string from which leading and trailing space should be removed. + + + + Creates a that invokes the canonical 'RTrim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with trailing space removed. + An expression that specifies the string from which trailing space should be removed. + + + + Creates a that invokes the canonical 'LTrim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with leading space removed. + An expression that specifies the string from which leading space should be removed. + + + + Creates a that invokes the canonical 'Year' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer year value from dateValue. + An expression that specifies the value from which the year should be retrieved. + + + + Creates a that invokes the canonical 'Month' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer month value from dateValue. + An expression that specifies the value from which the month should be retrieved. + + + + Creates a that invokes the canonical 'Day' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer day value from dateValue. + An expression that specifies the value from which the day should be retrieved. + + + + Creates a that invokes the canonical 'DayOfYear' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer day of year value from dateValue. + An expression that specifies the value from which the day within the year should be retrieved. + + + + Creates a that invokes the canonical 'Hour' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer hour value from timeValue. + An expression that specifies the value from which the hour should be retrieved. + + + + Creates a that invokes the canonical 'Minute' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer minute value from timeValue. + An expression that specifies the value from which the minute should be retrieved. + + + + Creates a that invokes the canonical 'Second' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer second value from timeValue. + An expression that specifies the value from which the second should be retrieved. + + + + Creates a that invokes the canonical 'Millisecond' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer millisecond value from timeValue. + An expression that specifies the value from which the millisecond should be retrieved. + + + + Creates a that invokes the canonical 'GetTotalOffsetMinutes' function with the specified argument, which must have a DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of minutes dateTimeOffsetArgument is offset from GMT. + An expression that specifies the DateTimeOffset value from which the minute offset from GMT should be retrieved. + + + + Creates a that gets local DateTime using CAST expressions from specified argument, which must have a DateTimeOffset result type. The result type of the expression is DateTime. + + A new DbFunctionExpression that casts DATETIMEOFFSET to DATETIME2, discarding offset part + An expression that specifies the DateTimeOffset value. + + + + Creates a that gets UTC DateTime using CAST expressions from specified argument, which must have a DateTimeOffset result type. The result type of the expression is DateTime. + + A new DbFunctionExpression that casts DATETIMEOFFSET to Utc DATETIME2 + An expression that specifies the DateTimeOffset value. + + + + Creates a that invokes the canonical 'CurrentDateTime' function. + + A new DbFunctionExpression that returns the current date and time as an Edm.DateTime instance. + + + + Creates a that invokes the canonical 'CurrentDateTimeOffset' function. + + A new DbFunctionExpression that returns the current date and time as an Edm.DateTimeOffset instance. + + + + Creates a that invokes the canonical 'CurrentUtcDateTime' function. + + A new DbFunctionExpression that returns the current UTC date and time as an Edm.DateTime instance. + + + + Creates a that invokes the canonical 'TruncateTime' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that returns the value of dateValue with time set to zero. + An expression that specifies the value for which the time portion should be truncated. + + + + Creates a that invokes the canonical 'CreateDateTime' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.DateTime. + + A new DbFunctionExpression that returns a new DateTime based on the specified values. + An expression that provides the year value for the new DateTime instance. + An expression that provides the month value for the new DateTime instance. + An expression that provides the day value for the new DateTime instance. + An expression that provides the hour value for the new DateTime instance. + An expression that provides the minute value for the new DateTime instance. + An expression that provides the second value for the new DateTime instance. + + + + Creates a that invokes the canonical 'CreateDateTimeOffset' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.DateTimeOffset. + + A new DbFunctionExpression that returns a new DateTimeOffset based on the specified values. + An expression that provides the year value for the new DateTimeOffset instance. + An expression that provides the month value for the new DateTimeOffset instance. + An expression that provides the day value for the new DateTimeOffset instance. + An expression that provides the hour value for the new DateTimeOffset instance. + An expression that provides the minute value for the new DateTimeOffset instance. + An expression that provides the second value for the new DateTimeOffset instance. + An expression that provides the number of minutes in the time zone offset value for the new DateTimeOffset instance. + + + + Creates a that invokes the canonical 'CreateTime' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.Time. + + A new DbFunctionExpression that returns a new Time based on the specified values. + An expression that provides the hour value for the new DateTime instance. + An expression that provides the minute value for the new DateTime instance. + An expression that provides the second value for the new DateTime instance. + + + + Creates a that invokes the canonical 'AddYears' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of years specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of years to add to dateValue. + + + + Creates a that invokes the canonical 'AddMonths' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of months specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of months to add to dateValue. + + + + Creates a that invokes the canonical 'AddDays' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of days specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of days to add to dateValue. + + + + Creates a that invokes the canonical 'AddHours' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of hours specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of hours to add to timeValue. + + + + Creates a that invokes the canonical 'AddMinutes' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of minutes specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of minutes to add to timeValue. + + + + Creates a that invokes the canonical 'AddSeconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of seconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of seconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddMilliseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of milliseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of milliseconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddMicroseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of microseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of microseconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddNanoseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of nanoseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of nanoseconds to add to timeValue. + + + + Creates a that invokes the canonical 'DiffYears' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of years that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffMonths' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of months that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffDays' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of days that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffHours' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of hours that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMinutes' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of minutes that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffSeconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of seconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMilliseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of milliseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMicroseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of microseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffNanoseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of nanoseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'Round' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that rounds the specified argument to the nearest integer value. + An expression that specifies the numeric value to round. + + + + Creates a that invokes the canonical 'Round' function with the specified arguments, which must have a single, double or decimal, and integer result types. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that rounds the specified argument to the nearest integer value, with precision as specified by digits. + An expression that specifies the numeric value to round. + An expression that specifies the number of digits of precision to use when rounding. + + + + Creates a that invokes the canonical 'Floor' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the largest integer value not greater than value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Ceiling' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the smallest integer value not less than the value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Abs' function with the specified argument, which must each have a numeric result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the absolute value of value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Truncate' function with the specified arguments, which must have a single, double or decimal, and integer result types. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that truncates the specified argument to the nearest integer value, with precision as specified by digits. + An expression that specifies the numeric value to truncate. + An expression that specifies the number of digits of precision to use when truncating. + + + + Creates a that invokes the canonical 'Power' function with the specified arguments, which must have numeric result types. The result type of the expression is the same as the result type of baseArgument. + + A new DbFunctionExpression that returns the value of baseArgument raised to the power specified by exponent. + An expression that specifies the numeric value to raise to the given power. + An expression that specifies the power to which baseArgument should be raised. + + + + Creates a that invokes the canonical 'BitwiseAnd' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise AND of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'BitwiseOr' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise OR of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'BitwiseNot' function with the specified argument, which must have an integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise NOT of value. + An expression that specifies the first operand. + + + + Creates a that invokes the canonical 'BitwiseXor' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise XOR (exclusive OR) of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'NewGuid' function. + + A new DbFunctionExpression that returns a new GUID value. + + + + Provides an API to construct s that invoke hierarchyid realted canonical EDM functions, and, where appropriate, allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'HierarchyIdParse' function with the + specified argument, which must have a string result type. + The result type of the expression is Edm.HierarchyId. + + An expression that provides the canonical representation of the hierarchyid value. + A new DbFunctionExpression that returns a new hierarchyid value based on the specified value. + + + is null. + + + No overload of the canonical 'HierarchyIdParse' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'HierarchyIdGetRoot' function. + The result type of the expression is Edm.HierarchyId. + + A new DbFunctionExpression that returns a new root hierarchyid value. + + + + Creates a that invokes the canonical 'GetAncestor' function with the + specified argument, which must have an Int32 result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides an integer value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + is null. + + + No overload of the canonical 'GetAncestor' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'GetDescendant' function with the + specified argument, which must have a HierarchyId result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + or + + is null. + + + No overload of the canonical 'GetDescendant' function accept an argument with the result type of + + and + + . + + + + + Creates a that invokes the canonical 'GetLevel' function. + The result type of the expression is Int32. + + An expression that specifies the hierarchyid value. + A new DbFunctionExpression that returns the level of the given hierarchyid. + + + is null. + + + + + Creates a that invokes the canonical 'IsDescendantOf' function with the + specified argument, which must have a HierarchyId result type. + The result type of the expression is Int32. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns an integer value. + + + or + + is null. + + + No overload of the canonical 'IsDescendantOf' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'GetReparentedValue' function with the + specified arguments, which must have a HierarchyId result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + or + + is null. + + + No overload of the canonical 'GetReparentedValue' function accept an argument with the result type of + + and + + . + + + + + Provides a constructor-like means of calling + + . + + + + + Initializes a new instance of the class with the specified first column value and optional successive column values. + + A key-value pair that provides the first column in the new row instance. (required) + A key-value pairs that provide any subsequent columns in the new row instance. (optional) + + + + Creates a new that constructs a new row based on the columns contained in this Row instance. + + A new DbNewInstanceExpression that constructs a row with the same column names and DbExpression values as this Row instance. + + + + Converts the given Row instance into an instance of + + The Row instance. + A DbExpression based on the Row instance + + + is null. + + + + + + Provides an API to construct s that invoke spatial realted canonical EDM functions, and, where appropriate, allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'GeometryFromText' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geometry. Its value has the default coordinate system id (SRID) of the underlying provider. + + A new DbFunctionExpression that returns a new geometry value based on the specified value. + An expression that provides the well known text representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromText' function with the specified arguments. wellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the well known text representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPointFromText' function with the specified arguments. pointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry point value based on the specified values. + An expression that provides the well known text representation of the geometry point value. + An expression that provides the coordinate system id (SRID) of the geometry point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryLineFromText' function with the specified arguments. lineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry line value based on the specified values. + An expression that provides the well known text representation of the geometry line value. + An expression that provides the coordinate system id (SRID) of the geometry line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPolygonFromText' function with the specified arguments. polygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry polygon value based on the specified values. + An expression that provides the well known text representation of the geometry polygon value. + An expression that provides the coordinate system id (SRID) of the geometry polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPointFromText' function with the specified arguments. multiPointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-point value based on the specified values. + An expression that provides the well known text representation of the geometry multi-point value. + An expression that provides the coordinate system id (SRID) of the geometry multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiLineFromText' function with the specified arguments. multiLineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-line value based on the specified values. + An expression that provides the well known text representation of the geometry multi-line value. + An expression that provides the coordinate system id (SRID) of the geometry multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPolygonFromText' function with the specified arguments. multiPolygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-polygon value based on the specified values. + An expression that provides the well known text representation of the geometry multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geometry multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryCollectionFromText' function with the specified arguments. geometryCollectionWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry collection value based on the specified values. + An expression that provides the well known text representation of the geometry collection value. + An expression that provides the coordinate system id (SRID) of the geometry collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryFromBinary' function with the specified argument, which must have a binary result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified binary value. + An expression that provides the well known binary representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromBinary' function with the specified arguments. wellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the well known binary representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPointFromBinary' function with the specified arguments. pointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry point value based on the specified values. + An expression that provides the well known binary representation of the geometry point value. + An expression that provides the coordinate system id (SRID) of the geometry point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryLineFromBinary' function with the specified arguments. lineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry line value based on the specified values. + An expression that provides the well known binary representation of the geometry line value. + An expression that provides the coordinate system id (SRID) of the geometry line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPolygonFromBinary' function with the specified arguments. polygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry polygon value based on the specified values. + An expression that provides the well known binary representation of the geometry polygon value. + An expression that provides the coordinate system id (SRID) of the geometry polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPointFromBinary' function with the specified arguments. multiPointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-point value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-point value. + An expression that provides the coordinate system id (SRID) of the geometry multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiLineFromBinary' function with the specified arguments. multiLineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-line value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-line value. + An expression that provides the coordinate system id (SRID) of the geometry multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPolygonFromBinary' function with the specified arguments. multiPolygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-polygon value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geometry multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryCollectionFromBinary' function with the specified arguments. geometryCollectionWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry collection value based on the specified values. + An expression that provides the well known binary representation of the geometry collection value. + An expression that provides the coordinate system id (SRID) of the geometry collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryFromGml' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified value with the default coordinate system id (SRID) of the underlying provider. + An expression that provides the Geography Markup Language (GML) representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromGml' function with the specified arguments. geometryMarkup must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the Geography Markup Language (GML) representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromText' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geography. Its value has the default coordinate system id (SRID) of the underlying provider. + + A new DbFunctionExpression that returns a new geography value based on the specified value. + An expression that provides the well known text representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromText' function with the specified arguments. wellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the well known text representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPointFromText' function with the specified arguments. + + The canonical 'GeographyPointFromText' function. + An expression that provides the well-known text representation of the geography point value. + An expression that provides the coordinate system id (SRID) of the geography point value's coordinate systempointWellKnownTextValue. + + + + Creates a that invokes the canonical 'GeographyLineFromText' function with the specified arguments. lineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography line value based on the specified values. + An expression that provides the well known text representation of the geography line value. + An expression that provides the coordinate system id (SRID) of the geography line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPolygonFromText' function with the specified arguments. polygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography polygon value based on the specified values. + An expression that provides the well known text representation of the geography polygon value. + An expression that provides the coordinate system id (SRID) of the geography polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPointFromText' function with the specified arguments. multiPointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-point value based on the specified values. + An expression that provides the well known text representation of the geography multi-point value. + An expression that provides the coordinate system id (SRID) of the geography multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiLineFromText' function with the specified arguments. multiLineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-line value based on the specified values. + An expression that provides the well known text representation of the geography multi-line value. + An expression that provides the coordinate system id (SRID) of the geography multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPolygonFromText' function with the specified arguments. multiPolygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-polygon value based on the specified values. + An expression that provides the well known text representation of the geography multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geography multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyCollectionFromText' function with the specified arguments. geographyCollectionWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography collection value based on the specified values. + An expression that provides the well known text representation of the geography collection value. + An expression that provides the coordinate system id (SRID) of the geography collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromBinary' function with the specified argument, which must have a binary result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified binary value. + An expression that provides the well known binary representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromBinary' function with the specified arguments. wellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the well known binary representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPointFromBinary' function with the specified arguments. pointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography point value based on the specified values. + An expression that provides the well known binary representation of the geography point value. + An expression that provides the coordinate system id (SRID) of the geography point value's coordinate systempointWellKnownBinaryValue. + + + + Creates a that invokes the canonical 'GeographyLineFromBinary' function with the specified arguments. lineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography line value based on the specified values. + An expression that provides the well known binary representation of the geography line value. + An expression that provides the coordinate system id (SRID) of the geography line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPolygonFromBinary' function with the specified arguments. polygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography polygon value based on the specified values. + An expression that provides the well known binary representation of the geography polygon value. + An expression that provides the coordinate system id (SRID) of the geography polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPointFromBinary' function with the specified arguments. multiPointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-point value based on the specified values. + An expression that provides the well known binary representation of the geography multi-point value. + An expression that provides the coordinate system id (SRID) of the geography multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiLineFromBinary' function with the specified arguments. multiLineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-line value based on the specified values. + An expression that provides the well known binary representation of the geography multi-line value. + An expression that provides the coordinate system id (SRID) of the geography multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPolygonFromBinary' function with the specified arguments. multiPolygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-polygon value based on the specified values. + An expression that provides the well known binary representation of the geography multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geography multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyCollectionFromBinary' function with the specified arguments. geographyCollectionWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography collection value based on the specified values. + An expression that provides the well known binary representation of the geography collection value. + An expression that provides the coordinate system id (SRID) of the geography collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromGml' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified value with the default coordinate system id (SRID) of the underlying provider. + An expression that provides the Geography Markup Language (GML) representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromGml' function with the specified arguments. geographyMarkup must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the Geography Markup Language (GML) representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'CoordinateSystemId' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer SRID value from spatialValue. + An expression that specifies the value from which the coordinate system id (SRID) should be retrieved. + + + + Creates a that invokes the canonical 'SpatialTypeName' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the string Geometry Type name from spatialValue. + An expression that specifies the value from which the Geometry Type name should be retrieved. + + + + Creates a that invokes the canonical 'SpatialDimension' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the Dimension value from spatialValue. + An expression that specifies the value from which the Dimension value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialEnvelope' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the minimum bounding box for geometryValue. + An expression that specifies the value from which the Envelope value should be retrieved. + + + + Creates a that invokes the canonical 'AsBinary' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Binary. + + A new DbFunctionExpression that returns the well known binary representation of spatialValue. + An expression that specifies the spatial value from which the well known binary representation should be produced. + + + + Creates a that invokes the canonical 'AsGml' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the Geography Markup Language (GML) representation of spatialValue. + An expression that specifies the spatial value from which the Geography Markup Language (GML) representation should be produced. + + + + Creates a that invokes the canonical 'AsText' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the well known text representation of spatialValue. + An expression that specifies the spatial value from which the well known text representation should be produced. + + + + Creates a that invokes the canonical 'IsEmptySpatial' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue is empty. + An expression that specifies the spatial value from which the IsEmptySpatial value should be retrieved. + + + + Creates a that invokes the canonical 'IsSimpleGeometry' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue is a simple geometry. + The geometry value. + + + + Creates a that invokes the canonical 'SpatialBoundary' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the boundary for geometryValue. + An expression that specifies the geometry value from which the SpatialBoundary value should be retrieved. + + + + Creates a that invokes the canonical 'IsValidGeometry' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue is valid. + An expression that specifies the geometry value which should be tested for spatial validity. + + + + Creates a that invokes the canonical 'SpatialEquals' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 are equal. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for equality. + + + + Creates a that invokes the canonical 'SpatialDisjoint' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 are spatially disjoint. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for disjointness. + + + + Creates a that invokes the canonical 'SpatialIntersects' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 intersect. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for intersection. + + + + Creates a that invokes the canonical 'SpatialTouches' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 touches geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialCrosses' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 crosses geometryValue2 intersect. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialWithin' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 is spatially within geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialContains' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 spatially contains geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialOverlaps' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 spatially overlaps geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialRelate' function with the specified arguments, which must have Edm.Geometry and string result types. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 is spatially related to geometryValue2 according to the spatial relationship designated by intersectionPatternMatrix. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + An expression that specifies the text representation of the Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern used to compare geometryValue1 and geometryValue2. + + + + Creates a that invokes the canonical 'SpatialBuffer' function with the specified arguments, which must have a Edm.Geography or Edm.Geometry and Edm.Double result types. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a geometry value representing all points less than or equal to distance from spatialValue. + An expression that specifies the spatial value. + An expression that specifies the buffer distance. + + + + Creates a that invokes the canonical 'Distance' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns the distance between the closest points in spatialValue1 and spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value from which the distance from spatialValue1 should be measured. + + + + Creates a that invokes the canonical 'SpatialConvexHull' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the convex hull for geometryValue. + An expression that specifies the geometry value from which the convex hull value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialIntersection' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the spatial value representing the intersection of spatialValue1 and spatialValue2. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the intersection with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialUnion' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the spatial value representing the union of spatialValue1 and spatialValue2. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the union with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialDifference' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the geometry value representing the difference of spatialValue2 with spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the difference with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialSymmetricDifference' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the geometry value representing the symmetric difference of spatialValue2 with spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the symmetric difference with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialElementCount' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of elements in spatialValue or null if spatialValue is not a collection. + An expression that specifies the geography or geometry collection value from which the number of elements should be retrieved. + + + + Creates a that invokes the canonical 'SpatialElementAt' function with the specified arguments. The first argument must have an Edm.Geography or Edm.Geometry result type. The second argument must have an integer numeric result type. The result type of the expression is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the collection element at position indexValue in spatialValue or null if spatialValue is not a collection. + An expression that specifies the geography or geometry collection value. + An expression that specifies the position of the element to be retrieved from within the geometry or geography collection. + + + + Creates a that invokes the canonical 'XCoordinate' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the X co-ordinate value of geometryValue or null if geometryValue is not a point. + An expression that specifies the geometry point value from which the X co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'YCoordinate' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Y co-ordinate value of geometryValue or null if geometryValue is not a point. + An expression that specifies the geometry point value from which the Y co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'Elevation' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the elevation value of spatialValue or null if spatialValue is not a point. + An expression that specifies the spatial point value from which the elevation (Z co-ordinate) value should be retrieved. + + + + Creates a that invokes the canonical 'Measure' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Measure of spatialValue or null if spatialValue is not a point. + An expression that specifies the spatial point value from which the Measure (M) co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'Latitude' function with the specified argument, which must have an Edm.Geography result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Latitude value of geographyValue or null if geographyValue is not a point. + An expression that specifies the geography point value from which the Latitude value should be retrieved. + + + + Creates a that invokes the canonical 'Longitude' function with the specified argument, which must have an Edm.Geography result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Longitude value of geographyValue or null if geographyValue is not a point. + An expression that specifies the geography point value from which the Longitude value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialLength' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the length of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the length should be retrieved. + + + + Creates a that invokes the canonical 'StartPoint' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the start point of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the start point should be retrieved. + + + + Creates a that invokes the canonical 'EndPoint' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the end point of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the end point should be retrieved. + + + + Creates a that invokes the canonical 'IsClosedSpatial' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is Edm.Boolean. + + A new DbFunctionExpression that returns either a Boolean value indicating whether spatialValue is closed, or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the IsClosedSpatial value should be retrieved. + + + + Creates a that invokes the canonical 'IsRing' function with the specified argument, which must have an Edm.Geometry result type. The result type is Edm.Boolean. + + A new DbFunctionExpression that returns either a Boolean value indicating whether geometryValue is a ring (both closed and simple), or null if geometryValue is not a curve. + An expression that specifies the geometry curve value from which the IsRing value should be retrieved. + + + + Creates a that invokes the canonical 'PointCount' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of points in spatialValue or null if spatialValue is not a line string. + An expression that specifies the spatial line string value from which the number of points should be retrieved. + + + + Creates a that invokes the canonical 'PointAt' function with the specified arguments. The first argument must have an Edm.Geography or Edm.Geometry result type. The second argument must have an integer numeric result type. The result type of the expression is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the point at position indexValue in spatialValue or null if spatialValue is not a line string. + An expression that specifies the spatial line string value. + An expression that specifies the position of the point to be retrieved from within the line string. + + + + Creates a that invokes the canonical 'Area' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the area of spatialValue or null if spatialValue is not a surface. + An expression that specifies the spatial surface value for which the area should be calculated. + + + + Creates a that invokes the canonical 'Centroid' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the centroid point of geometryValue (which may not be on the surface itself) or null if geometryValue is not a surface. + An expression that specifies the geometry surface value from which the centroid should be retrieved. + + + + Creates a that invokes the canonical 'PointOnSurface' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either a point guaranteed to be on the surface geometryValue or null if geometryValue is not a surface. + An expression that specifies the geometry surface value from which the point should be retrieved. + + + + Creates a that invokes the canonical 'ExteriorRing' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the exterior ring of the polygon geometryValue or null if geometryValue is not a polygon. + The geometry value. + + + + Creates a that invokes the canonical 'InteriorRingCount' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of interior rings in the polygon geometryValue or null if geometryValue is not a polygon. + The geometry value. + + + + Creates a that invokes the canonical 'InteriorRingAt' function with the specified arguments. The first argument must have an Edm.Geometry result type. The second argument must have an integer numeric result types. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the interior ring at position indexValue in geometryValue or null if geometryValue is not a polygon. + The geometry value. + An expression that specifies the position of the interior ring to be retrieved from within the polygon. + + + + Ensures that all metadata in a given expression tree is from the specified metadata workspace, + potentially rebinding and rebuilding the expressions to appropriate replacement metadata where necessary. + + + + Initializes a new instance of the class. + The target workspace. + + + Implements the visitor pattern for the entity set. + The implemented visitor pattern. + The entity set. + + + Implements the visitor pattern for the function. + The implemented visitor pattern. + The function metadata. + + + Implements the visitor pattern for the type. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the type usage. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for retrieving an instance property. + The implemented visitor. + The expression. + + + + DataRecordInfo class providing a simple way to access both the type information and the column information. + + + + + Initializes a new object for a specific type with an enumerable collection of data fields. + + + The metadata for the type represented by this object, supplied by + + . + + + An enumerable collection of objects that represent column information. + + + + + Gets for this + + object. + + + A object. + + + + + Gets type info for this object as a object. + + + A value. + + + + + A prepared command definition, can be cached and reused to avoid + repreparing a command. + + + + + Initializes a new instance of the class using the supplied + + . + + + The supplied . + + method used to clone the + + + + Initializes a new instance of the class. + + + + + Creates and returns a object that can be executed. + + The command for database. + + + + Metadata Interface for all CLR types + + + + + Value to pass to GetInformation to get the StoreSchemaDefinition + + + + + Value to pass to GetInformation to get the StoreSchemaMapping + + + + + Value to pass to GetInformation to get the ConceptualSchemaDefinition + + + + + Value to pass to GetInformation to get the StoreSchemaDefinitionVersion3 + + + + + Value to pass to GetInformation to get the StoreSchemaMappingVersion3 + + + + + Value to pass to GetInformation to get the ConceptualSchemaDefinitionVersion3 + + + + + Name of the MaxLength Facet + + + + + Name of the Unicode Facet + + + + + Name of the FixedLength Facet + + + + + Name of the Precision Facet + + + + + Name of the Scale Facet + + + + + Name of the Nullable Facet + + + + + Name of the DefaultValue Facet + + + + + Name of the Collation Facet + + + + + Name of the SRID Facet + + + + + Name of the IsStrict Facet + + + + Gets the namespace used by this provider manifest. + The namespace used by this provider manifest. + + + When overridden in a derived class, returns the set of primitive types supported by the data source. + The set of types supported by the data source. + + + When overridden in a derived class, returns a collection of EDM functions supported by the provider manifest. + A collection of EDM functions. + + + Returns the FacetDescription objects for a particular type. + The FacetDescription objects for the specified EDM type. + The EDM type to return the facet description for. + + + When overridden in a derived class, this method maps the specified storage type and a set of facets for that type to an EDM type. + + The instance that describes an EDM type and a set of facets for that type. + + The TypeUsage instance that describes a storage type and a set of facets for that type to be mapped to the EDM type. + + + When overridden in a derived class, this method maps the specified EDM type and a set of facets for that type to a storage type. + The TypeUsage instance that describes a storage type and a set of facets for that type. + The TypeUsage instance that describes the EDM type and a set of facets for that type to be mapped to a storage type. + + + When overridden in a derived class, this method returns provider-specific information. + The XmlReader object that represents the mapping to the underlying data store catalog. + The type of the information to return. + + + Gets the provider-specific information. + The provider-specific information. + The type of the information to return. + + + Indicates if the provider supports escaping strings to be used as patterns in a Like expression. + True if this provider supports escaping strings to be used as patterns in a Like expression; otherwise, false. + If the provider supports escaping, the character that would be used as the escape character. + + + + Indicates if the provider supports the parameter optimization described in EntityFramework6 GitHub issue #195. + The default is false. Providers should change this to true only after testing that schema queries (as + used in the Database First flow) work correctly with this flag. + + True only if the provider supports the parameter optimization. + + + Provider writers should override this method to return the argument with the wildcards and the escape character escaped. This method is only used if SupportsEscapingLikeArgument returns true. + The argument with the wildcards and the escape character escaped. + The argument to be escaped. + + + + Returns a boolean that specifies whether the provider can handle expression trees + containing instances of DbInExpression. + The default implementation returns false for backwards compatibility. Derived classes can override this method. + + + false + + + + + Returns a boolean that specifies whether the provider can process expression trees not having DbProjectExpression + nodes directly under both Left and Right sides of DbUnionAllExpression and DbIntersectExpression + + + false + + + + + The factory for building command definitions; use the type of this object + as the argument to the IServiceProvider.GetService method on the provider + factory; + + + + + Constructs an EF provider that will use the obtained from + the app domain Singleton for resolving EF dependencies such + as the instance to use. + + + + + Registers a handler to process non-error messages coming from the database provider. + + The connection to receive information for. + The handler to process messages. + + + + Create a Command Definition object given a command tree. + + command tree for the statement + an executable command definition object + + This method simply delegates to the provider's implementation of CreateDbCommandDefinition. + + + + Creates command definition from specified manifest and command tree. + The created command definition. + The manifest. + The command tree. + + + Creates a command definition object for the specified provider manifest and command tree. + An executable command definition object. + Provider manifest previously retrieved from the store provider. + Command tree for the statement. + + + + Create the default DbCommandDefinition object based on the prototype command + This method is intended for provider writers to build a default command definition + from a command. + Note: This will clone the prototype + + the prototype command + an executable command definition object + + + + See issue 2390 - cloning the DesignTimeVisible property on the + DbCommand can cause deadlocks. So here allow sub-classes to override. + + the object to clone + a clone of the + + + + Clones the connection. + + The original connection. + Cloned connection + + + + Clones the connection. + + The original connection. + The factory to use. + Cloned connection + + + Returns provider manifest token given a connection. + The provider manifest token. + Connection to provider. + + + + Returns provider manifest token for a given connection. + + Connection to find manifest token from. + The provider manifest token for the specified connection. + + + Returns the provider manifest by using the specified version information. + The provider manifest by using the specified version information. + The token information associated with the provider manifest. + + + When overridden in a derived class, returns an instance of a class that derives from the DbProviderManifest. + A DbProviderManifest object that represents the provider manifest. + The token information associated with the provider manifest. + + + + Gets the that will be used to execute methods that use the specified connection. + + The database connection + + A new instance of + + + + + Gets the that will be used to execute methods that use the specified connection. + This overload should be used by the derived classes for compatability with wrapping providers. + + The database connection + The provider invariant name + + A new instance of + + + + + Gets the spatial data reader for the . + + The spatial data reader. + The reader where the spatial data came from. + The manifest token associated with the provider manifest. + + + + Gets the spatial services for the . + + The spatial services. + The token information associated with the provider manifest. + + + Gets the spatial services for the . + The spatial services. + Information about the database that the spatial services will be used for. + + + + Gets the spatial data reader for the . + + The spatial data reader. + The reader where the spatial data came from. + The token information associated with the provider manifest. + + + + Gets the spatial services for the . + + The spatial services. + The token information associated with the provider manifest. + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + Returns providers given a connection. + + The instanced based on the specified connection. + + Connection to provider. + + + Retrieves the DbProviderFactory based on the specified DbConnection. + The retrieved DbProviderFactory. + The connection to use. + + + + Return an XML reader which represents the CSDL description + + The name of the CSDL description. + An XmlReader that represents the CSDL description + + + Generates a data definition language (DDL script that creates schema objects (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection parameter and targeted for the version of the database corresponding to the provider manifest token. + + Individual statements should be separated using database-specific DDL command separator. + It is expected that the generated script would be executed in the context of existing database with + sufficient permissions, and it should not include commands to create the database, but it may include + commands to create schemas and other auxiliary objects such as sequences, etc. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter and targeted for the version of the database corresponding to the provider manifest token. + The provider manifest token identifying the target version. + The structure of the database. + + + + Generates a data definition language (DDL) script that creates schema objects + (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection + parameter and targeted for the version of the database corresponding to the provider manifest token. + + + Individual statements should be separated using database-specific DDL command separator. + It is expected that the generated script would be executed in the context of existing database with + sufficient permissions, and it should not include commands to create the database, but it may include + commands to create schemas and other auxiliary objects such as sequences, etc. + + The provider manifest token identifying the target version. + The structure of the database. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter + and targeted for the version of the database corresponding to the provider manifest token. + + + + + Creates a database indicated by connection and creates schema objects + (tables, primary keys, foreign keys) based on the contents of storeItemCollection. + + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + Creates a database indicated by connection and creates schema objects (tables, primary keys, foreign keys) based on the contents of a StoreItemCollection. + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + Override this method to avoid creating the store item collection if it is not needed. The default implementation evaluates the Lazy and calls the other overload of this method. + + + Deletes the specified database. + Connection to an existing database that needs to be deleted. + Execution timeout for any commands needed to delete the database. + The collection of all store items from the model. This parameter is no longer used for database deletion. + + + Deletes the specified database. + Connection to an existing database that needs to be deleted. + Execution timeout for any commands needed to delete the database. + The collection of all store items from the model. This parameter is no longer used for database deletion. + + + + Expands |DataDirectory| in the given path if it begins with |DataDirectory| and returns the expanded path, + or returns the given string if it does not start with |DataDirectory|. + + The path to expand. + The expanded path. + + + + Adds an that will be used to resolve additional default provider + services when a derived type is registered as an EF provider either using an entry in the application's + config file or through code-based registration in . + + The resolver to add. + + + + Called to resolve additional default provider services when a derived type is registered as an + EF provider either using an entry in the application's config file or through code-based + registration in . The implementation of this method in this + class uses the resolvers added with the AddDependencyResolver method to resolve + dependencies. + + + Use this method to set, add, or change other provider-related services. Note that this method + will only be called for such services if they are not already explicitly configured in some + other way by the application. This allows providers to set default services while the + application is still able to override and explicitly configure each service if required. + See and for more details. + + The type of the service to be resolved. + An optional key providing additional information for resolving the service. + An instance of the given type, or null if the service could not be resolved. + + + + Called to resolve additional default provider services when a derived type is registered as an + EF provider either using an entry in the application's config file or through code-based + registration in . The implementation of this method in this + class uses the resolvers added with the AddDependencyResolver method to resolve + dependencies. + + The type of the service to be resolved. + An optional key providing additional information for resolving the service. + All registered services that satisfy the given type and key, or an empty enumeration if there are none. + + + + A specialization of the ProviderManifest that accepts an XmlReader + + + + + Initializes a new instance of the class. + + + An object that provides access to the XML data in the provider manifest file. + + + + Gets the namespace name supported by this provider manifest. + The namespace name supported by this provider manifest. + + + Gets the best mapped equivalent Entity Data Model (EDM) type for a specified storage type name. + The best mapped equivalent EDM type for a specified storage type name. + + + Gets the best mapped equivalent storage primitive type for a specified storage type name. + The best mapped equivalent storage primitive type for a specified storage type name. + + + Returns the list of facet descriptions for the specified Entity Data Model (EDM) type. + + A collection of type that contains the list of facet descriptions for the specified EDM type. + + + An for which the facet descriptions are to be retrieved. + + + + Returns the list of primitive types supported by the storage provider. + + A collection of type that contains the list of primitive types supported by the storage provider. + + + + Returns the list of provider-supported functions. + + A collection of type that contains the list of provider-supported functions. + + + + + EntityRecordInfo class providing a simple way to access both the type information and the column information. + + + + + Initializes a new instance of the class of a specific entity type with an enumerable collection of data fields and with specific key and entity set information. + + + The of the entity represented by the + + described by this + + object. + + + An enumerable collection of objects that represent column information. + + The key for the entity. + The entity set to which the entity belongs. + + + + Gets the for the entity. + + The key for the entity. + + + + Public Entity SQL Parser class. + + + + Parse the specified query with the specified parameters. + + The containing + + and information describing inline function definitions if any. + + The EntitySQL query to be parsed. + The optional query parameters. + + + + Parse a specific query with a specific set variables and produce a + + . + + + The containing + + and information describing inline function definitions if any. + + The query to be parsed. + The optional query variables. + + + + Entity SQL query inline function definition, returned as a part of . + + + + Function name. + + + Function body and parameters. + + + Start position of the function definition in the eSQL query text. + + + End position of the function definition in the eSQL query text. + + + + Entity SQL Parser result information. + + + + A command tree produced during parsing. + + + + List of objects describing query inline function definitions. + + + + + FieldMetadata class providing the correlation between the column ordinals and MemberMetadata. + + + + + Initializes a new object with the specified ordinal value and field type. + + An integer specified the location of the metadata. + The field type. + + + + Gets the type of field for this object. + + + The type of field for this object. + + + + + Gets the ordinal for this object. + + An integer representing the ordinal value. + + + + Get the hierarchyid value of a column with the given ordinal + + The ordinal of the column to retrieve the value + The hierarchyid value + + + + Class representing a parameter collection used in EntityCommand + + + + + Gets an Integer that contains the number of elements in the + + . + + + The number of elements in the as an Integer. + + + + + Gets a value that indicates whether the + + has a fixed size. + + + Returns true if the has a fixed size; otherwise false. + + + + + Gets a value that indicates whether the + + is read-only. + + + Returns true if the is read only; otherwise false. + + + + + Gets a value that indicates whether the + + is synchronized. + + + Returns true if the is synchronized; otherwise false. + + + + + Gets an object that can be used to synchronize access to the + + . + + + An object that can be used to synchronize access to the + + . + + + + + Adds the specified object to the . + + + The index of the new object. + + + An . + + + + + Adds an array of values to the end of the + + . + + + The values to add. + + + + + Removes all the objects from the + + . + + + + + Determines whether the specified is in this + + . + + + true if the contains the value; otherwise false. + + + The value. + + + + + Copies all the elements of the current to the specified one-dimensional + + starting at the specified destination index. + + + The one-dimensional that is the destination of the elements copied from the current + + . + + + A 32-bit integer that represents the index in the at which copying starts. + + + + + Returns an enumerator that iterates through the + + . + + + An for the + + . + + + + + + + + + + + Gets the location of the specified with the specified name. + + + The zero-based location of the specified with the specified case-sensitive name. Returns -1 when the object does not exist in the + + . + + + The case-sensitive name of the to find. + + + + + Gets the location of the specified in the collection. + + + The zero-based location of the specified that is a + + in the collection. Returns -1 when the object does not exist in the + + . + + + The to find. + + + + + Inserts an into the + + at the specified index. + + The zero-based index at which value should be inserted. + + An to be inserted in the + + . + + + + Removes the specified parameter from the collection. + + A object to remove from the collection. + + + + + Removes the from the + + at the specified index. + + + The zero-based index of the object to remove. + + + + + Removes the from the + + at the specified parameter name. + + + The name of the to remove. + + + + + + + + + + + Gets the at the specified index. + + + The at the specified index. + + The zero-based index of the parameter to retrieve. + The specified index does not exist. + + + + Gets the with the specified name. + + + The with the specified name. + + The name of the parameter to retrieve. + The specified name does not exist. + + + + Adds the specified object to the + + . + + + A new object. + + + The to add to the collection. + + + The specified in the value parameter is already added to this or another + + . + + + The parameter passed was not a . + + The value parameter is null. + + + + Adds a value to the end of the . + + + A object. + + The name of the parameter. + The value to be added. + + + + Adds a to the + + given the parameter name and the data type. + + + A new object. + + The name of the parameter. + + One of the values. + + + + + Adds a to the + + with the parameter name, the data type, and the column length. + + + A new object. + + The name of the parameter. + + One of the values. + + The column length. + + + + Adds an array of values to the end of the + + . + + + The values to add. + + + + + Determines whether the specified is in this + + . + + + true if the contains the value; otherwise false. + + + The value. + + + + + Copies all the elements of the current to the specified + + starting at the specified destination index. + + + The that is the destination of the elements copied from the current + + . + + + A 32-bit integer that represents the index in the + + at which copying starts. + + + + + Gets the location of the specified in the collection. + + + The zero-based location of the specified that is a + + in the collection. Returns -1 when the object does not exist in the + + . + + + The to find. + + + + + Inserts a object into the + + at the specified index. + + The zero-based index at which value should be inserted. + + A object to be inserted in the + + . + + + + + Removes the specified from the collection. + + + A object to remove from the collection. + + + The parameter is not a . + + The parameter does not exist in the collection. + + + + Class representing a command for the conceptual layer + + + + + Initializes a new instance of the class using the specified values. + + + + + Initializes a new instance of the class with the specified statement. + + The text of the command. + + + + Constructs the EntityCommand object with the given eSQL statement and the connection object to use + + The eSQL command text to execute + The connection object + Resolver used to resolve DbProviderServices + + + + Initializes a new instance of the class with the specified statement and connection. + + The text of the command. + A connection to the data source. + + + + Initializes a new instance of the class with the specified statement, connection and transaction. + + The text of the command. + A connection to the data source. + The transaction in which the command executes. + + + + Gets or sets the used by the + + . + + The connection used by the entity command. + + + + The connection object used for executing the command + + + + Gets or sets an Entity SQL statement that specifies a command or stored procedure to execute. + The Entity SQL statement that specifies a command or stored procedure to execute. + + + Gets or sets the command tree to execute; only one of the command tree or the command text can be set, not both. + The command tree to execute. + + + Gets or sets the amount of time to wait before timing out. + The time in seconds to wait for the command to execute. + + + + Gets or sets a value that indicates how the + + property is to be interpreted. + + + One of the enumeration values. + + + + Gets the parameters of the Entity SQL statement or stored procedure. + The parameters of the Entity SQL statement or stored procedure. + + + + The collection of parameters for this command + + + + + Gets or sets the transaction within which the executes. + + + The transaction within which the executes. + + + + + The transaction that this command executes in + + + + Gets or sets how command results are applied to rows being updated. + + One of the values. + + + + Gets or sets a value that indicates whether the command object should be visible in a Windows Form Designer control. + true if the command object should be visible in a Windows Form Designer control; otherwise, false. + + + Gets or sets a value that indicates whether the query plan caching is enabled. + true if the query plan caching is enabled; otherwise, false. + + + + Cancels the execution of an . + + + + + Creates a new instance of an object. + + + A new instance of an object. + + + + + Create and return a new parameter object representing a parameter in the eSQL statement + + The parameter object. + + + Executes the command and returns a data reader. + + The that contains the results. + + + + + Compiles the into a command tree and passes it to the underlying store provider for execution, then builds an + + out of the produced result set using the specified + + . + + + The that contains the results. + + + One of the values. + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + The behavior to use when executing the command + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + The behavior to use when executing the command + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Executes the command and returns a data reader for reading the results + + The behavior to use when executing the command + A DbDataReader object + + + + Asynchronously executes the command and returns a data reader for reading the results + + The behavior to use when executing the command + The token to monitor for cancellation requests + + A task that represents the asynchronous operation. + The task result contains a DbDataReader object. + + + + Executes the current command. + The number of rows affected. + + + + Asynchronously executes the command and discard any results returned from the command + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + Executes the command, and returns the first column of the first row in the result set. Additional columns or rows are ignored. + The first column of the first row in the result set, or a null reference (Nothing in Visual Basic) if the result set is empty. + + + Compiles the entity-level command and creates a prepared version of the command. + + + Compiles the entity-level command and returns the store command text. + The store command text. + + + + Class representing a connection for the conceptual layer. An entity connection may only + be initialized once (by opening the connection). It is subsequently not possible to change + the connection string, attach a new store connection, or change the store connection string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, based on the connection string. + + The provider-specific connection string. + An invalid connection string keyword has been provided, or a required connection string keyword has not been provided. + + + + Initializes a new instance of the class with a specified + and + . + + + A to be associated with this + . + + + The underlying data source connection for this object. + + The workspace or connection parameter is null. + The conceptual model is missing from the workspace.-or-The mapping file is missing from the workspace.-or-The storage model is missing from the workspace.-or-The connection is not in a closed state. + The connection is not from an ADO.NET Entity Framework-compatible provider. + + + + Constructs the EntityConnection from Metadata loaded in memory + + Workspace containing metadata information. + Store connection. + If set to true the store connection is disposed when the entity connection is disposed, otherwise the caller must dispose the store connection. + + + + Gets or sets the connection string. + + The connection string required to establish the initial connection to a data source. The default value is an empty string. On a closed connection, the currently set value is returned. If no value has been set, an empty string is returned. + + An attempt was made to set the property after the + + ’s was initialized. The + + is initialized either when the instance is constructed through the overload that takes a + + as a parameter, or when the + + instance has been opened. + + An invalid connection string keyword has been provided or a required connection string keyword has not been provided. + + + Gets the number of seconds to wait when attempting to establish a connection before ending the attempt and generating an error. + The time (in seconds) to wait for a connection to open. The default value is the underlying data provider's default time-out. + The value set is less than 0. + + + Gets the name of the current database, or the database that will be used after a connection is opened. + The value of the Database property of the underlying data provider. + The underlying data provider is not known. + + + + Gets the state of the EntityConnection, which is set up to track the state of the underlying + database connection that is wrapped by this EntityConnection. + + + + Gets the name or network address of the data source to connect to. + The name of the data source. The default value is an empty string. + The underlying data provider is not known. + + + Gets a string that contains the version of the data source to which the client is connected. + The version of the data source that is contained in the provider connection string. + The connection is closed. + + + + Gets the provider factory associated with EntityConnection + + + + + Provides access to the underlying data source connection that is used by the + + object. + + + The for the data source connection. + + + + + Returns the associated with this + + . + + + The associated with this + + . + + The inline connection string contains an invalid Metadata keyword value. + + + + Gets the current transaction that this connection is enlisted in. May be null. + + + + Establishes a connection to the data source by calling the underlying data provider's Open method. + An error occurs when you open the connection, or the name of the underlying data provider is not known. + The inline connection string contains an invalid Metadata keyword value. + + + + Asynchronously establishes a connection to the data store by calling the Open method on the underlying data provider + + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a new instance of an , with the + + set to this + + . + + + An object. + + The name of the underlying data provider is not known. + + + + Create a new command object that uses this connection object + + The command object. + + + Closes the connection to the database. + An error occurred when closing the connection. + + + Not supported. + Not supported. + When the method is called. + + + Begins a transaction by using the underlying provider. + + A new . The returned + + instance can later be associated with the + + to execute the command under that transaction. + + + The underlying provider is not known.-or-The call to + + was made on an + + that already has a current transaction.-or-The state of the + + is not + + . + + + + Begins a transaction with the specified isolation level by using the underlying provider. + + A new . The returned + + instance can later be associated with the + + to execute the command under that transaction. + + The isolation level of the transaction. + + The underlying provider is not known.-or-The call to + + was made on an + + that already has a current transaction.-or-The state of the + + is not + + . + + + + + Begins a database transaction + + The isolation level of the transaction + An object representing the new transaction + + + + Enlists this in the specified transaction. + + The transaction object to enlist into. + + The state of the is not + + . + + + + + Cleans up this connection object + + true to release both managed and unmanaged resources; false to release only unmanaged resources + + + + Class representing a connection string builder for the entity client provider + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class using the supplied connection string. + + A provider-specific connection string to the underlying data source. + + + Gets or sets the name of a section as defined in a configuration file. + The name of a section in a configuration file. + + + Gets or sets the name of the underlying .NET Framework data provider in the connection string. + The invariant name of the underlying .NET Framework data provider. + + + Gets or sets the metadata locations in the connection string. + Gets or sets the metadata locations in the connection string. + + + Gets or sets the inner, provider-specific connection string. + The inner, provider-specific connection string. + + + + Gets a value that indicates whether the + + has a fixed size. + + + Returns true in every case, because the + + supplies a fixed-size collection of keyword/value pairs. + + + + + Gets an that contains the keys in the + + . + + + An that contains the keys in the + + . + + + + Gets or sets the value associated with the specified key. In C#, this property is the indexer. + The value associated with the specified key. + The key of the item to get or set. + keyword is a null reference (Nothing in Visual Basic). + Tried to add a key that does not exist in the available keys. + Invalid value in the connection string (specifically, a Boolean or numeric value was expected but not supplied). + + + + Clears the contents of the instance. + + + + + Determines whether the contains a specific key. + + + Returns true if the contains an element that has the specified key; otherwise, false. + + + The key to locate in the . + + + + + Retrieves a value corresponding to the supplied key from this + + . + + Returns true if keyword was found in the connection string; otherwise, false. + The key of the item to retrieve. + The value corresponding to keyword. + keyword contains a null value (Nothing in Visual Basic). + + + + Removes the entry with the specified key from the + + instance. + + Returns true if the key existed in the connection string and was removed; false if the key did not exist. + + The key of the keyword/value pair to be removed from the connection string in this + + . + + keyword is null (Nothing in Visual Basic) + + + + A data reader class for the entity client provider + + + + Gets a value indicating the depth of nesting for the current row. + The depth of nesting for the current row. + + + Gets the number of columns in the current row. + The number of columns in the current row. + + + + Gets a value that indicates whether this contains one or more rows. + + + true if the contains one or more rows; otherwise, false. + + + + + Gets a value indicating whether the is closed. + + + true if the is closed; otherwise, false. + + + + Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. + The number of rows changed, inserted, or deleted. Returns -1 for SELECT statements; 0 if no rows were affected or the statement failed. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The name of the column. + + + + Gets the number of fields in the that are not hidden. + + The number of fields that are not hidden. + + + + Gets for this + + . + + The information of a data record. + + + + Closes the object. + + + + + Releases the resources consumed by this and calls + + . + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets the value of the specified column as a Boolean. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a byte. + The value of the specified column. + The zero-based column ordinal. + + + Reads a stream of bytes from the specified column, starting at location indicated by dataIndex , into the buffer, starting at the location indicated by bufferIndex . + The actual number of bytes read. + The zero-based column ordinal. + The index within the row from which to begin the read operation. + The buffer into which to copy the data. + The index with the buffer to which the data will be copied. + The maximum number of characters to read. + + + Gets the value of the specified column as a single character. + The value of the specified column. + The zero-based column ordinal. + + + Reads a stream of characters from the specified column, starting at location indicated by dataIndex , into the buffer, starting at the location indicated by bufferIndex . + The actual number of characters read. + The zero-based column ordinal. + The index within the row from which to begin the read operation. + The buffer into which to copy the data. + The index with the buffer to which the data will be copied. + The maximum number of characters to read. + + + Gets the name of the data type of the specified column. + The name of the data type. + The zero-based column ordinal. + + + + Gets the value of the specified column as a object. + + The value of the specified column. + The zero-based column ordinal. + + + + Returns a object for the requested column ordinal that can be overridden with a provider-specific implementation. + + A data reader. + The zero-based column ordinal. + + + + Gets the value of the specified column as a object. + + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a double-precision floating point number. + The value of the specified column. + The zero-based column ordinal. + + + Gets the data type of the specified column. + The data type of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a single-precision floating point number. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a globally-unique identifier (GUID). + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 16-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 32-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 64-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the name of the column, given the zero-based column ordinal. + The name of the specified column. + The zero-based column ordinal. + + + Gets the column ordinal given the name of the column. + The zero-based column ordinal. + The name of the column. + The name specified is not a valid column name. + + + Returns the provider-specific field type of the specified column. + + The object that describes the data type of the specified column. + + The zero-based column ordinal. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + Gets all provider-specific attribute columns in the collection for the current row. + + The number of instances of in the array. + + + An array of into which to copy the attribute columns. + + + + + Returns a that describes the column metadata of the + + . + + + A that describes the column metadata. + + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + Populates an array of objects with the column values of the current row. + + The number of instances of in the array. + + + An array of into which to copy the attribute columns. + + + + Gets a value that indicates whether the column contains nonexistent or missing values. + + true if the specified column is equivalent to ; otherwise, false. + + The zero-based column ordinal. + + + Advances the reader to the next result when reading the results of a batch of statements. + true if there are more result sets; otherwise, false. + + + + Asynchronously moves the reader to the next result set when reading a batch of statements + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if there are more result sets; false otherwise. + + + + Advances the reader to the next record in a result set. + true if there are more rows; otherwise, false. + + + + Asynchronously moves the reader to the next row of the current result set + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if there are more rows; false otherwise. + + + + + Returns an that can be used to iterate through the rows in the data reader. + + + An that can be used to iterate through the rows in the data reader. + + + + + Returns a nested . + + The nested data record. + The number of the DbDataRecord to return. + + + + Returns nested readers as objects. + + + The nested readers as objects. + + The ordinal of the column. + + + + Class representing a parameter used in EntityCommand + + + + + Initializes a new instance of the class using the default values. + + + + + Initializes a new instance of the class using the specified parameter name and data type. + + The name of the parameter. + + One of the values. + + + + + Initializes a new instance of the class using the specified parameter name, data type and size. + + The name of the parameter. + + One of the values. + + The size of the parameter. + + + + Initializes a new instance of the class using the specified properties. + + The name of the parameter. + + One of the values. + + The size of the parameter. + The name of the source column. + + + + Initializes a new instance of the class using the specified properties. + + The name of the parameter. + + One of the values. + + The size of the parameter. + + One of the values. + + true to indicate that the parameter accepts null values; otherwise, false. + The number of digits used to represent the value. + The number of decimal places to which value is resolved. + The name of the source column. + + One of the values. + + The value of the parameter. + + + Gets or sets the name of the entity parameter. + The name of the entity parameter. + + + + Gets or sets the of the parameter. + + + One of the values. + + + + Gets or sets the type of the parameter, expressed as an EdmType. + The type of the parameter, expressed as an EdmType. + + + + Gets or sets the number of digits used to represent the + + property. + + The number of digits used to represent the value. + + + + Gets or sets the number of decimal places to which + + is resolved. + + The number of decimal places to which value is resolved. + + + Gets or sets the value of the parameter. + The value of the parameter. + + + Gets or sets the direction of the parameter. + + One of the values. + + + + Gets or sets a value that indicates whether the parameter accepts null values. + true if null values are accepted; otherwise, false. + + + Gets or sets the maximum size of the data within the column. + The maximum size of the data within the column. + + + + Gets or sets the name of the source column mapped to the and used for loading or returning the + + . + + The name of the source column mapped to the dataset and used for loading or returning the value. + + + Gets or sets a value that indicates whether source column is nullable. + true if source column is nullable; otherwise, false. + + + + Gets or sets the to use when loading the value. + + + One of the values. + + + + + Resets the type associated with the . + + + + Returns a string representation of the parameter. + A string representation of the parameter. + + + + Class representing a provider factory for the entity client provider + + + + + A singleton object for the entity client provider factory object. + This remains a public field (not property) because DbProviderFactory expects a field. + + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Throws a . This method is currently not supported. + + This method is currently not supported. + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Throws a . This method is currently not supported. + + This method is currently not supported. + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Throws a . This method is currently not supported. + + This method is currently not supported. + This method is currently not supported. + + + + Returns the requested class. + + + A new instance of . The supported types are + + , + + , and + + . Returns null (or Nothing in Visual Basic) for every other type. + + + The to return. + + + + + Class representing a transaction for the conceptual layer + + + + + Gets for this + + . + + + An to the underlying data source. + + + + + The connection object owning this transaction object + + + + + Gets the isolation level of this . + + + An enumeration value that represents the isolation level of the underlying transaction. + + + + + Gets the DbTransaction for the underlying provider transaction. + + + + Commits the underlying transaction. + + + Rolls back the underlying transaction. + + + + Cleans up this transaction object + + true to release both managed and unmanaged resources; false to release only unmanaged resources + + + + Represents a failure while trying to prepare or execute a CommandCompilation + This exception is intended to provide a common exception that people can catch to + hold provider exceptions (SqlException, OracleException) when using the EntityCommand + to execute statements. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The message that describes the error. + + + + Initializes a new instance of . + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents a failure while trying to prepare or execute a CommandExecution + This exception is intended to provide a common exception that people can catch to + hold provider exceptions (SqlException, OracleException) when using the EntityCommand + to execute statements. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The message that describes the error. + + + + Initializes a new instance of . + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Provider exception - Used by the entity client. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) 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. + + + + + An identifier for an entity. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with an entity set name and a generic + + collection. + + + A that is the entity set name qualified by the entity container name. + + + A generic collection.Each key/value pair has a property name as the key and the value of that property as the value. There should be one pair for each property that is part of the + + . The order of the key/value pairs is not important, but each key property should be included. The property names are simple names that are not qualified with an entity type name or the schema name. + + + + + Initializes a new instance of the class with an entity set name and an + + collection of + + objects. + + + A that is the entity set name qualified by the entity container name. + + + An collection of + + objects with which to initialize the key. + + + + + Initializes a new instance of the class with an entity set name and specific entity key pair. + + + A that is the entity set name qualified by the entity container name. + + + A that is the name of the key. + + + An that is the key value. + + + + + Gets a singleton EntityKey by which a read-only entity is identified. + + + + + Gets a singleton EntityKey identifying an entity resulted from a failed TREAT. + + + + Gets or sets the name of the entity set. + + A value that is the name of the entity set for the entity to which the + + belongs. + + + + Gets or sets the name of the entity container. + + A value that is the name of the entity container for the entity to which the + + belongs. + + + + + Gets or sets the key values associated with this . + + + A of key values for this + + . + + + + + Gets a value that indicates whether the is temporary. + + + true if the is temporary; otherwise, false. + + + + Gets the entity set for this entity key from the given metadata workspace. + + The for the entity key. + + The metadata workspace that contains the entity. + The entity set could not be located in the specified metadata workspace. + + + Returns a value that indicates whether this instance is equal to a specified object. + true if this instance and obj have equal values; otherwise, false. + + An to compare with this instance. + + + + + Returns a value that indicates whether this instance is equal to a specified + + . + + true if this instance and other have equal values; otherwise, false. + + An object to compare with this instance. + + + + + Serves as a hash function for the current object. + + is suitable for hashing algorithms and data structures such as a hash table. + + + A hash code for the current . + + + + + Compares two objects. + + true if the key1 and key2 values are equal; otherwise, false. + + A to compare. + + + A to compare. + + + + + Compares two objects. + + true if the key1 and key2 values are not equal; otherwise, false. + + A to compare. + + + A to compare. + + + + + Helper method that is used to deserialize an . + + Describes the source and destination of a given serialized stream, and provides an additional caller-defined context. + + + + Helper method that is used to deserialize an . + + Describes the source and destination of a given serialized stream and provides an additional caller-defined context. + + + + Information about a key that is part of an EntityKey. + A key member contains the key name and value. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified entity key pair. + + The name of the key. + The key value. + + + Gets or sets the name of the entity key. + The key name. + + + Gets or sets the value of the entity key. + The key value. + + + Returns a string representation of the entity key. + A string representation of the entity key. + + + + Represents an eSQL Query compilation exception; + The class of exceptional conditions that may cause this exception to be raised are mainly: + 1) Syntax Errors: raised during query text parsing and when a given query does not conform to eSQL formal grammar; + 2) Semantic Errors: raised when semantic rules of eSQL language are not met such as metadata or schema information + not accurate or not present, type validation errors, scoping rule violations, user of undefined variables, etc. + For more information, see eSQL Language Spec. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of the class that uses 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 caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + Gets a description of the error. + A string that describes the error. + + + Gets the approximate context where the error occurred, if available. + A string that describes the approximate context where the error occurred, if available. + + + Gets the approximate line number where the error occurred. + An integer that describes the line number where the error occurred. + + + Gets the approximate column number where the error occurred. + An integer that describes the column number where the error occurred. + + + + 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. + + + + DataRecord interface supporting structured types and rich metadata information. + + + + + Gets for this + + . + + + A object. + + + + + Gets a object with the specified index. + + + A object. + + The index of the row. + + + + Returns nested readers as objects. + + + Nested readers as objects. + + The ordinal of the column. + + + + Thrown to indicate that a command tree is invalid. + + + + + Initializes a new instance of the class with a default message. + + + + + Initializes a new instance of the class with the specified message. + + The exception message. + + + + Initializes a new instance of the class with the specified message and inner exception. + + The exception message. + + The exception that is the cause of this . + + + + + Mapping exception class. Note that this class has state - so if you change even + its internals, it can be a breaking change + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents the Mapping metadata for an AssociationSet in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for the AssociationSetMapping elements in the + above example. And it is possible to access the AssociationTypeMap underneath it. + There will be only one TypeMap under AssociationSetMap. + + + + + Initializes a new AssociationSetMapping instance. + + The association set to be mapped. + The store entity set to be mapped. + The parent container mapping. + + + + Gets the association set that is mapped. + + + + + Gets the contained association type mapping. + + + + + Gets or sets the corresponding function mapping. Can be null. + + + + + Gets the store entity set that is mapped. + + + + + Gets or sets the source end property mapping. + + + + + Gets or sets the target end property mapping. + + + + + Gets the property mapping conditions. + + + + + Adds a property mapping condition. + + The condition to add. + + + + Removes a property mapping condition. + + The property mapping condition to remove. + + + + Describes modification function mappings for an association set. + + + + + Initializes a new AssociationSetModificationFunctionMapping instance. + + An association set. + A delete function mapping. + An insert function mapping. + + + + Gets the association set. + + + + + Gets the delete function mapping. + + + + + Gets the insert function mapping. + + + + + + + + Represents the Mapping metadata for an association type map in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ComplexTypeMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all association Type map elements in the + above example. Users can access the table mapping fragments under the + association type mapping through this class. + + + + + Creates an AssociationTypeMapping instance. + + The AssociationSetMapping that + the contains this AssociationTypeMapping. + + + + Gets the AssociationSetMapping that contains this AssociationTypeMapping. + + + + + Gets the association type being mapped. + + + + + Gets the single mapping fragment. + + + + + Mapping metadata for Complex properties. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the complex property map elements in the + above example. ComplexPropertyMaps contain ComplexTypeMaps which define mapping based + on the type of the ComplexProperty in case of inheritance. + + + + + Construct a new Complex Property mapping object + + The MemberMetadata object that represents this Complex member + + + + Gets a read only collections of type mappings corresponding to the + nested complex types. + + + + + Adds a type mapping corresponding to a nested complex type. + + The complex type mapping to be added. + + + + Removes a type mapping corresponding to a nested complex type. + + The complex type mapping to be removed. + + + + Mapping metadata for Complex Types. + + + + + Creates a ComplexTypeMapping instance. + + The ComplexType being mapped. + + + + Gets the ComplexType being mapped. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Mapping metadata for Conditional property mapping on a type. + Condition Property Mapping specifies a Condition either on the C side property or S side property. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ConditionPropertyMap ( constant value-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ConditionPropertyMap ( constant value-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the condition property map elements in the + above example. + + + + + Gets an EdmProperty that specifies the mapped property. + + + + + Gets an EdmProperty that specifies the mapped column. + + + + + Mapping metadata for End property of an association. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the end property map elements in the + above example. EndPropertyMaps provide mapping for each end of the association. + + + + + Creates an association end property mapping. + + An AssociationEndMember that specifies + the association end to be mapped. + + + + Gets an AssociationEndMember that specifies the mapped association end. + + + + + Gets a ReadOnlyCollection of ScalarPropertyMapping that specifies the children + of this association end property mapping. + + + + + Adds a child property-column mapping. + + A ScalarPropertyMapping that specifies + the property-column mapping to be added. + + + + Removes a child property-column mapping. + + A ScalarPropertyMapping that specifies + the property-column mapping to be removed. + + + + Represents the Mapping metadata for the EntityContainer map in CS space. + Only one EntityContainerMapping element is allowed in the MSL file for CS mapping. + + + For Example if conceptually you could represent the CS MSL file as following + ---Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --AssociationSetMapping + The type represents the metadata for EntityContainerMapping element in the above example. + The EntitySetBaseMapping elements that are children of the EntityContainerMapping element + can be accessed through the properties on this type. + + + We currently assume that an Entity Container on the C side + is mapped to a single Entity Container in the S - space. + + + + + Initializes a new EntityContainerMapping instance. + + The conceptual entity container to be mapped. + The store entity container to be mapped. + The parent mapping item collection. + Flag indicating whether to generate update views. + + + + Gets the parent mapping item collection. + + + + + Gets the type kind for this item + + + + + Gets the conceptual entity container. + + + + + Gets the store entity container. + + + + + Gets the entity set mappings. + + + + + Gets the association set mappings. + + + + + Gets the function import mappings. + + + + + Gets a flag that indicates whether to generate the update views or not. + + + + + Adds an entity set mapping. + + The entity set mapping to add. + + + + Removes an association set mapping. + + The association set mapping to remove. + + + + Adds an association set mapping. + + The association set mapping to add. + + + + Removes an association set mapping. + + The association set mapping to remove. + + + + Adds a function import mapping. + + The function import mapping to add. + + + + Removes a function import mapping. + + The function import mapping to remove. + + + + Represents the Mapping metadata for an Extent in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for all the extent map elements in the + above example namely EntitySetMapping, AssociationSetMapping and CompositionSetMapping. + The EntitySetBaseMapping elements that are children of the EntityContainerMapping element + can be accessed through the properties on this type. + + + + + Gets the parent container mapping. + + + + + Gets or sets the query view associated with this mapping. + + + + + Represents the Mapping metadata for an EntitySet in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for the EntitySetMapping elements in the + above example. And it is possible to access the EntityTypeMaps underneath it. + + + + + Initializes a new EntitySetMapping instance. + + The entity set to be mapped. + The parent container mapping. + + + + Gets the entity set that is mapped. + + + + + Gets the contained entity type mappings. + + + + + Gets the corresponding function mappings. + + + + + Adds a type mapping. + + The type mapping to add. + + + + Removes a type mapping. + + The type mapping to remove. + + + + Adds a function mapping. + + The function mapping to add. + + + + Removes a function mapping. + + The function mapping to remove. + + + + Mapping metadata for Entity type. + If an EntitySet represents entities of more than one type, than we will have + more than one EntityTypeMapping for an EntitySet( For ex : if + PersonSet Entity extent represents entities of types Person and Customer, + than we will have two EntityType Mappings under mapping for PersonSet). + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all entity Type map elements in the + above example. Users can access the table mapping fragments under the + entity type mapping through this class. + + + + + Creates an EntityTypeMapping instance. + + The EntitySetMapping that contains this EntityTypeMapping. + + + + Gets the EntitySetMapping that contains this EntityTypeMapping. + + + + + Gets the single EntityType being mapped. Throws exception in case of hierarchy type mapping. + + + + + Gets a flag that indicates whether this is a type hierarchy mapping. + + + + + Gets a read-only collection of mapping fragments. + + + + + Gets the mapped entity types. + + + + + Gets the mapped base types for a hierarchy mapping. + + + + + Adds an entity type to the mapping. + + The EntityType to be added. + + + + Removes an entity type from the mapping. + + The EntityType to be removed. + + + + Adds an entity type hierarchy to the mapping. + The hierarchy is represented by the specified root entity type. + + The root EntityType of the hierarchy to be added. + + + + Removes an entity type hierarchy from the mapping. + The hierarchy is represented by the specified root entity type. + + The root EntityType of the hierarchy to be removed. + + + + Adds a mapping fragment. + + The mapping fragment to be added. + + + + Removes a mapping fragment. + + The mapping fragment to be removed. + + + + Describes modification function mappings for an entity type within an entity set. + + + + + Initializes a new EntityTypeModificationFunctionMapping instance. + + An entity type. + A delete function mapping. + An insert function mapping. + An updated function mapping. + + + + Gets the entity type. + + + + + Gets the delete function mapping. + + + + + Gets the insert function mapping. + + + + + Gets the update function mapping. + + + + + + + + Base class for the type created at design time to store the generated views. + + + + Returns the key/value pair at the specified index, which contains the view and its key. + The key/value pair at index , which contains the view and its key. + The index of the view. + + + + Gets or sets the name of . + + The container name. + + + + Gets or sets in storage schema. + + Container name. + + + Hash value. + Hash value. + + + Hash value of views. + Hash value. + + + Gets or sets view count. + View count. + + + + Attribute to mark the assemblies that contain the generated views type. + + + + + Initializes a new instance of the class. + + The view type. + + + Gets the T:System.Type of the view. + The T:System.Type of the view. + + + + Represents a complex type mapping for a function import result. + + + + + Initializes a new FunctionImportComplexTypeMapping instance. + + The return type. + The property mappings for the result type of a function import. + + + + Ges the return type. + + + + + Represents a function import entity type mapping. + + + + + Initializes a new FunctionImportEntityTypeMapping instance. + + The entity types at the base of + the type hierarchies to be mapped. + The entity types to be mapped. + The property mappings for the result types of a function import. + The mapping conditions. + + + + Gets the entity types being mapped. + + + + + Gets the entity types at the base of the hierarchies being mapped. + + + + + Gets the mapping conditions. + + + + + Represents a mapping condition for a function import result. + + + + + Gets the name of the column used to evaluate the condition. + + + + + + + + Represents a mapping condition for the result of a function import + evaluated by checking null or not null. + + + + + Initializes a new FunctionImportEntityTypeMappingConditionIsNull instance. + + The name of the column used to evaluate the condition. + Flag that indicates whether a null or not null check is performed. + + + + Gets a flag that indicates whether a null or not null check is performed. + + + + + Represents a mapping condition for the result of a function import, + evaluated by comparison with a specified value. + + + + + Initializes a new FunctionImportEntityTypeMappingConditionValue instance. + + The name of the column used to evaluate the condition. + The value to compare with. + + + + Gets the value used for comparison. + + + + + Represents a mapping from a model function import to a store composable or non-composable function. + + + + + Gets model function (or source of the mapping) + + + + + Gets store function (or target of the mapping) + + + + + Represents a mapping from a model function import to a store composable function. + + + + + Initializes a new FunctionImportMappingComposable instance. + + The model function import. + The store composable function. + The result mapping for the function import. + The parent container mapping. + + + + Gets the result mapping for the function import. + + + + + Represents a mapping from a model function import to a store non-composable function. + + + + + Initializes a new FunctionImportMappingNonComposable instance. + + The model function import. + The store non-composable function. + The function import result mappings. + The parent container mapping. + + + + Gets the function import result mappings. + + + + + Represents a result mapping for a function import. + + + + + Gets the type mappings. + + + + + Adds a type mapping. + + The type mapping to add. + + + + Removes a type mapping. + + The type mapping to remove. + + + + Base class for mapping a property of a function import return type. + + + + + Maps a function import return type property to a table column. + + + + + Initializes a new FunctionImportReturnTypeScalarPropertyMapping instance. + + The mapped property name. + The mapped column name. + + + + Gets the mapped property name. + + + + + Gets the mapped column name. + + + + + Specifies a function import structural type mapping. + + + + + Gets the property mappings for the result type of a function import. + + + + + Specifies a mapping condition evaluated by checking whether the value + of the a property/column is null or not null. + + + + + Creates an IsNullConditionMapping instance. + + An EdmProperty that specifies a property or column. + A boolean that indicates whether to perform a null or a not-null check. + + + + Gets a bool that specifies whether the condition is evaluated by performing a null check + or a not-null check. + + + + + Represents the base item class for all the mapping metadata + + + + + Represents the metadata for mapping fragment. + A set of mapping fragments makes up the Set mappings( EntitySet, AssociationSet or CompositionSet ) + Each MappingFragment provides mapping for those properties of a type that map to a single table. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the mapping fragment elements in the + above example. Users can access all the top level constructs of + MappingFragment element like EntityKey map, Property Maps, Discriminator + property through this mapping fragment class. + + + + + Creates a MappingFragment instance. + + The EntitySet corresponding to the table of view being mapped. + The TypeMapping that contains this MappingFragment. + Flag that indicates whether to include 'DISTINCT' when generating queries. + + + + Gets the EntitySet corresponding to the table or view being mapped. + + + + + Gets the TypeMapping that contains this MappingFragment. + + + + + Gets a flag that indicates whether to include 'DISTINCT' when generating queries. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Base class for items in the mapping space (DataSpace.CSSpace) + + + + + Class for representing a collection of mapping items in Edm space. + + + + + Describes modification function binding for change processing of entities or associations. + + + + + Initializes a new ModificationFunctionMapping instance. + + The entity or association set. + The entity or association type. + The metadata of function to which we should bind. + Bindings for function parameters. + The output parameter producing number of rows affected. + Bindings for the results of function evaluation + + + + Gets output parameter producing number of rows affected. May be null. + + + + + Gets Metadata of function to which we should bind. + + + + + Gets bindings for function parameters. + + + + + Gets bindings for the results of function evaluation. + + + + + + + + Describes the location of a member within an entity or association type structure. + + + + + Initializes a new ModificationFunctionMemberPath instance. + + Gets the members in the path from the leaf (the member being bound) + to the root of the structure. + Gets the association set to which we are navigating + via this member. If the value is null, this is not a navigation member path. + + + + Gets the members in the path from the leaf (the member being bound) + to the Root of the structure. + + + + + Gets the association set to which we are navigating via this member. If the value + is null, this is not a navigation member path. + + + + + + + + Binds a modification function parameter to a member of the entity or association being modified. + + + + + Initializes a new ModificationFunctionParameterBinding instance. + + The parameter taking the value. + The path to the entity or association member defining the value. + A flag indicating whether the current or original member value is being bound. + + + + Gets the parameter taking the value. + + + + + Gets the path to the entity or association member defining the value. + + + + + Gets a flag indicating whether the current or original + member value is being bound. + + + + + + + + Defines a binding from a named result set column to a member taking the value. + + + + + Initializes a new ModificationFunctionResultBinding instance. + + The name of the column to bind from the function result set. + The property to be set on the entity. + + + + Gets the name of the column to bind from the function result set. + + + + + Gets the property to be set on the entity. + + + + + + + + Mapping metadata for all types of property mappings. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all property map elements in the + above example. This includes the scalar property maps, complex property maps + and end property maps. + + + + + Gets an EdmProperty that specifies the mapped property. + + + + + Mapping metadata for scalar properties. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the scalar property map elements in the + above example. + + + + + Creates a mapping between a simple property and a column. + + The property to be mapped. + The column to be mapped. + + + + Gets an EdmProperty that specifies the mapped column. + + + + + Represents a collection of items in Storage Mapping (CS Mapping) space. + + + + Initializes a new instance of the class using the specified , and a collection of string indicating the metadata file paths. + The that this mapping is to use. + The that this mapping is to use. + The file paths that this mapping is to use. + + + Initializes a new instance of the class using the specified , and XML readers. + The that this mapping is to use. + The that this mapping is to use. + The XML readers that this mapping is to use. + + + + Gets or sets a for creating instances + that are used to retrieve pre-generated mapping views. + + + + Gets the version of this represents. + The version of this represents. + + + + Computes a hash value for the container mapping specified by the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + A string that specifies the computed hash value. + + + + Computes a hash value for the single container mapping in the collection. + + A string that specifies the computed hash value. + + + + Creates a dictionary of (extent, generated view) for a container mapping specified by + the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + A list that accumulates potential errors. + + A dictionary of (, ) that specifies the generated views. + + + + + Creates a dictionary of (extent, generated view) for the single container mapping + in the collection. + + A list that accumulates potential errors. + + A dictionary of (, ) that specifies the generated views. + + + + + Factory method that creates a . + + + The edm metadata collection to map. Must not be null. + + + The store metadata collection to map. Must not be null. + + + MSL artifacts to load. Must not be null. + + + Paths to MSL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Specifies a structural type mapping. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Represents the Mapping metadata for a type map in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all the Type map elements in the + above example namely EntityTypeMapping, AssociationTypeMapping and CompositionTypeMapping. + The TypeMapping elements contain TableMappingFragments which in turn contain the property maps. + + + + + Specifies a mapping condition evaluated by comparing the value of + a property or column with a given value. + + + + + Creates a ValueConditionMapping instance. + + An EdmProperty that specifies a property or column. + An object that specifies the value to compare with. + + + + Gets an object that specifies the value to check against. + + + + + metadata exception class + + + + + Initializes a new instance of the class with a default message. + + + + + Initializes a new instance of the class with the specified message. + + The exception message. + + + + Initializes a new instance of the class with the specified message and inner exception. + + The exception message. + + The exception that is the cause of this . + + + + + Represents a end of a Association Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Creates a read-only AssociationEndMember instance. + + The name of the association end member. + The reference type for the end. + The multiplicity of the end. + Flag that indicates the delete behavior of the end. + Metadata properties to be associated with the instance. + The newly created AssociationEndMember instance. + The specified name is null or empty. + The specified reference type is null. + + + + Class for representing an Association set + + + + + Gets the association related to this . + + + An object that represents the association related to this + + . + + + + + Gets the ends of this . + + + A collection of type that contains the ends of this + + . + + + + + Gets the built-in type kind for this . + + + A object that represents built-in type kind for this + + . + + + + + Creates a read-only AssociationSet instance from the specified parameters. + + The name of the association set. + The association type of the elements in the association set. + The entity set for the source association set end. + The entity set for the target association set end. + Metadata properties to be associated with the instance. + The newly created AssociationSet instance. + The specified name is null or empty. + The specified association type is null. + + The entity type of one of the ends of the specified + association type does not match the entity type of the corresponding entity set end. + + + + + Class representing a AssociationSet End + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the parent association set of this . + + + An object that represents the parent association set of this + + . + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + + Gets the End member that this object corresponds to. + + + An object that represents the End member that this + + object corresponds to. + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + + Gets the name of the End for this . + + + The name of the End for this . + + + + + Gets the name of the End role for this . + + + The name of the End role for this . + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + Gets the entity set referenced by this End role. + + An object that represents the entity set referred by this End role. + + + + + Returns the name of the End role for this . + + + The name of the End role for this . + + + + + Describes an association/relationship between two entities in the conceptual model or a foreign key relationship + between two tables in the store model. In the conceptual model the dependant class may or may not define a foreign key property. + If a foreign key is defined the property will be true and the property will contain details of the foreign keys + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of ends for this . + + + A collection of type that contains the list of ends for this + + . + + + + Gets or sets the referential constraint. + The referential constraint. + + + + Gets the list of constraints for this . + + + A collection of type that contains the list of constraints for this + + . + + + + Gets the Boolean property value that specifies whether the column is a foreign key. + A Boolean value that specifies whether the column is a foreign key. If true, the column is a foreign key. If false (default), the column is not a foreign key. + + + + Creates a read-only AssociationType instance from the specified parameters. + + The name of the association type. + The namespace of the association type. + Flag that indicates a foreign key (FK) relationship. + The data space for the association type. + The source association end member. + The target association end member. + A referential constraint. + Metadata properties to be associated with the instance. + The newly created AssociationType instance. + The specified name is null or empty. + The specified namespace is null or empty. + + + + List of all the built in types + + + + + Association Type Kind + + + + + AssociationSetEnd Kind + + + + + AssociationSet Kind + + + + + Association Type Kind + + + + + EntitySetBase Kind + + + + + Entity Type Base Kind + + + + + Collection Type Kind + + + + + Collection Kind + + + + + Complex Type Kind + + + + + Documentation Kind + + + + + DeleteAction Type Kind + + + + + Edm Type Kind + + + + + Entity Container Kind + + + + + Entity Set Kind + + + + + Entity Type Kind + + + + + Enumeration Type Kind + + + + + Enum Member Kind + + + + + Facet Kind + + + + + EdmFunction Kind + + + + + Function Parameter Kind + + + + + Global Item Type Kind + + + + + Metadata Property Kind + + + + + Navigation Property Kind + + + + + Metadata Item Type Kind + + + + + EdmMember Type Kind + + + + + Parameter Mode Kind + + + + + Primitive Type Kind + + + + + Primitive Type Kind Kind + + + + + EdmProperty Type Kind + + + + + ProviderManifest Type Kind + + + + + Referential Constraint Type Kind + + + + + Ref Type Kind + + + + + RelationshipEnd Type Kind + + + + + Relationship Multiplicity Type Kind + + + + + Relationship Set Type Kind + + + + + Relationship Type + + + + + Row Type Kind + + + + + Simple Type Kind + + + + + Structural Type Kind + + + + + Type Information Kind + + + + + Kind of collection (applied to Properties) + + + + + Property is not a Collection + + + + + Collection has Bag semantics( unordered and duplicates ok) + + + + + Collection has List semantics + (Order is deterministic and duplicates ok) + + + + + Represents the Edm Collection Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the instance of the class that contains the type of the element that this current + + object includes and facets for that type. + + + The instance of the class that contains the type of the element that this current + + object includes and facets for that type. + + + + + Represents the Edm Complex Type. This can be used to configure complex types + from a conceptual-space model-based convention. Complex types are not supported in the store model. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of properties for this . + + + A collection of type that contains the list of properties for this + + . + + + + + Creates a new instance of the type. + + The name of the complex type. + The namespace of the complex type. + The dataspace to which the complex type belongs to. + Members of the complex type. + Metadata properties to be associated with the instance. + Thrown if either name, namespace or members argument is null. + + A new instance a the type. + + + The newly created will be read only. + + + + + The concurrency mode for properties. + + + + + Default concurrency mode: the property is never validated + at write time + + + + + Fixed concurrency mode: the property is always validated at + write time + + + + + Serializes an that conforms to the restrictions of a single + CSDL schema file to an XML writer. The model to be serialized must contain a single + . + + + + + Occurs when an error is encountered serializing the model. + + + + + Serialize the to the XmlWriter. + + + The EdmModel to serialize. + + The XmlWriter to serialize to. + The serialized model's namespace. + true if the model is valid; otherwise, false. + + + + Information about an error that occurred processing an Entity Framework model. + + + + + Gets an optional value indicating which property of the source item caused the event to be raised. + + + + + Gets an optional descriptive message the describes the error that is being raised. + + + + + Gets a value indicating the that caused the event to be raised. + + + + + DataSpace + + + + + OSpace indicates the item in the clr space + + + + + CSpace indicates the item in the CSpace - edm primitive types + + types defined in csdl + + + + + SSpace indicates the item in the SSpace + + + + + Mapping between OSpace and CSpace + + + + + Mapping between CSpace and SSpace + + + + + Extension methods for . + + + + + Gets the conceptual model from the specified DbModel. + + An instance of a class that implements IEdmModelAdapter (ex. DbModel). + An instance of EdmModel that represents the conceptual model. + + + + Gets the store model from the specified DbModel. + + An instance of a class that implements IEdmModelAdapter (ex. DbModel). + An instance of EdmModel that represents the store model. + + + + Class representing the Documentation associated with an item + + + + + Initializes a new Documentation instance. + + A summary string. + A long description string. + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the summary for this . + + + The summary for this . + + + + + Gets the long description for this . + + + The long description for this . + + + + + Gets a value indicating whether this object contains only a null or an empty + + and a + + . + + + true if this object contains only a null or an empty + + and a + + ; otherwise, false. + + + + + Returns the summary for this . + + + The summary for this . + + + + + This class encapsulates the error information for a generic EDM error. + + + + Gets the error message. + The error message. + + + + Class for representing a function + + + + + Gets the built-in type kind for this . + + + One of the enumeration values of the enumeration. + + + + Returns the full name (namespace plus name) of this type. + The full name of the type. + + + + Gets the parameters of this . + + + A collection of type that contains the parameters of this + + . + + + + + Adds a parameter to this function. + + The parameter to be added. + + + + Gets the return parameter of this . + + + A object that represents the return parameter of this + + . + + + + + Gets the return parameters of this . + + + A collection of type that represents the return parameters of this + + . + + + + Gets the store function name attribute of this function. + + + Gets the parameter type semantics attribute of this function. + + + Gets the aggregate attribute of this function. + + + + Gets a value indicating whether built in attribute is present on this function. + + + true if the attribute is present; otherwise, false. + + + + + Gets a value indicating whether this instance is from the provider manifest. + + + true if this instance is from the provider manifest; otherwise, false. + + + + + Gets a value indicating whether the is a niladic function (a function that accepts no arguments). + + + true if the function is niladic; otherwise, false. + + + + Gets whether this instance is mapped to a function or to a stored procedure. + true if this instance is mapped to a function; false if this instance is mapped to a stored procedure. + + + Gets a query in the language that is used by the database management system or storage model. + + A string value in the syntax used by the database management system or storage model that contains the query or update statement of the + + . + + + + Gets or sets the schema associated with the function. + The schema associated with the function. + + + + The factory method for constructing the object. + + The name of the function. + The namespace of the function. + The namespace the function belongs to. + Additional function attributes and properties. + Metadata properties that will be added to the function. Can be null. + + A new, read-only instance of the type. + + + + + Contains additional attributes and properties of the + + + Note that objects are short lived and exist only to + make initialization easier. Instance of this type are not + compared to each other and arrays returned by array properties are copied to internal + collections in the ctor. Therefore it is fine to suppress the + Code Analysis messages. + + + + Gets or sets the function schema. + The function schema. + + + Gets or sets the store function name. + The store function name. + + + Gets or sets the command text associated with the function. + The command text associated with the function. + + + Gets or sets the entity sets for the function. + The entity sets for the function. + + + Gets a value that indicates whether this is an aggregate function. + true if this is an aggregate function; otherwise, false. + + + Gets or sets whether this function is a built-in function. + true if this function is a built-in function; otherwise, false. + + + Gets or sets whether the function contains no arguments. + true if the function contains no arguments; otherwise, false. + + + Gets or sets whether this function can be composed. + true if this function can be composed; otherwise, false. + + + Gets or sets whether this function is from a provider manifest. + true if this function is from a provider manifest; otherwise, false. + + + Gets or sets whether this function is a cached store function. + true if this function is a cached store function; otherwise, false. + + + Gets or sets whether this function is a function import. + true if this function is a function import; otherwise, false. + + + Gets or sets the return parameters. + The return parameters. + + + Gets or sets the parameter type semantics. + The parameter type semantics. + + + Gets or sets the function parameters. + The function parameters. + + + + Class for representing a collection of items in Edm space. + + + + + Initializes a new instance of the class by using the collection of the XMLReader objects where the conceptual schema definition language (CSDL) files exist. + + The collection of the XMLReader objects where the conceptual schema definition language (CSDL) files exist. + + + Initializes a new instance of the class. + The entity data model. + + + + Initializes a new instance of the class by using the paths where the conceptual schema definition language (CSDL) files exist. + + The paths where the conceptual schema definition language (CSDL) files exist. + + + Gets the conceptual model version for this collection. + The conceptual model version for this collection. + + + + Returns a collection of the objects. + + + A ReadOnlyCollection object that represents a collection of the + + objects. + + + + + Returns a collection of the objects with the specified conceptual model version. + + + A ReadOnlyCollection object that represents a collection of the + + objects. + + The conceptual model version. + + + + Factory method that creates an . + + + CSDL artifacts to load. Must not be null. + + + Paths to CSDL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Represents the edm member class + + + + + Gets or sets the name of the property. Setting this from a store-space model-convention will change the name of the database + column for this property. In the conceptual model, this should align with the corresponding property from the entity class + and should not be changed. + + The name of this member. + + + Gets the type on which this member is declared. + + A object that represents the type on which this member is declared. + + + + + Gets the instance of the class that contains both the type of the member and facets for the type. + + + A object that contains both the type of the member and facets for the type. + + + + Returns the name of this member. + The name of this member. + + + + Tells whether this member is marked as a Computed member in the EDM definition + + + + + Tells whether this member's Store generated pattern is marked as Identity in the EDM definition + + + + + Represents a conceptual or store model. This class can be used to access information about the shape of the model + and the way the that it has been configured. + + + + Gets the built-in type kind for this type. + + A object that represents the built-in type kind for this type. + + + + + Gets the data space associated with the model, which indicates whether + it is a conceptual model (DataSpace.CSpace) or a store model (DataSpace.SSpace). + + + + + Gets the association types in the model. + + + + + Gets the complex types in the model. + + + + + Gets the entity types in the model. + + + + + Gets the enum types in the model. + + + + + Gets the functions in the model. + + + + + Gets the container that stores entity and association sets, and function imports. + + + + Gets the global items associated with the model. + The global items associated with the model. + + + + Adds an association type to the model. + + The AssociationType instance to be added. + + + + Adds a complex type to the model. + + The ComplexType instance to be added. + + + + Adds an entity type to the model. + + The EntityType instance to be added. + + + + Adds an enumeration type to the model. + + The EnumType instance to be added. + + + + Adds a function to the model. + + The EdmFunction instance to be added. + + + + Removes an association type from the model. + + The AssociationType instance to be removed. + + + + Removes a complex type from the model. + + The ComplexType instance to be removed. + + + + Removes an entity type from the model. + + The EntityType instance to be removed. + + + + Removes an enumeration type from the model. + + The EnumType instance to be removed. + + + + Removes a function from the model. + + The EdmFunction instance to be removed. + + + + In conceptual-space, EdmProperty represents a property on an Entity. + In store-space, EdmProperty represents a column in a table. + + + + Creates a new primitive property. + The newly created property. + The name of the property. + The type of the property. + + + Creates a new enum property. + The newly created property. + The name of the property. + The type of the property. + + + Creates a new complex property. + The newly created property. + The name of the property. + The type of the property. + + + + Creates a new instance of EdmProperty type. + + Name of the property. + + Property + + A new instance of EdmProperty type + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets a value indicating whether this can have a null value. + + + Nullability in the conceptual model and store model is a simple indication of whether or not + the property is considered nullable. Nullability in the object model is more complex. + When using convention based mapping (as usually happens with POCO entities), a property in the + object model is considered nullable if and only if the underlying CLR type is nullable and + the property is not part of the primary key. + When using attribute based mapping (usually used with entities that derive from the EntityObject + base class), a property is considered nullable if the IsNullable flag is set to true in the + attribute. This flag can + be set to true even if the underlying type is not nullable, and can be set to false even if the + underlying type is nullable. The latter case happens as part of default code generation when + a non-nullable property in the conceptual model is mapped to a nullable CLR type such as a string. + In such a case, the Entity Framework treats the property as non-nullable even though the CLR would + allow null to be set. + There is no good reason to set a non-nullable CLR type as nullable in the object model and this + should not be done even though the attribute allows it. + + + true if this can have a null value; otherwise, false. + + Thrown if the setter is called when the EdmProperty instance is in ReadOnly state + + + Gets the type name of the property. + The type name of the property. + + + + Gets the default value for this . + + + The default value for this . + + Thrown if the setter is called when the EdmProperty instance is in ReadOnly state + + + Gets whether the property is a collection type property. + true if the property is a collection type property; otherwise, false. + + + Gets whether this property is a complex type property. + true if this property is a complex type property; otherwise, false. + + + Gets whether this property is a primitive type. + true if this property is a primitive type; otherwise, false. + + + Gets whether this property is an enumeration type property. + true if this property is an enumeration type property; otherwise, false. + + + Gets whether this property is an underlying primitive type. + true if this property is an underlying primitive type; otherwise, false. + + + Gets the complex type information for this property. + The complex type information for this property. + + + Gets the primitive type information for this property. + The primitive type information for this property. + + + Gets the enumeration type information for this property. + The enumeration type information for this property. + + + Gets the underlying primitive type information for this property. + The underlying primitive type information for this property. + + + Gets or sets the concurrency mode for the property. + The concurrency mode for the property. + + + Gets or sets the database generation method for the database column associated with this property + The store generated pattern for the property. + + + Gets or sets the kind of collection for this model. + The kind of collection for this model. + + + Gets whether the maximum length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the maximum length of the property. + The maximum length of the property. + + + Gets or sets whether this property uses the maximum length supported by the provider. + true if this property uses the maximum length supported by the provider; otherwise, false. + + + Gets whether the fixed length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets whether the length of this property is fixed. + true if the length of this property is fixed; otherwise, false. + + + Gets whether the Unicode facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets whether this property is a Unicode property. + true if this property is a Unicode property; otherwise, false. + + + Gets whether the precision facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the precision of this property. + The precision of this property. + + + Gets whether the scale facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the scale of this property. + The scale of this property. + + + Sets the metadata properties. + The metadata properties to be set. + + + + This class encapsulates the error information for a schema error that was encountered. + + + + + Constructs a EdmSchemaError object. + + The explanation of the error. + The code associated with this error. + The severity of the error. + + + Returns the error message. + The error message. + + + Gets the error code. + The error code. + + + Gets the severity level of the error. + + One of the values. The default is + + . + + + + Gets the line number where the error occurred. + The line number where the error occurred. + + + Gets the column where the error occurred. + The column where the error occurred. + + + Gets the location of the schema that contains the error. This string also includes the name of the schema at the end. + The location of the schema that contains the error. + + + Gets the name of the schema that contains the error. + The name of the schema that contains the error. + + + Gets a string representation of the stack trace at the time the error occurred. + A string representation of the stack trace at the time the error occurred. + + + + Defines the different severities of errors that can occur when validating an Entity Framework model. + + + + + A warning that does not prevent the model from being used. + + + + + An error that prevents the model from being used. + + + + + Base EdmType class for all the model types + + + + Gets the name of this type. + The name of this type. + + + Gets the namespace of this type. + The namespace of this type. + + + Gets a value indicating whether this type is abstract or not. + true if this type is abstract; otherwise, false. + Thrown if the setter is called on instance that is in ReadOnly state + + + Gets the base type of this type. + The base type of this type. + Thrown if the setter is called on instance that is in ReadOnly state + Thrown if the value passed in for setter will create a loop in the inheritance chain + + + Gets the full name of this type. + The full name of this type. + + + Returns the full name of this type. + The full name of this type. + + + + Returns an instance of the whose element type is this type. + + + The object whose element type is this type. + + + + + Class for representing an entity container + + + + + Creates an entity container with the specified name and data space. + + The entity container name. + The entity container data space. + Thrown if the name argument is null. + Thrown if the name argument is empty string. + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets a list of entity sets and association sets that this + + includes. + + + A object that contains a list of entity sets and association sets that this + + includes. + + + + Gets the association sets for this entity container. + The association sets for this entity container . + + + Gets the entity sets for this entity container. + The entity sets for this entity container . + + + + Specifies a collection of elements. Each function contains the details of a stored procedure that exists in the database or equivalent CommandText that is mapped to an entity and its properties. + + + A that contains + + elements. + + + + + Returns an object by using the specified name for the entity set. + + + An object that represents the entity set that has the specified name. + + The name of the entity set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified name for the entity set. + + true if there is an entity set that matches the search criteria; otherwise, false. + The name of the entity set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, contains an object. If there is no entity set, this output parameter contains null. + + + + + Returns a object by using the specified name for the relationship set. + + + An object that represents the relationship set that has the specified name. + + The name of the relationship set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + + + Returns a object by using the specified name for the relationship set. + + true if there is a relationship set that matches the search criteria; otherwise, false. + The name of the relationship set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, contains a object. + + + + + Returns the name of this . + + + The name of this . + + + + + Adds the specified entity set to the container. + + The entity set to add. + + + Removes a specific entity set from the container. + The entity set to remove. + + + + Adds a function import to the container. + + The function import to add. + + + + The factory method for constructing the EntityContainer object. + + The name of the entity container to be created. + DataSpace in which this entity container belongs to. + Entity sets that will be included in the new container. Can be null. + Functions that will be included in the new container. Can be null. + Metadata properties to be associated with the instance. + The EntityContainer object. + Thrown if the name argument is null or empty string. + The newly created EntityContainer will be read only. + + + + Represents a particular usage of a structure defined in EntityType. In the conceptual-model, this represents a set that can + query and persist entities. In the store-model it represents a table. + From a store-space model-convention it can be used to configure + table name with property and table schema with property. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the entity type of this . + + + An object that represents the entity type of this + + . + + + + + The factory method for constructing the EntitySet object. + + The name of the EntitySet. + The db schema. Can be null. + The db table. Can be null. + + The provider specific query that should be used to retrieve data for this EntitySet. Can be null. + + The entity type of the entities that this entity set type contains. + + Metadata properties that will be added to the newly created EntitySet. Can be null. + + The EntitySet object. + Thrown if the name argument is null or empty string. + The newly created EntitySet will be read only. + + + + Class for representing a entity set + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets escaped provider specific SQL describing this entity set. + + + + + Gets or sets the name of the current entity or relationship set. + If this property is changed from store-space, the mapping layer must also be updated to reflect the new name. + To change the table name of a store space use the Table property. + + The name of the current entity or relationship set. + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + Gets the entity container of the current entity or relationship set. + + An object that represents the entity container of the current entity or relationship set. + + Thrown if the setter is called when the EntitySetBase instance or the EntityContainer passed into the setter is in ReadOnly state + + + + Gets the entity type of this . + + + An object that represents the entity type of this + + . + + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + + Gets or sets the database table name for this entity set. + + if value passed into setter is null + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + + Gets or sets the database schema for this entity set. + + if value passed into setter is null + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + Returns the name of the current entity or relationship set. + The name of the current entity or relationship set. + + + + Represents the structure of an . In the conceptual-model this represents the shape and structure + of an entity. In the store model this represents the structure of a table. To change the Schema and Table name use EntitySet. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + Gets the declared navigation properties associated with the entity type. + The declared navigation properties associated with the entity type. + + + + Gets the navigation properties of this . + + + A collection of type that contains the list of navigation properties on this + + . + + + + Gets the list of declared properties for the entity type. + The declared properties for the entity type. + + + Gets the collection of declared members for the entity type. + The collection of declared members for the entity type. + + + + Gets the list of properties for this . + + + A collection of type that contains the list of properties for this + + . + + + + + Returns a object that references this + + . + + + A object that references this + + . + + + + + The factory method for constructing the EntityType object. + + The name of the entity type. + The namespace of the entity type. + The dataspace in which the EntityType belongs to. + Name of key members for the type. + Members of the entity type (primitive and navigation properties). + Metadata properties to be associated with the instance. + The EntityType object. + Thrown if either name, namespace arguments are null. + The newly created EntityType will be read only. + + + + The factory method for constructing the EntityType object. + + The name of the entity type. + The namespace of the entity type. + The dataspace in which the EntityType belongs to. + The base type. + Name of key members for the type. + Members of the entity type (primitive and navigation properties). + Metadata properties to be associated with the instance. + The EntityType object. + Thrown if either name, namespace arguments are null. + The newly created EntityType will be read only. + + + + Adds the specified navigation property to the members of this type. + The navigation property is added regardless of the read-only flag. + + The navigation property to be added. + + + + Represents the Entity Type + + + + Gets the list of all the key members for the current entity or relationship type. + + A object that represents the list of key members for the current entity or relationship type. + + + + Gets the list of all the key properties for this entity type. + The list of all the key properties for this entity type. + + + + Adds the specified property to the list of keys for the current entity. + + The property to add. + if member argument is null + Thrown if the EntityType has a base type of another EntityTypeBase. In this case KeyMembers should be added to the base type + If the EntityType instance is in ReadOnly state + + + Removes the specified key member from the collection. + The key member to remove. + + + + Represents an enumeration member. + + + + Gets the kind of this type. + + + Gets the name of this enumeration member. + + + Gets the value of this enumeration member. + + + Overriding System.Object.ToString to provide better String representation for this type. + The name of this enumeration member. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Represents an enumeration type. + + + + Returns the kind of the type + + + Gets a collection of enumeration members for this enumeration type. + + + Gets a value indicating whether the enum type is defined as flags (i.e. can be treated as a bit field) + + + Gets the underlying type for this enumeration type. + + + + Creates a read-only EnumType instance. + + The name of the enumeration type. + The namespace of the enumeration type. + The underlying type of the enumeration type. + Indicates whether the enumeration type can be treated as a bit field; that is, a set of flags. + The members of the enumeration type. + Metadata properties to be associated with the enumeration type. + The newly created EnumType instance. + underlyingType is null. + + name is null or empty. + -or- + namespaceName is null or empty. + -or- + underlyingType is not a supported underlying type. + -or- + The specified members do not have unique names. + -or- + The value of a specified member is not in the range of the underlying type. + + + + + Class for representing a Facet object + This object is Immutable (not just set to readonly) and + some parts of the system are depending on that behavior + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the description of this . + + + The object that represents the description of this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets the type of this . + + + The object that represents the type of this + + . + + + + + Gets the value of this . + + + The value of this . + + Thrown if the Facet instance is in ReadOnly state + + + Gets a value indicating whether the value of the facet is unbounded. + true if the value of the facet is unbounded; otherwise, false. + + + + Returns the name of this . + + + The name of this . + + + + + Class for representing a FacetDescription object + + + + Gets the name of this facet. + The name of this facet. + + + Gets the type of this facet. + + An object that represents the type of this facet. + + + + Gets the minimum value for this facet. + The minimum value for this facet. + + + Gets the maximum value for this facet. + The maximum value for this facet. + + + Gets the default value of a facet with this facet description. + The default value of a facet with this facet description. + + + Gets a value indicating whether the value of this facet is a constant. + true if this facet is a constant; otherwise, false. + + + Gets a value indicating whether this facet is a required facet. + true if this facet is a required facet; otherwise, false. + + + Returns the name of this facet. + The name of this facet. + + + + Class representing a function parameter + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the mode of this . + + + One of the values. + + Thrown if the FunctionParameter instance is in ReadOnly state + + + + Gets the name of this . + + + The name of this . + + + + + Gets the instance of the class that contains both the type of the parameter and facets for the type. + + + A object that contains both the type of the parameter and facets for the type. + + + + Gets the type name of this parameter. + The type name of this parameter. + + + Gets whether the max length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the maximum length of the parameter. + The maximum length of the parameter. + + + Gets whether the parameter uses the maximum length supported by the database provider. + true if parameter uses the maximum length supported by the database provider; otherwise, false. + + + Gets whether the precision facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the precision value of the parameter. + The precision value of the parameter. + + + Gets whether the scale facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the scale value of the parameter. + The scale value of the parameter. + + + + Gets the on which this parameter is declared. + + + A object that represents the function on which this parameter is declared. + + + + + Returns the name of this . + + + The name of this . + + + + + The factory method for constructing the object. + + The name of the parameter. + The EdmType of the parameter. + + The of the parameter. + + + A new, read-only instance of the type. + + + + + Represents the base item class for all the metadata + + + + + An interface to get the underlying store and conceptual model for a . + + + + + Gets the conceptual model. + + + + + Gets the store model. + + + + + Class for representing a collection of items. + Most of the implementation for actual maintenance of the collection is + done by MetadataCollection + + + + Gets the data model associated with this item collection. + The data model associated with this item collection. + + + + Returns a strongly typed object by using the specified identity. + + The item that is specified by the identity. + The identity of the item. + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity from this item collection. + + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item. + + When this method returns, the output parameter contains a + + object. If there is no global item with the specified identity in the item collection, this output parameter contains null. + + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity from this item collection. + + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, the output parameter contains a + + object. If there is no global item with the specified identity in the item collection, this output parameter contains null. + + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity with either case-sensitive or case-insensitive search. + + The item that is specified by the identity. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + The type returned by the method. + + + Returns all the items of the specified type from this item collection. + + A collection of type that contains all the items of the specified type. + + The type returned by the method. + + + + Returns an object by using the specified type name and the namespace name in this item collection. + + + An object that represents the type that matches the specified type name and the namespace name in this item collection. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + + When this method returns, this output parameter contains an + + object. If there is no type with the specified name and namespace name in this item collection, this output parameter contains null. + + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + + An object that represents the type that matches the specified type name and the namespace name in this item collection. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, this output parameter contains an + + object. If there is no type with the specified name and namespace name in this item collection, this output parameter contains null. + + + + Returns all the overloads of the functions by using the specified name from this item collection. + + A collection of type that contains all the functions that have the specified name. + + The full name of the function. + + + Returns all the overloads of the functions by using the specified name from this item collection. + + A collection of type that contains all the functions that have the specified name. + + The full name of the function. + true to perform the case-insensitive search; otherwise, false. + + + Returns all the overloads of the functions by using the specified name from this item collection. + A collection of type ReadOnlyCollection that contains all the functions that have the specified name. + A dictionary of functions. + The full name of the function. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified entity container name. + + If there is no entity container, this method returns null; otherwise, it returns the first one. + The name of the entity container. + + + + Returns an object by using the specified entity container name. If there is no entity container, the output parameter contains null; otherwise, it contains the first entity container. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + + When this method returns, it contains an object. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + + + + Returns an object by using the specified entity container name. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified entity container name. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, it contains an object. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + + + + Do not perform any extension check + + + + + Check the extension against a specific value + + + + + Check the extension against the set of acceptable extensions + + + + + Represents the base item class for all the metadata + + + Represents the base item class for all the metadata + + + + Gets the built-in type kind for this type. + + A object that represents the built-in type kind for this type. + + + + Gets the list of properties of the current type. + + A collection of type that contains the list of properties of the current type. + + + + + Adds or updates an annotation with the specified name and value. + + + If an annotation with the given name already exists then the value of that annotation + is updated to the given value. If the given value is null then the annotation will be + removed. + + The name of the annotation property. + The value of the annotation property. + + + + Removes an annotation with the specified name. + + The name of the annotation property. + true if an annotation was removed; otherwise, false. + + + Gets or sets the documentation associated with this type. + + A object that represents the documentation on this type. + + + + + Returns a conceptual model built-in type that matches one of the + + values. + + + An object that represents the built-in type in the EDM. + + + One of the values. + + + + Returns the list of the general facet descriptions for a specified type. + + A object that represents the list of the general facet descriptions for a specified type. + + + + + Class representing a metadata attribute for an item + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets the value of this . + + + The value of this . + + Thrown if the MetadataProperty instance is in readonly state + + + + Gets the instance of the class that contains both the type of this + + and facets for the type. + + + A object that contains both the type of this + + and facets for the type. + + Thrown if the MetadataProperty instance is in readonly state + + + + Gets the value of this . + + + The value of this . + + + + + Gets a boolean that indicates whether the metadata property is an annotation. + + + + + The factory method for constructing the MetadataProperty object. + + The name of the metadata property. + The type usage of the metadata property. + The value of the metadata property. + The MetadataProperty object. + + Thrown is null. + + The newly created MetadataProperty will be read only. + + + + Creates a metadata annotation having the specified name and value. + + The annotation name. + The annotation value. + A MetadataProperty instance representing the created annotation. + + + + Runtime Metadata Workspace + + + + + Initializes a new instance of the class. + + + + + Constructs a with loaders for all item collections () + needed by EF except the o/c mapping which will be created automatically based on the given o-space and c-space + loaders. The item collection delegates are executed lazily when a given collection is used for the first + time. It is acceptable to pass a delegate that returns null if the collection will never be used, but this + is rarely done, and any attempt by EF to use the collection in such cases will result in an exception. + + Delegate to return the c-space (CSDL) item collection. + Delegate to return the s-space (SSDL) item collection. + Delegate to return the c/s mapping (MSL) item collection. + Delegate to return the o-space item collection. + + + + Constructs a with loaders for all item collections () + that come from traditional EDMX mapping. Default o-space and o/c mapping collections will be used. + The item collection delegates are executed lazily when a given collection is used for the first + time. It is acceptable to pass a delegate that returns null if the collection will never be used, but this + is rarely done, and any attempt by EF to use the collection in such cases will result in an exception. + + Delegate to return the c-space (CSDL) item collection. + Delegate to return the s-space (SSDL) item collection. + Delegate to return the c/s mapping (MSL) item collection. + + + + Initializes a new instance of the class using the specified paths and assemblies. + + The paths to workspace metadata. + The names of assemblies used to construct workspace. + + + + The Max EDM version thats going to be supported by the runtime. + + + + + Creates an configured to use the + + data space. + + The created parser object. + + + + Creates a new bound to this metadata workspace based on the specified query expression. + + + A new with the specified expression as it's + + property. + + + A that defines the query. + + + If + + is null + + + If + + contains metadata that cannot be resolved in this metadata workspace + + + If + + is not structurally valid because it contains unresolvable variable references + + + + + Gets items. + + + The items. + + + The from which to retrieve items. + + + + Registers the item collection with each associated data model. + The output parameter collection that needs to be filled up. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + The delegate for logging the load messages. + + + Returns an item by using the specified identity and the data model. + The item that matches the given identity in the specified data model. + The identity of the item. + The conceptual model in which the item is searched. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns an item by using the specified identity and the data model. + true if there is an item that matches the search criteria; otherwise, false. + The conceptual model on which the item is searched. + The conceptual model on which the item is searched. + + When this method returns, contains a object. This parameter is passed uninitialized. + + The type returned by the method. + + + Returns an item by using the specified identity and the data model. + The item that matches the given identity in the specified data model. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the item is searched. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns an item by using the specified identity and the data model. + true if there is an item that matches the search criteria; otherwise, false. + The conceptual model on which the item is searched. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the item is searched. + + When this method returns, contains a object. This parameter is passed uninitialized. + + The type returned by the method. + + + Gets all the items in the specified data model. + + A collection of type that contains all the items in the specified data model. + + The conceptual model for which the list of items is needed. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + + An object that represents the type that matches the given type name and the namespace name in the specified data model. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + The conceptual model on which the type is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + The conceptual model on which the type is searched. + + When this method returns, contains an object. This parameter is passed uninitialized. + + + + + Returns an object by using the specified type name, namespace name, and data model. + + + An object. + + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the type is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the type is searched. + + When this method returns, contains an object. This parameter is passed uninitialized. + + + + + Returns an object by using the specified entity container name and the data model. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + The conceptual model on which the entity container is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified entity container name and the data model. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + The conceptual model on which the entity container is searched. + + When this method returns, contains an object. If there is no entity container, this output parameter contains null; otherwise, it returns the first entity container. This parameter is passed uninitialized. + + + + + Returns an object by using the specified entity container name and the data model. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the entity container is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified entity container name and the data model. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the entity container is searched. + + When this method returns, contains an object. If there is no entity container, this output parameter contains null; otherwise, it returns the first entity container. This parameter is passed uninitialized. + + + + Returns all the overloads of the functions by using the specified name, namespace name, and data model. + + A collection of type that contains all the functions that match the specified name in a given namespace and a data model. + + The name of the function. + The namespace of the function. + The conceptual model in which the functions are searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns all the overloads of the functions by using the specified name, namespace name, and data model. + + A collection of type that contains all the functions that match the specified name in a given namespace and a data model. + + The name of the function. + The namespace of the function. + The conceptual model in which the functions are searched. + true to perform the case-insensitive search; otherwise, false. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns the list of primitive types in the specified data model. + + A collection of type that contains all the primitive types in the specified data model. + + The data model for which you need the list of primitive types. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Gets all the items in the specified data model. + + A collection of type that contains all the items in the specified data model. + + The conceptual model for which the list of items is needed. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Tests the retrieval of . + + true if the retrieval was successful; otherwise, false. + + The from which to attempt retrieval of + + . + + When this method returns, contains the item collection. This parameter is passed uninitialized. + + + + Returns a object that represents the object space type that matches the type supplied by the parameter edmSpaceType . + + + A object that represents the Object space type. If there is no matched type, this method returns null. + + + A object that represents the + + . + + + + + Returns a object via the out parameter objectSpaceType that represents the type that matches the + + supplied by the parameter edmSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the + + . + + + When this method returns, contains a object that represents the Object space type. This parameter is passed uninitialized. + + + + + Returns a object that represents the object space type that matches the type supplied by the parameter edmSpaceType . + + + A object that represents the Object space type. If there is no matched type, this method returns null. + + + A object that represents the + + . + + + + + Returns a object via the out parameter objectSpaceType that represents the type that matches the + + supplied by the parameter edmSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the + + . + + + When this method returns, contains a object that represents the Object space type. This parameter is passed uninitialized. + + + + + Returns a object that represents the + + that matches the type supplied by the parameter objectSpaceType . + + + A object that represents the + + . If there is no matched type, this method returns null. + + + A that supplies the type in the object space. + + + + + Returns a object via the out parameter edmSpaceType that represents the + + that matches the type supplied by the parameter objectSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the object space type. + + + When this method returns, contains a object that represents the + + . This parameter is passed uninitialized. + + + + + Returns a object that represents the + + that matches the type supplied by the parameter objectSpaceType . + + + A object that represents the + + . If there is no matched type, this method returns null. + + + A that supplies the type in the object space. + + + + + Returns a object via the out parameter edmSpaceType that represents the + + that matches the type supplied by the parameter objectSpaceType . + + true on success, false on failure. + + A object that represents the object space type. + + + When this method returns, contains a object that represents the + + . This parameter is passed uninitialized. + + + + Clears all the metadata cache entries. + + + Gets original value members from an entity set and entity type. + The original value members from an entity set and entity type. + The entity set from which to retrieve original values. + The entity type of which to retrieve original values. + + + + Returns members of a given / + + for which original values are needed when modifying an entity. + + + The s for which original value is required. + + + An belonging to the C-Space. + + + An that participates in the given + + . + + true if entities may be updated partially; otherwise, false. + + + + Represent the edm navigation property class + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + Gets the relationship type that this navigation property operates on. + The relationship type that this navigation property operates on. + Thrown if the NavigationProperty instance is in ReadOnly state + + + Gets the "to" relationship end member of this navigation. + The "to" relationship end member of this navigation. + Thrown if the NavigationProperty instance is in ReadOnly state + + + Gets the "from" relationship end member in this navigation. + The "from" relationship end member in this navigation. + Thrown if the NavigationProperty instance is in ReadOnly state + + + + Where the given navigation property is on the dependent end of a referential constraint, + returns the foreign key properties. Otherwise, returns an empty set. We will return the members in the order + of the principal end key properties. + + A collection of the foreign key properties. + + + + Creates a NavigationProperty instance from the specified parameters. + + The name of the navigation property. + Specifies the navigation property type and its facets. + The relationship type for the navigation. + The source end member in the navigation. + The target end member in the navigation. + The metadata properties of the navigation property. + The newly created NavigationProperty instance. + + + + Class for representing a collection of items for the object layer. + Most of the implementation for actual maintenance of the collection is + done by ItemCollection + + + + + Initializes a new instance of the class. + + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + The EDM metadata source for the O space metadata. + The delegate to which log messages are sent. + + + Loads metadata from the specified assembly. + The assembly from which the metadata will be loaded. + The EDM metadata source for the O space metadata. + + + Returns a collection of primitive type objects. + A collection of primitive type objects. + + + + Returns the CLR type that corresponds to the supplied by the objectSpaceType parameter. + + The CLR type of the OSpace argument. + + A that represents the object space type. + + + + + Returns a CLR type corresponding to the supplied by the objectSpaceType parameter. + + true if there is a type that matches the search criteria; otherwise, false. + + A that represents the object space type. + + The CLR type. + + + The method returns the underlying CLR type for the specified OSpace type argument. If the DataSpace of the parameter is not OSpace, an ArgumentException is thrown. + The CLR type of the OSpace argument. + The OSpace type to look up. + + + Returns the underlying CLR type for the specified OSpace enum type argument. If the DataSpace of the parameter is not OSpace, the method returns false and sets the out parameter to null. + true on success, false on failure + The OSpace enum type to look up + The CLR enum type of the OSpace argument + + + Returns all the items of the specified type from this item collection. + + A collection of type that contains all items of the specified type. + + The type returned by the method. + + + + Represents the list of possible actions for delete operation + + + + + no action + + + + + Cascade to other ends + + + + + The enumeration defining the mode of a parameter + + + + + In parameter + + + + + Out parameter + + + + + Both in and out parameter + + + + + Return Parameter + + + + + The enumeration defining the type semantics used to resolve function overloads. + These flags are defined in the provider manifest per function definition. + + + + + Allow Implicit Conversion between given and formal argument types (default). + + + + + Allow Type Promotion between given and formal argument types. + + + + + Use strict Equivalence only. + + + + + Class representing a primitive type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets a enumeration value that indicates a primitive type of this + + . + + + A enumeration value that indicates a primitive type of this + + . + + + + + Gets the list of facet descriptions for this . + + + A collection of type that contains the list of facet descriptions for this + + . + + + + + Returns an equivalent common language runtime (CLR) type of this + + . Note that the + + property always returns a non-nullable type value. + + + A object that represents an equivalent common language runtime (CLR) type of this + + . + + + + + Returns the equivalent of this + + . + + + For example if this instance is nvarchar and it's + base type is Edm String then the return type is Edm String. + If the type is actually already a model type then the + return type is "this". + + + An object that is an equivalent of this + + . + + + + Returns the list of primitive types. + + A collection of type that contains the list of primitive types. + + + + + Returns the equivalent of a + + . + + + An object that is an equivalent of a specified + + . + + + A value of type . + + + + + Primitive Types as defined by EDM + + + + + Binary Type Kind + + + + + Boolean Type Kind + + + + + Byte Type Kind + + + + + DateTime Type Kind + + + + + Decimal Type Kind + + + + + Double Type Kind + + + + + Guid Type Kind + + + + + Single Type Kind + + + + + SByte Type Kind + + + + + Int16 Type Kind + + + + + Int32 Type Kind + + + + + Int64 Type Kind + + + + + String Type Kind + + + + + Time Type Kind + + + + + DateTimeOffset Type Kind + + + + + Geometry Type Kind + + + + + Geography Type Kind + + + + + Geometric point type kind + + + + + Geometric linestring type kind + + + + + Geometric polygon type kind + + + + + Geometric multi-point type kind + + + + + Geometric multi-linestring type kind + + + + + Geometric multi-polygon type kind + + + + + Geometric collection type kind + + + + + Geographic point type kind + + + + + Geographic linestring type kind + + + + + Geographic polygon type kind + + + + + Geographic multi-point type kind + + + + + Geographic multi-linestring type kind + + + + + Geographic multi-polygon type kind + + + + + Geographic collection type kind + + + + + HierarchyId type kind + + + + + Specifies the kinds of item attributes in the conceptual model. + + + + + An enumeration member indicating that an item attribute is System + + + + + An enumeration member indicating that an item attribute is Extended. + + + + + Class representing a read-only wrapper around MetadataCollection + + The type of items in this collection + + + + The enumerator for MetadataCollection + + + + Gets the member at the current position. + The member at the current position. + + + + Gets the member at the current position + + + + Disposes of this enumerator. + + + + Moves to the next member in the collection of type + + . + + + true if the enumerator is moved in the collection of type + + ; otherwise, false. + + + + + Positions the enumerator before the first position in the collection of type + + . + + + + Gets a value indicating whether this collection is read-only. + true if this collection is read-only; otherwise, false. + + + Gets an item from this collection by using the specified identity. + An item from this collection. + The identity of the item to be searched for. + + + Retrieves an item from this collection by using the specified identity. + An item from this collection. + The identity of the item to be searched for. + true to perform the case-insensitive search; otherwise, false. + + + Determines whether the collection contains an item with the specified identity. + true if the collection contains the item to be searched for; otherwise, false. The default is false. + The identity of the item. + + + Retrieves an item from this collection by using the specified identity. + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item to be searched for. + true to perform the case-insensitive search; otherwise, false. + When this method returns, this output parameter contains an item from the collection. If there is no matched item, this output parameter contains null. + + + Returns an enumerator that can iterate through this collection. + + A that can be used to iterate through this + + . + + + + Returns the index of the specified value in this collection. + The index of the specified value in this collection. + A value to seek. + + + + This class represents a referential constraint between two entities specifying the "to" and "from" ends of the relationship. + + + + + Constructs a new constraint on the relationship + + role from which the relationship originates + role to which the relationship is linked/targeted to + properties on entity type of to role which take part in the constraint + properties on entity type of from role which take part in the constraint + Argument Null exception if any of the arguments is null + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the "from role" that takes part in this + + . + + + A object that represents the "from role" that takes part in this + + . + + Thrown if value passed into setter is null + Thrown if the ReferentialConstraint instance is in ReadOnly state + + + + Gets the "to role" that takes part in this . + + + A object that represents the "to role" that takes part in this + + . + + Thrown if value passed into setter is null + Thrown if the ReferentialConstraint instance is in ReadOnly state + + + + Gets the list of properties for the "from role" on which this + + is defined. + + + A collection of type that contains the list of properties for "from role" on which this + + is defined. + + + + + Gets the list of properties for the "to role" on which this + + is defined. + + + A collection of type that contains the list of properties for the "to role" on which this + + is defined. + + + + + Returns the combination of the names of the + + and the + + . + + + The combination of the names of the + + and the + + . + + + + + Class representing a ref type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the entity type referenced by this . + + + An object that represents the entity type referenced by this + + . + + + + + + + + + + + Initializes a new instance of the RelationshipEndMember class + + + + Gets the operational behavior of this relationship end member. + + One of the values. The default is + + . + + + + Gets the multiplicity of this relationship end member. + + One of the values. + + + + Access the EntityType of the EndMember in an association. + The EntityType of the EndMember in an association. + + + + Represents the multiplicity information about the end of a relationship type + + + + + Lower Bound is Zero and Upper Bound is One + + + + + Both lower bound and upper bound is one + + + + + Lower bound is zero and upper bound is null + + + + + Class for representing a relationship set + + + + + Gets the relationship type of this . + + + An object that represents the relationship type of this + + . + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Represents the Relationship type + + + + Gets the list of ends for this relationship type. + + A collection of type that contains the list of Ends for this relationship type. + + + + + Represents the Edm Row Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of properties on this . + + + A collection of type that contains the list of properties on this + + . + + + + Gets a collection of the properties defined by the current type. + A collection of the properties defined by the current type. + + + + The factory method for constructing the object. + + Properties of the row type object. + Metadata properties that will be added to the function. Can be null. + + A new, read-only instance of the object. + + + + + Class representing a simple type + + + + + Serializes the storage (database) section of an to XML. + + + + + Occurs when an error is encountered serializing the model. + + + + + Serialize the to the + + The EdmModel to serialize + Provider information on the Schema element + ProviderManifestToken information on the Schema element + The XmlWriter to serialize to + A value indicating whether to serialize Nullable attributes when they are set to the default value. + true if model can be serialized, otherwise false + + + + Serialize the to the + + The EdmModel to serialize + Namespace name on the Schema element + Provider information on the Schema element + ProviderManifestToken information on the Schema element + The XmlWriter to serialize to + A value indicating whether to serialize Nullable attributes when they are set to the default value. + true if model can be serialized, otherwise false + + + + The pattern for Server Generated Properties. + + + + + Not a Server Generated Property. This is the default. + + + + + A value is generated on INSERT, and remains unchanged on update. + + + + + A value is generated on both INSERT and UPDATE. + + + + + Class for representing a collection of items in Store space. + + + + + Initializes a new instance of the class using the specified XMLReader. + + The XMLReader used to create metadata. + + + Initializes a new instances of the class. + The model of the . + + + + Initializes a new instance of the class using the specified file paths. + + The file paths used to create metadata. + + + Gets the provider factory of the StoreItemCollection. + The provider factory of the StoreItemCollection. + + + Gets the provider manifest of the StoreItemCollection. + The provider manifest of the StoreItemCollection. + + + Gets the manifest token of the StoreItemCollection. + The manifest token of the StoreItemCollection. + + + Gets the invariant name of the StoreItemCollection. + The invariant name of the StoreItemCollection. + + + Gets the version of the store schema for this collection. + The version of the store schema for this collection. + + + + Returns a collection of the objects. + + + A object that represents the collection of the + + objects. + + + + + Factory method that creates a . + + + SSDL artifacts to load. Must not be null. + + + Paths to SSDL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + Custom resolver. Currently used to resolve DbProviderServices implementation. If null + the default resolver will be used. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Represents the Structural Type + + + + Gets the list of members on this type. + + A collection of type that contains a set of members on this type. + + + + + Adds a member to this type + + The member to add + + + Removes a member from this type. + The member to remove. + + + + Class representing a type information for an item + + + + + Factory method for creating a TypeUsage with specified EdmType and facets + + EdmType for which to create a type usage + facets to be copied into the new TypeUsage + new TypeUsage instance + + + + Creates a object with the specified conceptual model type. + + + A object with the default facet values for the specified + + . + + + A for which the + + object is created. + + + + + Creates a object to describe a string type by using the specified facet values. + + + A object describing a string type by using the specified facet values. + + + A for which the + + object is created. + + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the length of the string type to fixed; otherwise, false. + + + + Creates a object to describe a string type by using the specified facet values and unbounded MaxLength. + + + A object describing a string type by using the specified facet values and unbounded MaxLength. + + + A for which the + + object is created. + + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the length of the string type to fixed; otherwise, false + + + + Creates a object to describe a binary type by using the specified facet values. + + + A object describing a binary type by using the specified facet values. + + + A for which the + + object is created. + + true to set the length of the binary type to fixed; otherwise, false. + The maximum length of the binary type. + + + + Creates a object to describe a binary type by using the specified facet values. + + + A object describing a binary type by using the specified facet values. + + + A for which the + + object is created. + + true to set the length of the binary type to fixed; otherwise, false. + + + + Creates a object of the type that the parameters describe. + + + A object. + + + The simple type that defines the units of measurement of the object. + + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object of the type that the parameters describe. + + + A object. + + The simple type that defines the units of measurement of the offset. + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object of the type that the parameters describe. + + + A object. + + + The simple type that defines the units of measurement of the object. + + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object to describe a decimal type by using the specified facet values. + + + A object describing a decimal type by using the specified facet values. + + + A for which the + + object is created. + + + The precision of the decimal type as type . + + + The scale of the decimal type as type . + + + + + Creates a object to describe a decimal type with unbounded precision and scale facet values. + + + A object describing a decimal type with unbounded precision and scale facet values. + + + A for which the + + object is created. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the type information described by this . + + + An object that represents the type information described by this + + . + + + + + Gets the list of facets for the type that is described by this + + . + + + A collection of type that contains the list of facets for the type that is described by this + + . + + + + + Returns a Model type usage for a provider type + + Model (CSpace) type usage + + + + Checks whether this is a subtype of the specified + + . + + + true if this is a subtype of the specified + + ; otherwise, false. + + + The object to be checked. + + + + + Returns the full name of the type described by this . + + + The full name of the type described by this as string. + + + + + This exception is thrown when a requested object is not found in the store. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of class that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Caches an ELinq query + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg14 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg15 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg14 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + + The values currently assigned to the properties of an entity. + + + + + This is the interface that represent the minimum interface required + to be an entity in ADO.NET. + + + + Notifies the change tracker that a property change is pending on a complex object. + The name of the changing property. + property is null. + + + Notifies the change tracker that a property of a complex object has changed. + The name of the changed property. + property is null. + + + + Attribute for complex properties + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + attribute for complex types + + + + + Attribute identifying the Edm base class + + + + + Attribute indicating an enum type. + + + + + Indicates that the given method is a proxy for an EDM function. + + + Note that this attribute has been replaced by the starting with EF6. + + + + + Creates a new DbFunctionAttribute instance. + + The namespace name of the EDM function represented by the attributed method. + The function name of the EDM function represented by the attributed method. + + + + Base attribute for properties mapped to store elements. + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + Attribute identifying the Ends defined for a RelationshipSet + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + Initializes a new instance of the + + class. + + The namespace name of the relationship property. + The name of the relationship. The relationship name is not namespace qualified. + The role name at the other end of the relationship. + + + The namespace name of the navigation property. + + A that is the namespace name. + + + + Gets the unqualified relationship name. + The relationship name. + + + Gets the role name at the other end of the relationship. + The target role name is specified by the Role attribute of the other End element in the association that defines this relationship in the conceptual model. For more information, see Association (EDM). + + + + Defines a relationship between two entity types based on an association in the conceptual model. + + + + + Creates an instance of the class. + + The name of the namespace for the association in which this entity participates. + The name of a relationship in which this entity participates. + Name of the role for the type at one end of the association. + + A value of that indicates the multiplicity at one end of the association, such as one or many. + + The type of the entity at one end of the association. + Name of the role for the type at the other end of the association. + + A value of that indicates the multiplicity at the other end of the association, such as one or many. + + The type of the entity at the other end of the association. + + + + Initializes a new instance of the + + class. + + The name of the namespace for the association in which this entity participates. + The name of a relationship in which this entity participates. + Name of the role for the type at one end of the association. + + A value of that indicates the multiplicity at one end of the association, such as one or many. + + The type of the entity at one end of the association. + Name of the role for the type at the other end of the association. + + A value of that indicates the multiplicity at the other end of the association, such as one or many. + + The type of the entity at the other end of the association. + A value that indicates whether the relationship is based on the foreign key value. + + + The namespace for the relationship. + + A that is the namespace for the relationship. + + + + Name of the relationship. + + A that is the name of a relationship that is defined by this + + . + + + + Name of the role at one end of the relationship. + + A that is the name of the role. + + + + Multiplicity at one end of the relationship. + + A value that indicates the multiplicity. + + + + Type of the entity at one end of the relationship. + + A that is the type of the object at this end of the association. + + + + Name of the role at the other end of the relationship. + + A that is the name of the role. + + + + Multiplicity at the other end of the relationship. + + A value that indicates the multiplicity. + + + + Type of the entity at the other end of the relationship. + + A that is the type of the object t the other end of the association. + + + + Gets a Boolean value that indicates whether the relationship is based on the foreign key value. + true if the relationship is based on the foreign key value; otherwise false. + + + + Attribute for scalar properties in an IEntity. + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + Gets or sets the value that indicates whether the property can have a null value. + The value that indicates whether the property can have a null value. + + + Gets or sets the value that indicates whether the property is part of the entity key. + The value that indicates whether the property is part of the entity key. + + + + Attribute for static types + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a unique value for each model referenced by the assembly. + + + Setting this parameter to a unique value for each model file in a Visual Basic + assembly will prevent the following error: + "'System.Data.Entity.Core.Objects.DataClasses.EdmSchemaAttribute' cannot be specified more than once in this project, even with identical parameter values." + + A string that is a unique GUID value for the model in the assembly. + + + + Base attribute for schematized types + + + + The name of the type in the conceptual schema that maps to the class to which this attribute is applied. + + A that is the name. + + + + The namespace name of the entity object type or complex type in the conceptual schema that maps to this type. + + A that is the namespace name. + + + + + Collection of entities modeling a particular EDM construct + which can either be all entities of a particular type or + entities participating in a particular relationship. + + The type of entities in this collection. + + + + Initializes a new instance of the class. + + + + Gets the number of objects that are contained in the collection. + + The number of elements that are contained in the + + . + + + + + Gets a value that indicates whether the + + is read-only. + + Always returns false. + + + + IListSource.ContainsListCollection implementation. Always returns false. + This means that the IList we return is the one which contains our actual data, + it is not a list of collections. + + + + + Returns the collection as an used for data binding. + + + An of entity objects. + + + + Loads related objects into the collection, using the specified merge option. + + Specifies how the objects in this collection should be merged with the objects that might have been returned from previous queries against the same + + . + + + + + + + Defines relationships between an object and a collection of related objects in an object context. + + Loads related entities into the local collection. If the collection is already filled + or partially filled, merges existing entities with the given entities. The given + entities are not assumed to be the complete set of related entities. + Owner and all entities passed in must be in Unchanged or Modified state. We allow + deleted elements only when the state manager is already tracking the relationship + instance. + + Collection of objects in the object context that are related to the source object. + entities collection is null. + + The source object or an object in the entities collection is null or is not in an + + or state.-or-The relationship cannot be defined based on the EDM metadata. This can occur when the association in the conceptual schema does not support a relationship between the two types. + + + + Defines a relationship between two attached objects in an object context. + The object being attached. + When the entity is null. + + When the entity cannot be related to the source object. This can occur when the association in the conceptual schema does not support a relationship between the two types.-or-When either object is null or is not in an + + or state. + + + + Adds an object to the collection. + + An object to add to the collection. entity must implement + + . + + entity is null. + + + Removes an object from the collection and marks the relationship for deletion. + true if item was successfully removed; otherwise, false. + The object to remove from the collection. + entity object is null. + The entity object is not attached to the same object context.-or-The entity object does not have a valid relationship manager. + + + Returns an enumerator that is used to iterate through the objects in the collection. + + An that iterates through the set of values cached by + + . + + + + + Returns an enumerator that is used to iterate through the set of values cached by + + . + + + An that iterates through the set of values cached by + + . + + + + Removes all entities from the collection. + + + Determines whether a specific object exists in the collection. + + true if the object is found in the ; otherwise, false. + + + The object to locate in the . + + + + Copies all the contents of the collection to an array, starting at the specified index of the target array. + The array to copy to. + The zero-based index in the array at which copying begins. + + + Used internally to serialize entity objects. + The streaming context. + + + Used internally to deserialize entity objects. + The streaming context. + + + Returns an object query that, when it is executed, returns the same set of objects that exists in the current collection. + + An that represents the entity collection. + + + When the object is in an state + or when the object is in a + state with a + other than + . + + + + + This is the class is the basis for all perscribed EntityObject classes. + + + + Gets the entity state of the object. + + The of this object. + + + + Gets or sets the key for this object. + + The for this object. + + + + + Used by the ObjectStateManager to attach or detach this EntityObject to the cache. + + Reference to the ObjectStateEntry that contains this entity + + + + Returns the container for the lazily created relationship + navigation property objects, collections and refs. + + + + Notifies the change tracker that a property change is pending. + The name of the changing property. + property is null. + + + Notifies the change tracker that a property has changed. + The name of the changed property. + property is null. + + + + Models a relationship end with multiplicity 1. + + + + Returns the key for the related object. + + Returns the EntityKey of the target entity associated with this EntityReference. + Is non-null in the following scenarios: + (a) Entities are tracked by a context and an Unchanged or Added client-side relationships exists for this EntityReference's owner with the + same RelationshipName and source role. This relationship could have been created explicitly by the user (e.g. by setting + the EntityReference.Value, setting this property directly, or by calling EntityCollection.Add) or automatically through span queries. + (b) If the EntityKey was non-null before detaching an entity from the context, it will still be non-null after detaching, until any operation + occurs that would set it to null, as described below. + (c) Entities are detached and the EntityKey is explicitly set to non-null by the user. + (d) Entity graph was created using a NoTracking query with full span + Is null in the following scenarios: + (a) Entities are tracked by a context but there is no Unchanged or Added client-side relationship for this EntityReference's owner with the + same RelationshipName and source role. + (b) Entities are tracked by a context and a relationship exists, but the target entity has a temporary key (i.e. it is Added) or the key + is one of the special keys + (c) Entities are detached and the relationship was explicitly created by the user. + + + An that is the key of the related object. + + + + + Models a relationship end with multiplicity 1. + + The type of the entity being referenced. + + + + Creates a new instance of . + + + The default constructor is required for some serialization scenarios. It should not be used to + create new EntityReferences. Use the GetRelatedReference or GetRelatedEnd methods on the RelationshipManager + class instead. + + + + + Gets or sets the related object returned by this + + . + + + The object returned by this . + + + + + Loads the related object for this with the specified merge option. + + + Specifies how the object should be returned if it already exists in the + + . + + + The source of the is null + or a query returned more than one related end + or a query returned zero related ends, and one related end was expected. + + + + + + + Creates a many-to-one or one-to-one relationship between two objects in the object context. + The object being attached. + When the entity is null. + When the entity cannot be related to the current related end. This can occur when the association in the conceptual schema does not support a relationship between the two types. + + + Creates an equivalent object query that returns the related object. + + An that returns the related object. + + + When the object is in an state + or when the object is in a + state with a + other than . + + + + This method is used internally to serialize related entity objects. + The serialized stream. + + + This method is used internally to serialize related entity objects. + The serialized stream. + + + + This interface is implemented by a change tracker and is used by data classes to report changes + + + + Notifies the change tracker of a pending change to a property of an entity type. + The name of the property that is changing. + + + Notifies the change tracker that a property of an entity type has changed. + The name of the property that has changed. + + + Notifies the change tracker of a pending change to a complex property. + The name of the top-level entity property that is changing. + The complex type that contains the property that is changing. + The name of the property that is changing on complex type. + + + Notifies the change tracker that a property of a complex type has changed. + The name of the complex property of the entity type that has changed. + The complex type that contains the property that changed. + The name of the property that changed on complex type. + + + Gets current state of a tracked object. + + An that is the state of the tracked object.For more information, see Identity Resolution, State Management, and Change Tracking and Tracking Changes in POCO Entities. + + + + + Minimum interface that a data class must implement in order to be managed by a change tracker. + + + + + Gets or sets the used to report changes. + + + The used to report changes. + + + + + Interface that defines an entity containing a key. + + + + + Gets or sets the for instances of entity types that implement this interface. + + + If an object is being managed by a change tracker, it is expected that + IEntityChangeTracker methods EntityMemberChanging and EntityMemberChanged will be + used to report changes on EntityKey. This allows the change tracker to validate the + EntityKey's new value and to verify if the change tracker is in a state where it can + allow updates to the EntityKey. + + + The for instances of entity types that implement this interface. + + + + + Interface that a data class must implement if exposes relationships + + + + Returns the relationship manager that manages relationships for an instance of an entity type. + + Classes that expose relationships must implement this property + by constructing and setting RelationshipManager in their constructor. + The implementation of this property should use the static method RelationshipManager.Create + to create a new RelationshipManager when needed. Once created, it is expected that this + object will be stored on the entity and will be provided through this property. + + + The for this entity. + + + + + Represents one end of a relationship. + + + + + Gets or sets a value indicating whether the entity (for an or all entities + in the collection (for an have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded + and wants to prevent any other entities from being loaded automatically. + Note that explicit loading using will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity is detached the IsLoaded flag is reset to false indicating that not all related entities + are now loaded. + + + True if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise false. + + + + Gets the name of the relationship in which this related end participates. + + The name of the relationship in which this is participating. The relationship name is not namespace qualified. + + + + Gets the role name at the source end of the relationship. + The role name at the source end of the relationship. + + + Gets the role name at the target end of the relationship. + The role name at the target end of the relationship. + + + Returns a reference to the metadata for the related end. + + A object that contains metadata for the end of a relationship. + + + + Loads the related object or objects into this related end with the default merge option. + + + Asynchronously loads the related object or objects into this related end with the default merge option. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + Loads the related object or objects into the related end with the specified merge option. + + The to use when merging objects into an existing + . + + + + Asynchronously loads the related object or objects into the related end with the specified merge option. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when merging objects into an existing + . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + Adds an object to the related end. + + An object to add to the collection. entity must implement + + . + + + + Adds an object to the related end. + An object to add to the collection. + + + Removes an object from the collection of objects at the related end. + + true if entity was successfully removed, false if entity was not part of the + + . + + + The object to remove from the collection. entity must implement + + . + + + + Removes an object from the collection of objects at the related end. + + true if entity was successfully removed; false if entity was not part of the + + . + + An object to remove from the collection. + + + Defines a relationship between two attached objects. + + The object being attached. entity must implement + + . + + + + Defines a relationship between two attached objects. + The object being attached. + + + + Returns an that represents the objects that belong to the related end. + + + An that represents the objects that belong to the related end. + + + + + Returns an that iterates through the collection of related objects. + + + An that iterates through the collection of related objects. + + + + + Base class for EntityCollection and EntityReference + + + + Occurs when a change is made to a related end. + + + Gets the name of the relationship in which this related end participates. + + The name of the relationship in which this participates. The relationship name is not namespace qualified. + + + + Gets the role name at the source end of the relationship. + + A that is the role name. + + + + Gets the role name at the target end of the relationship. + + A that is the role name. + + + + + Returns an that represents the objects that belong to the related end. + + + An that represents the objects that belong to the related end. + + + + Gets a reference to the metadata for the related end. + + A object that contains metadata for the end of a relationship. + + + + + + + + Loads the related object or objects into the related end with the default merge option. + + + When the source object was retrieved by using a query + and the is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Asynchronously loads the related object or objects into the related end with the default merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + When the source object was retrieved by using a query + and the is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Loads an object or objects from the related end with the specified merge option. + + + The to use when merging objects into an existing + . + + + When the source object was retrieved by using a query + and the + is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Asynchronously loads an object or objects from the related end with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when merging objects into an existing + . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + When the source object was retrieved by using a query + and the + is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Attaches an entity to the related end. This method works in exactly the same way as Attach(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + The entity to attach to the related end + + Thrown when + + is null. + + Thrown when the entity cannot be related via the current relationship end. + + + + Attaches an entity to the related end. If the related end is already filled + or partially filled, this merges the existing entities with the given entity. The given + entity is not assumed to be the complete set of related entities. + Owner and all entities passed in must be in Unchanged or Modified state. + Deleted elements are allowed only when the state manager is already tracking the relationship + instance. + + The entity to attach to the related end + + Thrown when + + is null. + + Thrown when the entity cannot be related via the current relationship end. + + + + Adds an entity to the related end. This method works in exactly the same way as Add(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + Entity instance to add to the related end + + + + Adds an entity to the related end. If the owner is + attached to a cache then the all the connected ends are + added to the object cache and their corresponding relationships + are also added to the ObjectStateManager. The RelatedEnd of the + relationship is also fixed. + + Entity instance to add to the related end + + + + Removes an entity from the related end. This method works in exactly the same way as Remove(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + Entity instance to remove from the related end + Returns true if the entity was successfully removed, false if the entity was not part of the RelatedEnd. + + + + Removes an entity from the related end. If owner is + attached to a cache, marks relationship for deletion and if + the relationship is composition also marks the entity for deletion. + + Entity instance to remove from the related end + Returns true if the entity was successfully removed, false if the entity was not part of the RelatedEnd. + + + + Returns an that iterates through the collection of related objects. + + + An that iterates through the collection of related objects. + + + + + Used internally to deserialize entity objects along with the + + instances. + + The serialized stream. + + + + Identifies the kind of a relationship + + + + + The relationship is an Association + + + + + Container for the lazily created relationship navigation + property objects (collections and refs). + + + + + Creates a new object. + + + Used by data classes that support relationships. If the change tracker + requests the RelationshipManager property and the data class does not + already have a reference to one of these objects, it calls this method + to create one, then saves a reference to that object. On subsequent accesses + to that property, the data class should return the saved reference. + The reason for using a factory method instead of a public constructor is to + emphasize that this is not something you would normally call outside of a data class. + By requiring that these objects are created via this method, developers should + give more thought to the operation, and will generally only use it when + they explicitly need to get an object of this type. It helps define the intended usage. + + + The requested . + + Reference to the entity that is calling this method. + + + + Returns either an or + + of the correct type for the specified target role in a relationship. + + + representing the + + or + + that was retrieved. + + Name of the relationship in which targetRoleName is defined. The relationship name is not namespace qualified. + Target role to use to retrieve the other end of relationshipName . + relationshipName or targetRoleName is null. + The source type does not match the type of the owner. + targetRoleName is invalid or unable to find the relationship type in the metadata. + + + + Takes an existing EntityReference that was created with the default constructor and initializes it using the provided relationship and target role names. + This method is designed to be used during deserialization only, and will throw an exception if the provided EntityReference has already been initialized, + if the relationship manager already contains a relationship with this name and target role, or if the relationship manager is already attached to a ObjectContext.W + + The relationship name. + The role name of the related end. + + The to initialize. + + + The type of the being initialized. + + + When the provided + is already initialized.-or-When the relationship manager is already attached to an + + or when the relationship manager already contains a relationship with this name and target role. + + + + + Takes an existing EntityCollection that was created with the default constructor and initializes it using the provided relationship and target role names. + This method is designed to be used during deserialization only, and will throw an exception if the provided EntityCollection has already been initialized, + or if the relationship manager is already attached to a ObjectContext. + + The relationship name. + The target role name. + An existing EntityCollection. + Type of the entity represented by targetRoleName + + + + Gets an of related objects with the specified relationship name and target role name. + + + The of related objects. + + Name of the relationship to navigate. The relationship name is not namespace qualified. + Name of the target role for the navigation. Indicates the direction of navigation across the relationship. + + The type of the returned . + + + The specified role returned an instead of an + + . + + + + + Gets the for a related object by using the specified combination of relationship name and target role name. + + + The of a related object. + + Name of the relationship to navigate. The relationship name is not namespace qualified. + Name of the target role for the navigation. Indicates the direction of navigation across the relationship. + + The type of the returned . + + + The specified role returned an instead of an + + . + + + + Returns an enumeration of all the related ends managed by the relationship manager. + + An of objects that implement + + . An empty enumeration is returned when the relationships have not yet been populated. + + + + + Called by Object Services to prepare an for binary serialization with a serialized relationship. + + Describes the source and destination of a given serialized stream, and provides an additional caller-defined context. + + + + Used internally to deserialize entity objects along with the + + instances. + + The serialized stream. + + + + This class contains the common methods need for an date object. + + + + + Public constant name used for change tracking + Providing this definition allows users to use this constant instead of + hard-coding the string. This helps to ensure the property name is correct + and allows faster comparisons in places where we are looking for this specific string. + Users can still use the case-sensitive string directly instead of the constant, + it will just be slightly slower on comparison. + Including the dash (-) character around the name ensures that this will not conflict with + a real data property, because -EntityKey- is not a valid identifier name + + + + + Notification that a property has been changed. + + + The PropertyChanged event can indicate all properties on the + object have changed by using either a null reference + (Nothing in Visual Basic) or String.Empty as the property name + in the PropertyChangedEventArgs. + + + + + Notification that a property is about to be changed. + + + The PropertyChanging event can indicate all properties on the + object are changing by using either a null reference + (Nothing in Visual Basic) or String.Empty as the property name + in the PropertyChangingEventArgs. + + + + + Raises the event. + + The name of the changed property. + + + + Raises the event. + + The name of the property changing. + + + Returns the minimum date time value supported by the data source. + + A value that is the minimum date time that is supported by the data source. + + + + Raises an event that is used to report that a property change is pending. + The name of the changing property. + + + Raises an event that is used to report that a property change has occurred. + The name for the changed property. + + + Returns a complex type for the specified property. + + Unlike most of the other helper methods in this class, this one is not static + because it references the SetValidValue for complex objects, which is also not static + because it needs a reference to this. + + A complex type object for the property. + A complex object that inherits from complex object. + The name of the complex property that is the complex object. + Indicates whether the type supports null values. + Indicates whether the type is initialized. + The type of the complex object being requested. + + + Determines whether the specified byte arrays contain identical values. + true if both arrays are of the same length and contain the same byte values or if both arrays are null; otherwise, false. + The first byte array value to compare. + The second byte array to compare. + + + Returns a copy of the current byte value. + + A copy of the current value. + + The current byte array value. + + + + Makes sure the value being set for a property is valid. + + + The value being validated. + + The value passed into the property setter. + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + If value is null for a non nullable value. + + + + Makes sure the value being set for a property is valid. + + + A value being set. + + The value being set. + Indicates whether the property is nullable. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + The Boolean value. + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + The Boolean value. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + A that is set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value that is set. + + The value that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + A value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + Makes sure the Single value being set for a property is valid. + + The value being set. + + + The value. + + The name of the property that is being validated. + + + Makes sure the Single value being set for a property is valid. + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + Name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + Makes sure the UInt16 value being set for a property is valid. + The nullable UInt16 value being set. + The nullable UInt16 value. + The name of the property that is being validated. + + + Makes sure the UInt16 value being set for a property is valid. + The nullable UInt16 value being set. + The nullable UInt16 value. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + Makes sure the UInt32 value being set for a property is valid. + The nullable UInt32 value being set. + The nullable UInt32 value. + The name of the property that is being validated. + + + Makes sure the UInt32 value being set for a property is valid. + The nullable UInt32 value being set. + The nullable UInt32 value. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + The nullable UInt64 value being set. + The nullable UInt64 value. + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + The nullable UInt64 value being set. + The nullable UInt64 value. + + + Validates that the property is not null, and throws if it is. + The validated property. + The string value to be checked. + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + The string value is null for a non-nullable string. + + + Validates that the property is not null, and throws if it is. + + The validated value. + + The string value to be checked. + Flag indicating if this property is allowed to be null. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + The value to be checked. + + Flag indicating if this property is allowed to be null. + Name of the property that is being validated. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + value to be checked. + + Flag indicating if this property is allowed to be null. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + value to be checked. + + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + The value to be checked. + + Flag indicating if this property is allowed to be null. + The value is null for a non-nullable property. + + + Sets a complex object for the specified property. + A complex type that derives from complex object. + The original complex object for the property, if any. + The complex object is being set. + The complex property that is being set to the complex object. + The type of the object being replaced. + + + Verifies that a complex object is not null. + The complex object being validated. + The complex object that is being validated. + The complex property on the parent object that is associated with complexObject . + The type of the complex object being verified. + + + + Provides access to the original values of object data. The DbUpdatableDataRecord implements methods that allow updates to the original values of an object. + + + + Gets the number of fields in the record. + An integer value that is the field count. + + + Returns a value that has the given field ordinal. + The value that has the given field ordinal. + The ordinal of the field. + + + Gets a value that has the given field name. + The field value. + The name of the field. + + + Retrieves the field value as a Boolean. + The field value as a Boolean. + The ordinal of the field. + + + Retrieves the field value as a byte. + The field value as a byte. + The ordinal of the field. + + + Retrieves the field value as a byte array. + The number of bytes copied. + The ordinal of the field. + The index at which to start copying data. + The destination buffer where data is copied. + The index in the destination buffer where copying will begin. + The number of bytes to copy. + + + Retrieves the field value as a char. + The field value as a char. + The ordinal of the field. + + + Retrieves the field value as a char array. + The number of characters copied. + The ordinal of the field. + The index at which to start copying data. + The destination buffer where data is copied. + The index in the destination buffer where copying will begin. + The number of characters to copy. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as a + + + The field value as a . + + The ordinal of the field. + + + Retrieves the name of the field data type. + The name of the field data type. + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + Retrieves the field value as a decimal. + The field value as a decimal. + The ordinal of the field. + + + Retrieves the field value as a double. + The field value as a double. + The ordinal of the field. + + + Retrieves the type of a field. + The field type. + The ordinal of the field. + + + Retrieves the field value as a float. + The field value as a float. + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + Retrieves the name of a field. + The name of the field. + The ordinal of the field. + + + Retrieves the ordinal of a field by using the name of the field. + The ordinal of the field. + The name of the field. + + + Retrieves the field value as a string. + The field value. + The ordinal of the field. + + + Retrieves the value of a field. + The field value. + The ordinal of the field. + + + Retrieves the value of a field. + The field value. + The ordinal of the field. + + + Populates an array of objects with the field values of the current record. + The number of field values returned. + An array of objects to store the field values. + + + + Returns whether the specified field is set to . + + + true if the field is set to ; otherwise false. + + The ordinal of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets field values in a record. + The number of the fields that were set. + The values of the field. + + + + Sets a field to the value. + + The ordinal of the field. + + + Gets data record information. + + A object. + + + + + Retrieves a field value as a . + + + A field value as a . + + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + + List of type pairs that constructor call new XXXX(YYY yyy) could be translated to SQL CAST(yyy AS XXXXX) call + + + + + Provides common language runtime (CLR) methods that expose EDM canonical functions + for use in or LINQ to Entities queries. + + + Note that these functions have been moved to the class starting with EF6. + The functions are retained here only to help in the migration of older EF apps to EF6. + + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Left EDM function to return a given + number of the leftmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the left of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Right EDM function to return a given + number of the rightmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the right of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Reverse EDM function to return a given + string with the order of the characters reversed. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The input string with the order of the characters reversed. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical GetTotalOffsetMinutes EDM function to + return the number of minutes that the given date/time is offset from UTC. This is generally between +780 + and -780 (+ or - 13 hrs). + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The offset of the input from UTC. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTimeOffset EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The time zone offset part of the new date. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of hours between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of minutes between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of seconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of milliseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of microseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of nanoseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + The string to escape special characters with, must only be a single character. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a Unicode string. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a non-Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a non-Unicode string. + + + + Options for query execution. + + + + + Creates a new instance of . + + Merge option to use for entity results. + + + + Creates a new instance of . + + Merge option to use for entity results. + Whether the query is streaming or buffering. + + + + Merge option to use for entity results. + + + + + Whether the query is streaming or buffering. + + + + Determines whether the specified objects are equal. + true if the two objects are equal; otherwise, false. + The left object to compare. + The right object to compare. + + + + Determines whether the specified objects are not equal. + + The left object to compare. + The right object to compare. + true if the two objects are not equal; otherwise, false. + + + + + + + + + + Defines behavior for implementations of IQueryable that allow modifications to the membership of the resulting set. + + Type of entities returned from the queryable. + + + Notifies the set that an object that represents a new entity must be added to the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The new object to add to the set. + + + Notifies the set that an object that represents an existing entity must be added to the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The existing object to add to the set. + + + Notifies the set that an object that represents an existing entity must be deleted from the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The existing object to delete from the set. + + + Notifies the set that an object that represents an existing entity must be detached from the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The object to detach from the set. + + + + The different ways that new objects loaded from the database can be merged with existing objects already in memory. + + + + + Will only append new (top level-unique) rows. This is the default behavior. + + + + + Same behavior as LoadOption.OverwriteChanges. + + + + + Same behavior as LoadOption.PreserveChanges. + + + + + Will not modify cache. + + + + + ObjectContext is the top-level object that encapsulates a connection between the CLR and the database, + serving as a gateway for Create, Read, Update, and Delete operations. + + + + + Initializes a new instance of the class with the given connection. During construction, the metadata workspace is extracted from the + + object. + + + An that contains references to the model and to the data source connection. + + The connection is null. + The connection is invalid or the metadata workspace is invalid. + + + + Creates an ObjectContext with the given connection and metadata workspace. + + connection to the store + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + Initializes a new instance of the class with the given connection string and default entity container name. + + The connection string, which also provides access to the metadata information. + The connectionString is null. + The connectionString is invalid or the metadata workspace is not valid. + + + + Initializes a new instance of the class with a given connection string and entity container name. + + The connection string, which also provides access to the metadata information. + The name of the default entity container. When the defaultContainerName is set through this method, the property becomes read-only. + The connectionString is null. + The connectionString , defaultContainerName , or metadata workspace is not valid. + + + + Initializes a new instance of the class with a given connection and entity container name. + + + An that contains references to the model and to the data source connection. + + The name of the default entity container. When the defaultContainerName is set through this method, the property becomes read-only. + The connection is null. + The connection , defaultContainerName , or metadata workspace is not valid. + + + Gets the connection used by the object context. + + A object that is the connection. + + + When the instance has been disposed. + + + + Gets or sets the default container name. + + A that is the default container name. + + + + Gets the metadata workspace used by the object context. + + The object associated with this + + . + + + + Gets the object state manager used by the object context to track object changes. + + The used by this + + . + + + + Gets or sets the timeout value, in seconds, for all object context operations. A null value indicates that the default value of the underlying provider will be used. + + An value that is the timeout value, in seconds. + + The timeout value is less than 0. + + + Gets the LINQ query provider associated with this object context. + + The instance used by this object context. + + + + + Gets the instance that contains options that affect the behavior of the + + . + + + The instance that contains options that affect the behavior of the + + . + + + + + Returns itself. ObjectContext implements to provide a common + interface for and ObjectContext both of which will return the underlying + ObjectContext. + + + + + Gets the transaction handler in use by this context. May be null if no transaction have been started. + + + The transaction handler. + + + + + Returns the being used for this context. + + + + Occurs when changes are saved to the data source. + + + Occurs when a new entity object is created from data in the data source as part of a query or load operation. + + + Accepts all changes made to objects in the object context. + + + Adds an object to the object context. + Represents the entity set name, which may optionally be qualified by the entity container name. + + The to add. + + The entity parameter is null or the entitySetName does not qualify. + + + Explicitly loads an object related to the supplied object by the specified navigation property and using the default merge option. + The entity for which related objects are to be loaded. + The name of the navigation property that returns the related objects to be loaded. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified navigation property and using the specified merge option. + The entity for which related objects are to be loaded. + The name of the navigation property that returns the related objects to be loaded. + + The value to use when you load the related objects. + + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the default merge option. + The type of the entity. + The source object for which related objects are to be loaded. + A LINQ expression that defines the related objects to be loaded. + selector does not supply a valid input parameter. + selector is null. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the specified merge option. + The type of the entity. + The source object for which related objects are to be loaded. + A LINQ expression that defines the related objects to be loaded. + + The value to use when you load the related objects. + + selector does not supply a valid input parameter. + selector is null. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Applies property changes from a detached object to an object already attached to the object context. + The name of the entity set to which the object belongs. + The detached object that has property updates to apply to the original object. + When entitySetName is null or an empty string or when changed is null. + + When the from entitySetName does not match the + + of the object + + or when the entity is in a state other than + + or + + or the original object is not attached to the context. + + When the type of the changed object is not the same type as the original object. + + + + Copies the scalar values from the supplied object into the object in the + + that has the same key. + + The updated object. + The name of the entity set to which the object belongs. + + The detached object that has property updates to apply to the original object. The entity key of currentEntity must match the + + property of an entry in the + + . + + The entity type of the object. + entitySetName or current is null. + + The from entitySetName does not match the + + of the object + + or the object is not in the + + or it is in a + + state or the entity key of the supplied object is invalid. + + entitySetName is an empty string. + + + + Copies the scalar values from the supplied object into set of original values for the object in the + + that has the same key. + + The updated object. + The name of the entity set to which the object belongs. + + The detached object that has original values to apply to the object. The entity key of originalEntity must match the + + property of an entry in the + + . + + The type of the entity object. + entitySetName or original is null. + + The from entitySetName does not match the + + of the object + + or an + + for the object cannot be found in the + + or the object is in an + + or a + + state or the entity key of the supplied object is invalid or has property changes. + + entitySetName is an empty string. + + + Attaches an object or object graph to the object context in a specific entity set. + Represents the entity set name, which may optionally be qualified by the entity container name. + + The to attach. + + The entity is null. + + Invalid entity set or the object has a temporary key or the object has an + + and the + + does not match with the entity set passed in as an argument of the method or the object does not have an + + and no entity set is provided or any object from the object graph has a temporary + + or any object from the object graph has an invalid + + (for example, values in the key do not match values in the object) or the entity set could not be found from a given entitySetName name and entity container name or any object from the object graph already exists in another state manager. + + + + Attaches an object or object graph to the object context when the object has an entity key. + The object to attach. + The entity is null. + Invalid entity key. + + + Creates the entity key for a specific object, or returns the entity key if it already exists. + + The of the object. + + The fully qualified name of the entity set to which the entity object belongs. + The object for which the entity key is being retrieved. + When either parameter is null. + When entitySetName is empty or when the type of the entity object does not exist in the entity set or when the entitySetName is not fully qualified. + When the entity key cannot be constructed successfully based on the supplied parameters. + + + + Creates a new instance that is used to query, add, modify, and delete objects of the specified entity type. + + + The new instance. + + + Entity type of the requested . + + + The property is not set on the + + or the specified type belongs to more than one entity set. + + + + + Creates a new instance that is used to query, add, modify, and delete objects of the specified type and with the specified entity set name. + + + The new instance. + + + Name of the entity set for the returned . The string must be qualified by the default container name if the + + property is not set on the + + . + + + Entity type of the requested . + + + The from entitySetName does not match the + + of the object + + or the + + property is not set on the + + and the name is not qualified as part of the entitySetName parameter or the specified type belongs to more than one entity set. + + + + + Creates an in the current object context by using the specified query string. + + + An of the specified type. + + The query string to be executed. + Parameters to pass to the query. + + The entity type of the returned . + + The queryString or parameters parameter is null. + + + Marks an object for deletion. + + An object that specifies the entity to delete. The object can be in any state except + + . + + + + Removes the object from the object context. + + Object to be detached. Only the entity is removed; if there are any related objects that are being tracked by the same + + , those will not be detached automatically. + + The entity is null. + + The entity is not associated with this (for example, was newly created and not associated with any context yet, or was obtained through some other context, or was already detached). + + + + + Finalizes an instance of the class. + + + + Releases the resources used by the object context. + + + + Releases the resources used by the object context. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Returns an object that has the specified entity key. + + An that is an instance of an entity type. + + The key of the object to be found. + The key parameter is null. + + The object is not found in either the or the data source. + + + + Updates a collection of objects in the object context with data from the database. + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + + An collection of objects to refresh. + + collection is null. + refreshMode is not valid. + collection is empty or an object is not attached to the context. + + + Updates an object in the object context with data from the database. + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + The object to be refreshed. + entity is null. + refreshMode is not valid. + entity is not attached to the context. + + + Asynchronously updates a collection of objects in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + + An collection of objects to refresh. + + + A task that represents the asynchronous operation. + + collection is null. + refreshMode is not valid. + collection is empty or an object is not attached to the context. + + + Asynchronously updates a collection of objects in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + + An collection of objects to refresh. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + collection is null. + refreshMode is not valid. + collection is empty or an object is not attached to the context. + + + Asynchronously updates an object in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + The object to be refreshed. + + A task that represents the asynchronous operation. + + entity is null. + refreshMode is not valid. + entity is not attached to the context. + + + Asynchronously updates an object in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + The object to be refreshed. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + entity is null. + refreshMode is not valid. + entity is not attached to the context. + + + Persists all updates to the database and resets change tracking in the object context. + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Persists all updates to the database and optionally resets change tracking in the object context. + + This parameter is needed for client-side transaction support. If true, the change tracking on all objects is reset after + + finishes. If false, you must call the + method after . + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Persists all updates to the database and optionally resets change tracking in the object context. + + A value that determines the behavior of the operation. + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and optionally resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that determines the behavior of the operation. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and optionally resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that determines the behavior of the operation. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + + Ensures that changes are synchronized with changes in all objects that are tracked by the + + . + + + + Returns an object that has the specified entity key. + true if the object was retrieved successfully. false if the key is temporary, the connection is null, or the value is null. + The key of the object to be found. + When this method returns, contains the object. + Incompatible metadata for key . + key is null. + + + + Executes a stored procedure or function that is defined in the data source and mapped in the conceptual model, with the specified parameters. Returns a typed + + . + + + An for the data that is returned by the stored procedure. + + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + The entity type of the returned when the function is executed against the data source. This type must implement + + . + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + + Executes the given stored procedure or function that is defined in the data source and expressed in the conceptual model, with the specified parameters, and merge option. Returns a typed + + . + + + An for the data that is returned by the stored procedure. + + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + The to use when executing the query. + + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + The entity type of the returned when the function is executed against the data source. This type must implement + + . + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + + Executes the given function on the default container. + + Element type for function results. + + Name of function. May include container (e.g. ContainerName.FunctionName) or just function name when DefaultContainerName is known. + + The options for executing this function. + + The parameter values to use for the function. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + An object representing the result of executing this function. + If function is null or empty + + If function is invalid (syntax, + does not exist, refers to a function with return type incompatible with T) + + + + Executes a stored procedure or function that is defined in the data source and expressed in the conceptual model; discards any results returned from the function; and returns the number of rows affected by the execution. + The number of rows affected. + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + Generates an equivalent type that can be used with the Entity Framework for each type in the supplied enumeration. + + An enumeration of objects that represent custom data classes that map to the conceptual model. + + + + Returns all the existing proxy types. + + An of all the existing proxy types. + + + + Returns the entity type of the POCO entity associated with a proxy object of a specified type. + + The of the associated POCO entity. + + + The of the proxy object. + + + + Creates and returns an instance of the requested type . + An instance of the requested type T , or an instance of a derived type that enables T to be used with the Entity Framework. The returned object is either an instance of the requested type or an instance of a derived type that enables the requested type to be used with the Entity Framework. + Type of object to be returned. + + + + Executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command specified in the server's native query language. + The parameter values to use for the query. + The number of rows affected. + + + + Executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + Controls the creation of a transaction for this command. + The command specified in the server's native query language. + The parameter values to use for the query. + The number of rows affected. + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command specified in the server's native query language. + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command specified in the server's native query language. + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command specified in the server's native query language. + + A to observe while waiting for the task to complete. + + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command specified in the server's native query language. + + A to observe while waiting for the task to complete. + + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior of + DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + + The to use when executing the query. The default is + . + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + + A to observe while waiting for the task to complete. + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The options for executing this query. + + A to observe while waiting for the task to complete. + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + The options for executing this query. + + A to observe while waiting for the task to complete. + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Translates a that contains rows of entity data to objects of the requested entity type. + + The entity type. + An enumeration of objects of type TResult . + + The that contains entity data to translate into entity objects. + + When reader is null. + + + + Translates a that contains rows of entity data to objects of the requested entity type, in a specific entity set, and with the specified merge option. + + The entity type. + An enumeration of objects of type TResult . + + The that contains entity data to translate into entity objects. + + The entity set of the TResult type. + + The to use when translated objects are added to the object context. The default is + + . + + When reader is null. + + When the supplied mergeOption is not a valid value. + + When the supplied entitySetName is not a valid entity set for the TResult type. + + + + Creates the database by using the current data source connection and the metadata in the + + . + + + + Deletes the database that is specified as the database in the current data source connection. + + + + Checks if the database that is specified as the database in the current store connection exists on the store. Most of the actual work + is done by the DbProviderServices implementation for the current store connection. + + true if the database exists; otherwise, false. + + + + Generates a data definition language (DDL) script that creates schema objects (tables, primary keys, foreign keys) for the metadata in the + + . The + + loads metadata from store schema definition language (SSDL) files. + + + A DDL script that creates schema objects for the metadata in the + + . + + + + + Defines options that affect the behavior of the ObjectContext. + + + + + Gets or sets the value that determines whether SQL functions and commands should be always executed in a transaction. + + + This flag determines whether a new transaction will be started when methods such as + and are executed outside of a transaction. + Note that this does not change the behavior of . + + + The default transactional behavior. + + + + Gets or sets a Boolean value that determines whether related objects are loaded automatically when a navigation property is accessed. + true if lazy loading is enabled; otherwise, false. + + + Gets or sets a Boolean value that determines whether proxy instances are created for custom data classes that are persistence ignorant. + true if proxies are created; otherwise, false. The default value is true. + + + Gets or sets a Boolean value that determines whether to use the legacy PreserveChanges behavior. + true if the legacy PreserveChanges behavior should be used; otherwise, false. + + + Gets or sets a Boolean value that determines whether to use the consistent NullReference behavior. + + If this flag is set to false then setting the Value property of the for an + FK relationship to null when it is already null will have no effect. When this flag is set to true, then + setting the value to null will always cause the FK to be nulled and the relationship to be deleted + even if the value is currently null. The default value is false when using ObjectContext and true + when using DbContext. + + true if the consistent NullReference behavior should be used; otherwise, false. + + + Gets or sets a Boolean value that determines whether to use the C# NullComparison behavior. + + This flag determines whether C# behavior should be exhibited when comparing null values in LinqToEntities. + If this flag is set, then any equality comparison between two operands, both of which are potentially + nullable, will be rewritten to show C# null comparison semantics. As an example: + (operand1 = operand2) will be rewritten as + (((operand1 = operand2) AND NOT (operand1 IS NULL OR operand2 IS NULL)) || (operand1 IS NULL && operand2 IS NULL)) + The default value is false when using . + + true if the C# NullComparison behavior should be used; otherwise, false. + + + + EventArgs for the ObjectMaterialized event. + + + + + Constructs new arguments for the ObjectMaterialized event. + + The object that has been materialized. + + + Gets the entity object that was created. + The entity object that was created. + + + + Delegate for the ObjectMaterialized event. + + The ObjectContext responsable for materializing the object. + EventArgs containing a reference to the materialized object. + + + + This class represents a query parameter at the object layer, which consists + of a Name, a Type and a Value. + + + + + Initializes a new instance of the class with the specified name and type. + + The parameter name. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. The first character of the expression must be a letter. Any successive characters in the expression must be either letters, numbers, or an underscore (_) character. + The common language runtime (CLR) type of the parameter. + If the value of either argument is null. + If the value of the name argument is invalid. Parameter names must start with a letter and can only contain letters, numbers, and underscores. + + + + Initializes a new instance of the class with the specified name and value. + + The parameter name. This name should not include the "@" parameter marker that is used in Entity SQL statements, only the actual name. The first character of the expression must be a letter. Any successive characters in the expression must be either letters, numbers, or an underscore (_) character. + The initial value (and inherently, the type) of the parameter. + If the value of either argument is null. + If the value of the name argument is not valid. Parameter names must start with a letter and can only contain letters, numbers, and underscores. + + + Gets the parameter name, which can only be set through a constructor. + The parameter name, which can only be set through a constructor. + + + Gets the parameter type. + + The of the parameter. + + + + Gets or sets the parameter value. + The parameter value. + + + + This class represents a collection of query parameters at the object layer. + + + + Gets the number of parameters currently in the collection. + + The number of objects that are currently in the collection. + + + + + This collection is read-write - parameters may be added, removed + and [somewhat] modified at will (value only) - provided that the + implementation the collection belongs to has not locked its parameters + because it's command definition has been prepared. + + + + Provides an indexer that allows callers to retrieve parameters by name. + + The instance. + + The name of the parameter to find. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. + No parameter with the specified name is found in the collection. + + + + Adds the specified to the collection. + + The parameter to add to the collection. + The parameter argument is null. + + The parameter argument already exists in the collection. This behavior differs from that of most collections that allow duplicate entries. -or-Another parameter with the same name as the parameter argument already exists in the collection. Note that the lookup is case-insensitive. This behavior differs from that of most collections, and is more like that of a + + . + + The type of the parameter is not valid. + + + + Deletes all instances from the collection. + + + + + Checks for the existence of a specified in the collection by reference. + + Returns true if the parameter object was found in the collection; otherwise, false. + + The to find in the collection. + + The parameter argument is null. + + + + Determines whether an with the specified name is in the collection. + + Returns true if a parameter with the specified name was found in the collection; otherwise, false. + The name of the parameter to look for in the collection. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. + The name parameter is null. + + + Allows the parameters in the collection to be copied into a supplied array, starting with the object at the specified index. + The array into which to copy the parameters. + The index in the array at which to start copying the parameters. + + + + Removes an instance of an from the collection by reference if it exists in the collection. + + Returns true if the parameter object was found and removed from the collection; otherwise, false. + An object to remove from the collection. + The parameter argument is null. + + + + These methods return enumerator instances, which allow the collection to + be iterated through and traversed. + + An object that can be used to iterate through the collection. + + + Returns an untyped enumerator over the collection. + + An instance. + + + + + This class implements untyped queries at the object-layer. + + + + Returns the command text for the query. + A string value. + + + Gets the object context associated with this object query. + + The associated with this + + instance. + + + + Gets or sets how objects returned from a query are added to the object context. + + The query . + + + + + Whether the query is streaming or buffering + + + + Gets the parameter collection for this object query. + + The parameter collection for this . + + + + Gets or sets a value that indicates whether the query plan should be cached. + A value that indicates whether the query plan should be cached. + + + Returns the commands to execute against the data source. + A string that represents the commands that the query executes against the data source. + + + Returns information about the result type of the query. + + A value that contains information about the result type of the query. + + + + Executes the untyped object query with the specified merge option. + + The to use when executing the query. + The default is . + + + An that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the untyped object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the untyped object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + + Returns the collection as an used for data binding. + + + An of entity objects. + + + + + Gets the result element type for this query instance. + + + + + Gets the expression describing this query. For queries built using + LINQ builder patterns, returns a full LINQ expression tree; otherwise, + returns a constant expression wrapping this query. Note that the + default expression is not cached. This allows us to differentiate + between LINQ and Entity-SQL queries. + + + + + Gets the associated with this query instance. + + + + Returns an enumerator that iterates through a collection. + + An that can be used to iterate through the collection. + + + + + Returns an which when enumerated will execute the given SQL query against the database. + + The query results. + + + + ObjectQuery implements strongly-typed queries at the object-layer. + Queries are specified using Entity-SQL strings and may be created by calling + the Entity-SQL-based query builder methods declared by ObjectQuery. + + The result type of this ObjectQuery + + + + Creates a new instance using the specified Entity SQL command as the initial query. + + The Entity SQL query. + + The on which to execute the query. + + + + + Creates a new instance using the specified Entity SQL command as the initial query and the specified merge option. + + The Entity SQL query. + + The on which to execute the query. + + + Specifies how the entities that are retrieved through this query should be merged with the entities that have been returned from previous queries against the same + + . + + + + Gets or sets the name of this object query. + + A string value that is the name of this . + + The value specified on set is not valid. + + + Executes the object query with the specified merge option. + + The to use when executing the query. + The default is . + + + An that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + Specifies the related objects to include in the query results. + + A new with the defined query path. + + Dot-separated list of related objects to return in the query results. + path is null. + path is empty. + + + Limits the query to unique results. + + A new instance that is equivalent to the original instance with SELECT DISTINCT applied. + + + + + This query-builder method creates a new query whose results are all of + the results of this query, except those that are also part of the other + query specified. + + A query representing the results to exclude. + a new ObjectQuery instance. + If the query parameter is null. + + + Groups the query results by the specified criteria. + + A new instance of type + + that is equivalent to the original instance with GROUP BY applied. + + The key columns by which to group the results. + The list of selected properties that defines the projection. + Zero or more parameters that are used in this method. + The query parameter is null or an empty string + or the projection parameter is null or an empty string. + + + + This query-builder method creates a new query whose results are those that + are both in this query and the other query specified. + + A query representing the results to intersect with. + a new ObjectQuery instance. + If the query parameter is null. + + + Limits the query to only results of a specific type. + + A new instance that is equivalent to the original instance with OFTYPE applied. + + + The type of the returned when the query is executed with the applied filter. + + The type specified is not valid. + + + Orders the query results by the specified criteria. + + A new instance that is equivalent to the original instance with ORDER BY applied. + + The key columns by which to order the results. + Zero or more parameters that are used in this method. + The keys or parameters parameter is null. + The key is an empty string. + + + Limits the query results to only the properties that are defined in the specified projection. + + A new instance of type + + that is equivalent to the original instance with SELECT applied. + + The list of selected properties that defines the projection. + Zero or more parameters that are used in this method. + projection is null or parameters is null. + The projection is an empty string. + + + Limits the query results to only the property specified in the projection. + + A new instance of a type compatible with the specific projection. The returned + + is equivalent to the original instance with SELECT VALUE applied. + + The projection list. + An optional set of query parameters that should be in scope when parsing. + + The type of the returned by the + + method. + + projection is null or parameters is null. + The projection is an empty string. + + + Orders the query results by the specified criteria and skips a specified number of results. + + A new instance that is equivalent to the original instance with both ORDER BY and SKIP applied. + + The key columns by which to order the results. + The number of results to skip. This must be either a constant or a parameter reference. + An optional set of query parameters that should be in scope when parsing. + Any argument is null. + keys is an empty string or count is an empty string. + + + Limits the query results to a specified number of items. + + A new instance that is equivalent to the original instance with TOP applied. + + The number of items in the results as a string. + An optional set of query parameters that should be in scope when parsing. + count is null. + count is an empty string. + + + + This query-builder method creates a new query whose results are all of + the results of this query, plus all of the results of the other query, + without duplicates (i.e., results are unique). + + A query representing the results to add. + a new ObjectQuery instance. + If the query parameter is null. + + + + This query-builder method creates a new query whose results are all of + the results of this query, plus all of the results of the other query, + including any duplicates (i.e., results are not necessarily unique). + + A query representing the results to add. + a new ObjectQuery instance. + If the query parameter is null. + + + Limits the query to results that match specified filtering criteria. + + A new instance that is equivalent to the original instance with WHERE applied. + + The filter predicate. + Zero or more parameters that are used in this method. + predicate is null or parameters is null. + The predicate is an empty string. + + + + Returns an which when enumerated will execute the given SQL query against the database. + + The query results. + + + + Returns an which when enumerated will execute the given SQL query against the database. + + The query results. + + + + This class implements IEnumerable and IDisposable. Instance of this class + is returned from ObjectQuery.Execute method. + + + + + This constructor is intended only for use when creating test doubles that will override members + with mocked or faked behavior. Use of this constructor for other purposes may result in unexpected + behavior including but not limited to throwing . + + + + + + + Returns an enumerator that iterates through the query results. + An enumerator that iterates through the query results. + + + + IListSource.ContainsListCollection implementation. Always returns false. + + + + Returns the results in a format useful for data binding. + + An of entity objects. + + + + + When overridden in a derived class, gets the type of the generic + + . + + + The type of the generic . + + + + Performs tasks associated with freeing, releasing, or resetting resources. + + + Releases the resources used by the object result. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets the next result set of a stored procedure. + An ObjectResult that enumerates the values of the next result set. Null, if there are no more, or if the ObjectResult is not the result of a stored procedure call. + The type of the element. + + + + This class represents the result of the method. + + The type of the result. + + + + This constructor is intended only for use when creating test doubles that will override members + with mocked or faked behavior. Use of this constructor for other purposes may result in unexpected + behavior including but not limited to throwing . + + + + Returns an enumerator that iterates through the query results. + An enumerator that iterates through the query results. + + + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + true to release managed and unmanaged resources; false to release only unmanaged resources. + + + + Gets the type of the . + + + A that is the type of the . + + + + + Represents a typed entity set that is used to perform create, read, update, and delete operations. + + The type of the entity. + + + + Gets the metadata of the entity set represented by this instance. + + + An object. + + + + Adds an object to the object context in the current entity set. + The object to add. + + + Attaches an object or object graph to the object context in the current entity set. + The object to attach. + + + Marks an object for deletion. + + An object that represents the entity to delete. The object can be in any state except + + . + + + + Removes the object from the object context. + + Object to be detached. Only the entity is removed; if there are any related objects that are being tracked by the same + + , those will not be detached automatically. + + + + + Copies the scalar values from the supplied object into the object in the + + that has the same key. + + The updated object. + + The detached object that has property updates to apply to the original object. The entity key of currentEntity must match the + + property of an entry in the + + . + + + + + Sets the property of an + + to match the property values of a supplied object. + + The updated object. + + The detached object that has property updates to apply to the original object. The entity key of originalEntity must match the + + property of an entry in the + + . + + + + Creates a new entity type object. + The new entity type object, or an instance of a proxy type that corresponds to the entity type. + + + Creates an instance of the specified type. + An instance of the requested type T , or an instance of a proxy type that corresponds to the type T . + Type of object to be returned. + + + + Represents either a entity, entity stub or relationship + + + + + Gets the for the + + . + + + The for the + + . + + + + + Gets the for the object or relationship. + + + The for the object or relationship. + + + + + Gets the state of the . + + + The state of the . + + + + Gets the entity object. + The entity object. + + + Gets the entity key. + The entity key. + + + + Gets a value that indicates whether the represents a relationship. + + + true if the represents a relationship; otherwise, false. + + + + Gets the read-only version of original values of the object or relationship. + The read-only version of original values of the relationship set entry or entity. + + + + Gets the updatable version of original values of the object associated with this + + . + + The updatable original values of object data. + + + + Gets the current property values of the object or relationship associated with this + + . + + + A that contains the current values of the object or relationship associated with this + + . + + + + Accepts the current values as original values. + + + Marks an entity as deleted. + + + + Returns the names of an object’s properties that have changed since the last time + + was called. + + + An collection of names as string. + + + + Sets the state of the object or relationship to modify. + If State is not Modified or Unchanged + + + Marks the specified property as modified. + The name of the property. + If State is not Modified or Unchanged + + + Rejects any changes made to the property with the given name since the property was last loaded, attached, saved, or changes were accepted. The original value of the property is stored and the property will no longer be marked as modified. + The name of the property to change. + + + Uses DetectChanges to determine whether or not the current value of the property with the given name is different from its original value. Note that this may be different from the property being marked as modified since a property which has not changed can still be marked as modified. + + Note that this property always returns the same result as the modified state of the property for change tracking + proxies and entities that derive from the EntityObject base class. This is because original values are not tracked + for these entity types and hence there is no way to know if the current value is really different from the + original value. + + true if the property has changed; otherwise, false. + The name of the property. + + + + Gets the instance for the object represented by entry. + + + The object. + + The entry is a stub or represents a relationship + + + + Changes state of the entry to the specified value. + + + The value to set for the + + property of the entry. + + + + Sets the current values of the entry to match the property values of a supplied object. + The detached object that has updated values to apply to the object. currentEntity can also be the object’s entity key. + + + Sets the original values of the entry to match the property values of a supplied object. + The detached object that has original values to apply to the object. originalEntity can also be the object’s entity key. + + + + Used to report that a scalar entity property is about to change + The current value of the specified property is cached when this method is called. + + The name of the entity property that is changing + + + + Used to report that a scalar entity property has been changed + The property value that was cached during EntityMemberChanging is now + added to OriginalValues + + The name of the entity property that has changing + + + + Used to report that a complex property is about to change + The current value of the specified property is cached when this method is called. + + The name of the top-level entity property that is changing + The complex object that contains the property that is changing + The name of the property that is changing on complexObject + + + + Used to report that a complex property has been changed + The property value that was cached during EntityMemberChanging is now added to OriginalValues + + The name of the top-level entity property that has changed + The complex object that contains the property that changed + The name of the property that changed on complexObject + + + + Returns the EntityState from the ObjectStateEntry + + + + + Maintains object state and identity management for entity type instances and relationship instances. + + + + + Initializes a new instance of the class. + + + The , which supplies mapping and metadata information. + + + + + Gets the associated with this state manager. + + + The associated with this + + . + + + + Occurs when entities are added to or removed from the state manager. + + + + Returns a collection of objects for objects or relationships with the given state. + + + A collection of objects in the given + + . + + + An used to filter the returned + + objects. + + + When state is . + + + + + Changes state of the for a specific object to the specified entityState . + + + The for the supplied entity . + + The object for which the state must be changed. + The new state of the object. + When entity is null. + + When the object is not detached and does not have an entry in the state manager + or when you try to change the state to + from any other + or when state is not a valid value. + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and the name of the navigation property. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + The name of the navigation property on source that returns the specified target . + + The requested of the specified relationship. + + When source or target is null. + + When trying to change the state of the relationship to a state other than + or + when either source or target is in a state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an state + or when state is not a valid value + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and a LINQ expression that defines the navigation property. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + A LINQ expression that selects the navigation property on source that returns the specified target . + + The requested of the specified relationship. + + The entity type of the source object. + When source , target , or selector is null. + selector is malformed or cannot return a navigation property. + + When you try to change the state of the relationship to a state other than + or + when either source or target is in a + state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an state + or when state is not a valid value. + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and the properties of the relationship. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + The name of the relationship. + The role name at the target end of the relationship. + + The requested of the specified relationship. + + When source or target is null. + + When you try to change the state of the relationship to a state other than + or + when either source or target is in a state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an + state + or when state is not a valid value. + + + + + Returns an for the object or relationship entry with the specified key. + + + The corresponding for the given + + . + + + The . + + When key is null. + When the specified key cannot be found in the state manager. + + No entity with the specified exists in the + + . + + + + + Returns an for the specified object. + + + The corresponding for the given + + . + + + The to which the retrieved + + belongs. + + + No entity for the specified exists in the + + . + + + + + Tries to retrieve the corresponding for the specified + + . + + + A Boolean value that is true if there is a corresponding + + for the given object; otherwise, false. + + + The to which the retrieved + + belongs. + + + When this method returns, contains the for the given + + This parameter is passed uninitialized. + + + + + Tries to retrieve the corresponding for the object or relationship with the specified + + . + + + A Boolean value that is true if there is a corresponding + + for the given + + ; otherwise, false. + + + The given . + + + When this method returns, contains an for the given + + This parameter is passed uninitialized. + + A null (Nothing in Visual Basic) value is provided for key . + + + + Returns the that is used by the specified object. + + + The for the specified object. + + + The object for which to return the . + + + The entity does not implement IEntityWithRelationships and is not tracked by this ObjectStateManager + + + + + Returns the that is used by the specified object. + + + true if a instance was returned for the supplied entity ; otherwise false. + + + The object for which to return the . + + + When this method returns, contains the + + for the entity . + + + + + The original values of the properties of an entity when it was retrieved from the database. + + + + + A DataContractResolver that knows how to resolve proxy types created for persistent + ignorant classes to their base types. This is used with the DataContractSerializer. + + + + During deserialization, maps any xsi:type information to the actual type of the persistence-ignorant object. + Returns the type that the xsi:type is mapped to. Returns null if no known type was found that matches the xsi:type. + The xsi:type information to map. + The namespace of the xsi:type. + The declared type. + + An instance of . + + + + During serialization, maps actual types to xsi:type information. + true if the type was resolved; otherwise, false. + The actual type of the persistence-ignorant object. + The declared type. + + An instance of . + + When this method returns, contains a list of xsi:type declarations. + When this method returns, contains a list of namespaces used. + + + + Defines the different ways to handle modified properties when refreshing in-memory data from the database. + + + + + For unmodified client objects, same behavior as StoreWins. For modified client + objects, Refresh original values with store value, keeping all values on client + object. The next time an update happens, all the client change units will be + considered modified and require updating. + + + + + Discard all changes on the client and refresh values with store values. + Client original values is updated to match the store. + + + + + Flags used to modify behavior of ObjectContext.SaveChanges() + + + + + Changes are saved without the DetectChanges or the AcceptAllChangesAfterSave methods being called. + + + + + After changes are saved, the AcceptAllChangesAfterSave method is called, which resets change tracking in the ObjectStateManager. + + + + + Before changes are saved, the DetectChanges method is called to synchronize the property values of objects that are attached to the object context with data in the ObjectStateManager. + + + + + This exception is thrown when a update operation violates the concurrency constraint. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of that uses a specified error message, a reference to the inner exception, and an enumerable collection of + + objects. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + The enumerable collection of objects. + + + + + Property constraint exception class. Note that this class has state - so if you change even + its internals, it can be a breaking change + + + + + Initializes a new instance of the class with default message. + + + + + Initializes a new instance of the class with supplied message. + + A localized error message. + + + + Initializes a new instance of the class with supplied message and inner exception. + + A localized error message. + The inner exception. + + + + Initializes a new instance of the class. + + A localized error message. + The name of the property. + + + + Initializes a new instance of the class. + + A localized error message. + The name of the property. + The inner exception. + + + Gets the name of the property that violated the constraint. + The name of the property that violated the constraint. + + + + 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. + + + + This exception is thrown when the store provider exhibits a behavior incompatible with the entity client provider + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Used for conversion between different representations of bit array. + Returns (n+(div-1))/div, rearranged to avoid arithmetic overflow. + For example, in the bit to int case, the straightforward calc would + be (n+31)/32, but that would cause overflow. So instead it's + rearranged to ((n-1)/32) + 1, with special casing for 0. + + Usage: + GetArrayLength(77, BitsPerInt32): returns how many ints must be + allocated to store 77 bits. + + length of array + use a conversion constant, e.g. BytesPerInt32 to get + how many ints are required to store n bytes + length of the array + + + + Is this tree uses user-defined functions + Simplifying query with UDFs could caused to suboptimal plans + + Current subtree to process + Mapped variables + + + + + Exception during save changes to store + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of the class that uses 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 a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class that uses a specified error message, a reference to the inner exception, and an enumerable collection of + + objects. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + The collection of objects. + + + + + Gets the objects for this + + . + + + A collection of objects comprised of either a single entity and 0 or more relationships, or 0 entities and 1 or more relationships. + + + + + Initializes a new instance of with serialized data. + + + The that holds the serialized object data about the exception being thrown. + + + The that contains contextual information about the source or destination. + + + + + An implementation of IDatabaseInitializer that will recreate and optionally re-seed the + database only if the database does not exist. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An instance of this class is obtained from an object and can be used + to manage the actual database backing a DbContext or connection. + This includes creating, deleting, and checking for the existence of a database. + Note that deletion and checking for existence of a database can be performed using just a + connection (i.e. without a full context) by using the static methods of this class. + + + + + Gets the transaction the underlying store connection is enlisted in. May be null. + + + + + Enables the user to pass in a database transaction created outside of the object + if you want the Entity Framework to execute commands within that external transaction. + Alternatively, pass in null to clear the framework's knowledge of that transaction. + + the external transaction + Thrown if the transaction is already completed + + Thrown if the connection associated with the object is already enlisted in a + + transaction + + + Thrown if the connection associated with the object is already participating in a transaction + + Thrown if the connection associated with the transaction does not match the Entity Framework's connection + + + + Begins a transaction on the underlying store connection + + + a object wrapping access to the underlying store's transaction object + + + + + Begins a transaction on the underlying store connection using the specified isolation level + + The database isolation level with which the underlying store transaction will be created + + a object wrapping access to the underlying store's transaction object + + + + + Returns the connection being used by this context. This may cause the + connection to be created if it does not already exist. + + Thrown if the context has been disposed. + + + + Sets the database initializer to use for the given context type. The database initializer is called when a + the given type is used to access a database for the first time. + The default strategy for Code First contexts is an instance of . + + The type of the context. + The initializer to use, or null to disable initialization for the given context type. + + + + Runs the registered on this context. + If "force" is set to true, then the initializer is run regardless of whether or not it + has been run before. This can be useful if a database is deleted while an app is running + and needs to be reinitialized. + If "force" is set to false, then the initializer is only run if it has not already been + run for this context, model, and connection in this app domain. This method is typically + used when it is necessary to ensure that the database has been created and seeded + before starting some operation where doing so lazily will cause issues, such as when the + operation is part of a transaction. + + + If set to true the initializer is run even if it has already been run. + + + + + Checks whether or not the database is compatible with the current Code First model. + + + Model compatibility currently uses the following rules. + If the context was created using either the Model First or Database First approach then the + model is assumed to be compatible with the database and this method returns true. + For Code First the model is considered compatible if the model is stored in the database + in the Migrations history table and that model has no differences from the current model as + determined by Migrations model differ. + If the model is not stored in the database but an EF 4.1/4.2 model hash is found instead, + then this is used to check for compatibility. + + + If set to true then an exception will be thrown if no model metadata is found in the database. If set to false then this method will return true if metadata is not found. + + True if the model hash in the context and the database match; false otherwise. + + + + Creates a new database on the database server for the model defined in the backing context. + Note that calling this method before the database initialization strategy has run will disable + executing that strategy. + + + + + Creates a new database on the database server for the model defined in the backing context, but only + if a database with the same name does not already exist on the server. + + True if the database did not exist and was created; false otherwise. + + + + Checks whether or not the database exists on the server. + + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + Calling this method from outside of an initializer will mark the database as having + not been initialized. This means that if an attempt is made to use the database again + after it has been deleted, then any initializer set will run again and, usually, will + try to create the database again automatically. + + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + + An existing connection to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + + An existing connection to the database. + True if the database did exist and was deleted; false otherwise. + + + + The connection factory to use when creating a from just + a database name or a connection string. + + + This is used when just a database name or connection string is given to or when + the no database name or connection is given to DbContext in which case the name of + the context class is passed to this factory in order to generate a DbConnection. + By default, the instance to use is read from the application's .config + file from the "EntityFramework DefaultConnectionFactory" entry in appSettings. If no entry is found in + the config file then is used. Setting this property in code + always overrides whatever value is found in the config file. + + + + + Creates a raw SQL query that will return elements of the given generic type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.SqlQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.SqlQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The type of object returned by the query. + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values will + not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + Creates a raw SQL query that will return elements of the given type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The type of object returned by the query. + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + Executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + If there isn't an existing local or ambient transaction a new transaction will be used + to execute the command. + + The command string. + The parameters to apply to the command string. + The result returned by the database after executing the command. + + + + Executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + Controls the creation of a transaction for this command. + The command string. + The parameters to apply to the command string. + The result returned by the database after executing the command. + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command string. + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command string. + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command string. + + A to observe while waiting for the task to complete. + + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command string. + + A to observe while waiting for the task to complete. + + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Gets or sets the timeout value, in seconds, for all context operations. + The default value is null, where null indicates that the default value of the underlying + provider will be used. + + + The timeout, in seconds, or null to use the provider default. + + + + + Set this property to log the SQL generated by the to the given + delegate. For example, to log to the console, set this property to . + + + The format of the log text can be changed by creating a new formatter that derives from + and setting it with . + For more low-level control over logging/interception see and + . + + + + + A class derived from this class can be placed in the same assembly as a class derived from + to define Entity Framework configuration for an application. + Configuration is set by calling protected methods and setting protected properties of this + class in the constructor of your derived type. + The type to use can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Any class derived from must have a public parameterless constructor + and that constructor should call this constructor. + + + + + The Singleton instance of for this app domain. This can be + set at application start before any Entity Framework features have been used and afterwards + should be treated as read-only. + + The instance of . + + + + Attempts to discover and load the associated with the given + type. This method is intended to be used by tooling to ensure that + the correct configuration is loaded into the app domain. Tooling should use this method + before accessing the property. + + A type to use for configuration discovery. + + + + Attempts to discover and load the from the given assembly. + This method is intended to be used by tooling to ensure that the correct configuration is loaded into + the app domain. Tooling should use this method before accessing the + property. If the tooling knows the type being used, then the + method should be used since it gives a greater chance that + the correct configuration will be found. + + An to use for configuration discovery. + + + + Occurs during EF initialization after the DbConfiguration has been constructed but just before + it is locked ready for use. Use this event to inspect and/or override services that have been + registered before the configuration is locked. Note that this event should be used carefully + since it may prevent tooling from discovering the same configuration that is used at runtime. + + + Handlers can only be added before EF starts to use the configuration and so handlers should + generally be added as part of application initialization. Do not access the DbConfiguration + static methods inside the handler; instead use the members of + to get current services and/or add overrides. + + + + + Call this method from the constructor of a class derived from to + add a instance to the Chain of Responsibility of resolvers that + are used to resolve dependencies needed by the Entity Framework. + + + Resolvers are asked to resolve dependencies in reverse order from which they are added. This means + that a resolver can be added to override resolution of a dependency that would already have been + resolved in a different way. + The exceptions to this is that any dependency registered in the application's config file + will always be used in preference to using a dependency resolver added here. + + The resolver to add. + + + + Call this method from the constructor of a class derived from to + add a instance to the Chain of Responsibility of resolvers that + are used to resolve dependencies needed by the Entity Framework. Unlike the AddDependencyResolver + method, this method puts the resolver at the bottom of the Chain of Responsibility such that it will only + be used to resolve a dependency that could not be resolved by any of the other resolvers. + + + A implementation is automatically registered as a default resolver + when it is added with a call to . This allows EF providers to act as + resolvers for other services that may need to be overridden by the provider. + + The resolver to add. + + + + Gets the that is being used to resolve service + dependencies in the Entity Framework. + + + + + Call this method from the constructor of a class derived from to register + an Entity Framework provider. + + + Note that the provider is both registered as a service itself and also registered as a default resolver with + a call to AddDefaultResolver. This allows EF providers to act as resolvers for other services that + may need to be overridden by the provider. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + and also using AddDefaultResolver to add the provider as a default + resolver. This means that, if desired, the same functionality can be achieved using a custom resolver or a + resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The provider instance. + + + + Call this method from the constructor of a class derived from to register + an ADO.NET provider. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolvers for + and . This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The provider instance. + + + + Call this method from the constructor of a class derived from to register an + for use with the provider represented by the given invariant name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + A function that returns a new instance of an execution strategy. + + + + Call this method from the constructor of a class derived from to register an + for use with the provider represented by the given invariant name and + for a given server name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + A function that returns a new instance of an execution strategy. + A string that will be matched against the server name in the connection string. + + + + Call this method from the constructor of a class derived from to register a + . + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + A function that returns a new instance of a transaction handler. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this transaction handler will be used. + + A function that returns a new instance of a transaction handler. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name and + for a given server name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this transaction handler will be used. + + A function that returns a new instance of a transaction handler. + A string that will be matched against the server name in the connection string. + + + + Sets the that is used to create connections by convention if no other + connection string or connection is given to or can be discovered by . + Note that a default connection factory is set in the app.config or web.config file whenever the + EntityFramework NuGet package is installed. As for all config file settings, the default connection factory + set in the config file will take precedence over any setting made with this method. Therefore the setting + must be removed from the config file before calling this method will have any effect. + Call this method from the constructor of a class derived from to change + the default connection factory being used. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The connection factory. + + + + Call this method from the constructor of a class derived from to + set the pluralization service. + + The pluralization service to use. + + + + Call this method from the constructor of a class derived from to + set the database initializer to use for the given context type. The database initializer is called when a + the given type is used to access a database for the first time. + The default strategy for Code First contexts is an instance of . + + + Calling this method is equivalent to calling . + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The type of the context. + The initializer to use, or null to disable initialization for the given context type. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name. + + + This method is typically used by providers to register an associated SQL generator for Code First Migrations. + It is different from setting the generator in the because it allows + EF to use the Migrations pipeline to create a database even when there is no Migrations configuration in the project + and/or Migrations are not being explicitly used. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The invariant name of the ADO.NET provider for which this generator should be used. + A delegate that returns a new instance of the SQL generator each time it is called. + + + + Call this method from the constructor of a class derived from to set + an implementation of which allows provider manifest tokens to + be obtained from connections without necessarily opening the connection. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The manifest token resolver. + + + + Call this method from the constructor of a class derived from to set + a factory for implementations of which allows custom annotations + represented by instances to be serialized to and from the EDMX XML. + + + Note that an is not needed if the annotation uses a simple string value. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The name of custom annotation that will be handled by this serializer. + A delegate that will be used to create serializer instances. + + + + Call this method from the constructor of a class derived from to set + an implementation of which allows a + to be obtained from a in cases where the default implementation is not + sufficient. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The provider factory service. + + + + Call this method from the constructor of a class derived from to set + a as the model cache key factory which allows the key + used to cache the model behind a to be changed. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can + be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + The key factory. + + + + Call this method from the constructor of a class derived from to set + a delegate which can be used for + creation of the default for a any + . This default factory will only be used if no factory is + set explicitly in the and if no factory has been registered + for the provider in use using the + + method. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality + can be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + + A factory for creating instances for a given and + representing the default schema. + + + + + Call this method from the constructor of a class derived from to set + a delegate which allows for creation of a customized + for the given provider for any + that does not have an explicit factory set. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality + can be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + The invariant name of the ADO.NET provider for which this generator should be used. + + A factory for creating instances for a given and + representing the default schema. + + + + + Call this method from the constructor of a class derived from to set + the global instance of which will be used whenever a spatial provider is + required and a provider-specific spatial provider cannot be found. Normally, a provider-specific spatial provider + is obtained from the a implementation which is in turn returned by resolving + a service for passing the provider invariant name as a key. However, this + cannot work for stand-alone instances of and since + it is impossible to know the spatial provider to use. Therefore, when creating stand-alone instances + of and the global spatial provider is always used. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + an implementation of to use for a specific provider and provider + manifest token. + + + Use + to register spatial services for use only when a specific manifest token is returned by the provider. + Use to register global + spatial services to be used when provider information is not available or no provider-specific + spatial services are found. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The indicating the type of ADO.NET connection for which this spatial provider will be used. + + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + an implementation of to use for a specific provider with any + manifest token. + + + Use + to register spatial services for use when any manifest token is returned by the provider. + Use to register global + spatial services to be used when provider information is not available or no provider-specific + spatial services are found. + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this spatial provider will be used. + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + a factory for the type of to use with . + + + Note that setting the type of formatter to use with this method does change the way command are + logged when is used. It is still necessary to set a + instance onto before any commands will be logged. + For more low-level control over logging/interception see and + . + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + A delegate that will create formatter instances. + + + + Call this method from the constructor of a class derived from to + register an at application startup. Note that interceptors can also + be added and removed at any time using . + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The interceptor to register. + + + + Call this method from the constructor of a class derived from to set + a factory to allow to create instances of a context that does not have a public, + parameterless constructor. + + + This is typically needed to allow design-time tools like Migrations or scaffolding code to use contexts that + do not have public, parameterless constructors. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + with the context as the key. This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The context type for which the factory should be used. + The delegate to use to create context instances. + + + + Call this method from the constructor of a class derived from to set + a factory to allow to create instances of a context that does not have a public, + parameterless constructor. + + + This is typically needed to allow design-time tools like Migrations or scaffolding code to use contexts that + do not have public, parameterless constructors. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + with the context as the key. This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The context type for which the factory should be used. + The delegate to use to create context instances. + + + + Sets a singleton model store implementation (persisted model cache). + + The model store implementation. + + + + Call this method from the constructor of a class derived from to register + a database table existence checker for a given provider. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + and also using AddDefaultResolver to add the provider as a default + resolver. This means that, if desired, the same functionality can be achieved using a custom resolver or a + resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The table existence checker to use. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + This attribute can be placed on a subclass of to indicate that the subclass of + representing the code-based configuration for the application is in a different + assembly than the context type. + + + Normally a subclass of should be placed in the same assembly as + the subclass of used by the application. It will then be discovered automatically. + However, if this is not possible or if the application contains multiple context types in different + assemblies, then this attribute can be used to direct DbConfiguration discovery to the appropriate type. + An alternative to using this attribute is to specify the DbConfiguration type to use in the application's + config file. See http://go.microsoft.com/fwlink/?LinkId=260883 for more information. + + + + + Indicates that the given subclass of should be used for code-based configuration + for this application. + + + The type to use. + + + + + Indicates that the subclass of represented by the given assembly-qualified + name should be used for code-based configuration for this application. + + + The type to use. + + + + + Gets the subclass of that should be used for code-based configuration + for this application. + + + + + A DbContext instance represents a combination of the Unit Of Work and Repository patterns such that + it can be used to query from a database and group together changes that will then be written + back to the store as a unit. + DbContext is conceptually similar to ObjectContext. + + + DbContext is usually used with a derived type that contains properties for + the root entities of the model. These sets are automatically initialized when the + instance of the derived class is created. This behavior can be modified by applying the + attribute to either the entire derived context + class, or to individual properties on the class. + The Entity Data Model backing the context can be specified in several ways. When using the Code First + approach, the properties on the derived context are used to build a model + by convention. The protected OnModelCreating method can be overridden to tweak this model. More + control over the model used for the Model First approach can be obtained by creating a + explicitly from a and passing this model to one of the DbContext constructors. + When using the Database First or Model First approach the Entity Data Model can be created using the + Entity Designer (or manually through creation of an EDMX file) and then this model can be specified using + entity connection string or an object. + The connection to the database (including the name of the database) can be specified in several ways. + If the parameterless DbContext constructor is called from a derived context, then the name of the derived context + is used to find a connection string in the app.config or web.config file. If no connection string is found, then + the name is passed to the DefaultConnectionFactory registered on the class. The connection + factory then uses the context name as the database name in a default connection string. (This default connection + string points to (localdb)\MSSQLLocalDB unless a different DefaultConnectionFactory is registered.) + Instead of using the derived context name, the connection/database name can also be specified explicitly by + passing the name to one of the DbContext constructors that takes a string. The name can also be passed in + the form "name=myname", in which case the name must be found in the config file or an exception will be thrown. + Note that the connection found in the app.config or web.config file can be a normal database connection + string (not a special Entity Framework connection string) in which case the DbContext will use Code First. + However, if the connection found in the config file is a special Entity Framework connection string, then the + DbContext will use Database/Model First and the model specified in the connection string will be used. + An existing or explicitly created DbConnection can also be used instead of the database/connection name. + A can be applied to a class derived from DbContext to set the + version of conventions used by the context when it creates a model. If no attribute is applied then the + latest version of conventions will be used. + + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made. The by-convention name is the full name (namespace + class name) + of the derived context class. + See the class remarks for how this is used to create a connection. + + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made, and initializes it from the given model. + The by-convention name is the full name (namespace + class name) of the derived context class. + See the class remarks for how this is used to create a connection. + + The model that will back this context. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made, and initializes it from the given model. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + The model that will back this context. + + + + Constructs a new context instance using the existing connection to connect to a database. + The connection will not be disposed when the context is disposed if + is false. + + An existing connection to use for the new context. + + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + + Constructs a new context instance using the existing connection to connect to a database, + and initializes it from the given model. + The connection will not be disposed when the context is disposed if + is false. + + An existing connection to use for the new context. + The model that will back this context. + + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + + Constructs a new context instance around an existing ObjectContext. + + An existing ObjectContext to wrap with the new context. + + If set to true the ObjectContext is disposed when the DbContext is disposed, otherwise the caller must dispose the connection. + + + + + This method is called when the model for a derived context has been initialized, but + before the model has been locked down and used to initialize the context. The default + implementation of this method does nothing, but it can be overridden in a derived class + such that the model can be further configured before it is locked down. + + + Typically, this method is called only once when the first instance of a derived context + is created. The model for that context is then cached and is for all further instances of + the context in the app domain. This caching can be disabled by setting the ModelCaching + property on the given ModelBuilder, but note that this can seriously degrade performance. + More control over caching is provided through use of the DbModelBuilder and DbContextFactory + classes directly. + + The builder that defines the model for the context being created. + + + + Creates a Database instance for this context that allows for creation/deletion/existence checks + for the underlying database. + + + + + Returns a instance for access to entities of the given type in the context + and the underlying store. + + + Note that Entity Framework requires that this method return the same instance each time that it is called + for a given context instance and entity type. Also, the non-generic returned by the + method must wrap the same underlying query and set of entities. These invariants must + be maintained if this method is overridden for anything other than creating test doubles for unit testing. + See the class for more details. + + The type entity for which a set should be returned. + A set for the given entity type. + + + + Returns a non-generic instance for access to entities of the given type in the context + and the underlying store. + + The type of entity for which a set should be returned. + A set for the given entity type. + + Note that Entity Framework requires that this method return the same instance each time that it is called + for a given context instance and entity type. Also, the generic returned by the + method must wrap the same underlying query and set of entities. These invariants must + be maintained if this method is overridden for anything other than creating test doubles for unit testing. + See the class for more details. + + + + + Saves all changes made in this context to the underlying database. + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An error occurred sending updates to the database. + + A database command did not affect the expected number of rows. This usually indicates an optimistic + concurrency violation; that is, a row has been changed in the database since it was queried. + + + The save was aborted because validation of entity property values failed. + + + An attempt was made to use unsupported behavior such as executing multiple asynchronous commands concurrently + on the same context instance. + The context or connection have been disposed. + + Some error occurred attempting to process entities in the context either before or after sending commands + to the database. + + + + + Asynchronously saves all changes made in this context to the underlying database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An error occurred sending updates to the database. + + A database command did not affect the expected number of rows. This usually indicates an optimistic + concurrency violation; that is, a row has been changed in the database since it was queried. + + + The save was aborted because validation of entity property values failed. + + + An attempt was made to use unsupported behavior such as executing multiple asynchronous commands concurrently + on the same context instance. + The context or connection have been disposed. + + Some error occurred attempting to process entities in the context either before or after sending commands + to the database. + + + + + Asynchronously saves all changes made in this context to the underlying database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + Thrown if the context has been disposed. + + + + Returns the Entity Framework ObjectContext that is underlying this context. + + Thrown if the context has been disposed. + + + + Validates tracked entities and returns a Collection of containing validation results. + + Collection of validation results for invalid entities. The collection is never null and must not contain null values or results for valid entities. + + 1. This method calls DetectChanges() to determine states of the tracked entities unless + DbContextConfiguration.AutoDetectChangesEnabled is set to false. + 2. By default only Added on Modified entities are validated. The user is able to change this behavior + by overriding ShouldValidateEntity method. + + + + + Extension point allowing the user to override the default behavior of validating only + added and modified entities. + + DbEntityEntry instance that is supposed to be validated. + true to proceed with validation; false otherwise. + + + + Extension point allowing the user to customize validation of an entity or filter out validation results. + Called by . + + DbEntityEntry instance to be validated. + + User-defined dictionary containing additional info for custom validation. It will be passed to + + and will be exposed as + + . This parameter is optional and can be null. + + Entity validation result. Possibly null when overridden. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The type of the entity. + The entity. + An entry for the entity. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The entity. + An entry for the entity. + + + + Provides access to features of the context that deal with change tracking of entities. + + An object used to access features that deal with change tracking. + + + + Provides access to configuration options for the context. + + An object used to access configuration options. + + + + Calls the protected Dispose method. + + + + + Disposes the context. The underlying is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + The connection to the database ( object) is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + + + + + + + + + + + + + Wraps access to the transaction object on the underlying store connection and ensures that the + Entity Framework executes commands on the database within the context of that transaction. + An instance of this class is retrieved by calling BeginTransaction() on the + + object. + + + + + Gets the database (store) transaction that is underlying this context transaction. + + + + + Commits the underlying store transaction + + + + + Rolls back the underlying store transaction + + + + + Cleans up this transaction object and ensures the Entity Framework + is no longer using that transaction. + + + + + Releases the resources used by this transaction object + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + + + + + + + + + + + + + Indicates that the given method is a proxy for an EDM function. + + + Note that this class was called EdmFunctionAttribute in some previous versions of Entity Framework. + + + + + Initializes a new instance of the class. + + The namespace of the mapped-to function. + The name of the mapped-to function. + + + The namespace of the mapped-to function. + The namespace of the mapped-to function. + + + The name of the mapped-to function. + The name of the mapped-to function. + + + + Provides common language runtime (CLR) methods that expose EDM canonical functions + for use in or LINQ to Entities queries. + + + Note that this class was called EntityFunctions in some previous versions of Entity Framework. + + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Left EDM function to return a given + number of the leftmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the left of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Right EDM function to return a given + number of the rightmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the right of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Reverse EDM function to return a given + string with the order of the characters reversed. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The input string with the order of the characters reversed. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical GetTotalOffsetMinutes EDM function to + return the number of minutes that the given date/time is offset from UTC. This is generally between +780 + and -780 (+ or - 13 hrs). + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The offset of the input from UTC. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTimeOffset EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The time zone offset part of the new date. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of hours between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of minutes between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of seconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of milliseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of microseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of nanoseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + The string to escape special characters with, must only be a single character. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a Unicode string. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a non-Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a non-Unicode string. + + + + DbModelBuilder is used to map CLR classes to a database schema. + This code centric approach to building an Entity Data Model (EDM) model is known as 'Code First'. + + + DbModelBuilder is typically used to configure a model by overriding + DbContext.OnModelCreating(DbModelBuilder) + . + You can also use DbModelBuilder independently of DbContext to build a model and then construct a + or . + The recommended approach, however, is to use OnModelCreating in as + the workflow is more intuitive and takes care of common tasks, such as caching the created model. + Types that form your model are registered with DbModelBuilder and optional configuration can be + performed by applying data annotations to your classes and/or using the fluent style DbModelBuilder + API. + When the Build method is called a set of conventions are run to discover the initial model. + These conventions will automatically discover aspects of the model, such as primary keys, and + will also process any data annotations that were specified on your classes. Finally + any configuration that was performed using the DbModelBuilder API is applied. + Configuration done via the DbModelBuilder API takes precedence over data annotations which + in turn take precedence over the default conventions. + + + + + Initializes a new instance of the class. + The process of discovering the initial model will use the set of conventions included + in the most recent version of the Entity Framework installed on your machine. + + + Upgrading to newer versions of the Entity Framework may cause breaking changes + in your application because new conventions may cause the initial model to be + configured differently. There is an alternate constructor that allows a specific + version of conventions to be specified. + + + + + Initializes a new instance of the class that will use + a specific set of conventions to discover the initial model. + + The version of conventions to be used. + + + + Excludes a type from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The type to be excluded. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Configures the default database schema name. This default database schema name is used + for database objects that do not have an explicitly configured schema name. + + The name of the default database schema. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Excludes the specified type(s) from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The types to be excluded from the model. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Registers an entity type as part of the model and returns an object that can be used to + configure the entity. This method can be called multiple times for the same entity to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified entity type. + + + + Registers an entity type as part of the model. + + The type to be registered. + + This method is provided as a convenience to allow entity types to be registered dynamically + without the need to use MakeGenericMethod in order to call the normal generic Entity method. + This method does not allow further configuration of the entity type using the fluent APIs since + these APIs make extensive use of generic type parameters. + + + + + Registers a type as a complex type in the model and returns an object that can be used to + configure the complex type. This method can be called multiple times for the same type to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified complex type. + + + + Begins configuration of a lightweight convention that applies to all entities and complex types in + the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all entities and complex types + in the model that inherit from or implement the type specified by the generic argument. + This method does not register types as part of the model. + + The type of the entities or complex types that this convention will apply to. + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all properties + in the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all primitive + properties of the specified type in the model. + + The type of the properties that the convention will apply to. + A configuration object for the convention. + + The convention will apply to both nullable and non-nullable properties of the + specified type. + + + + + Provides access to the settings of this DbModelBuilder that deal with conventions. + + + + + Gets the for this DbModelBuilder. + The registrar allows derived entity and complex type configurations to be registered with this builder. + + + + + Creates a based on the configuration performed using this builder. + The connection is used to determine the database provider being used as this + affects the database layer of the generated model. + + Connection to use to determine provider information. + The model that was built. + + + + Creates a based on the configuration performed using this builder. + Provider information must be specified because this affects the database layer of the generated model. + For SqlClient the invariant name is 'System.Data.SqlClient' and the manifest token is the version year (i.e. '2005', '2008' etc.) + + The database provider that the model will be used with. + The model that was built. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A value from this enumeration can be provided directly to the + class or can be used in the applied to + a class derived from . The value used defines which version of + the DbContext and DbModelBuilder conventions should be used when building a model from + code--also known as "Code First". + + + Using DbModelBuilderVersion.Latest ensures that all the latest functionality is available + when upgrading to a new release of the Entity Framework. However, it may result in an + application behaving differently with the new release than it did with a previous release. + This can be avoided by using a specific version of the conventions, but if a version + other than the latest is set then not all the latest functionality will be available. + + + + + Indicates that the latest version of the and + conventions should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v4.1 + should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v5.0 + when targeting .Net Framework 4 should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v5.0 + should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v6.0 + should be used. + + + + + This attribute can be applied to a class derived from to set which + version of the DbContext and conventions should be used when building + a model from code--also known as "Code First". See the + enumeration for details about DbModelBuilder versions. + + + If the attribute is missing from DbContextthen DbContext will always use the latest + version of the conventions. This is equivalent to using DbModelBuilderVersion.Latest. + + + + + Initializes a new instance of the class. + + + The conventions version to use. + + + + + Gets the conventions version. + + + The conventions version. + + + + + A non-generic version of which can be used when the type of entity + is not known at build time. + + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for DbSets. Methods and properties that will be used by the + test double must be implemented by the test double except AsNoTracking, AsStreaming, an Include where + the default implementation is a no-op. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Adds the given collection of entities into context underlying the set with each entity being put into + the Added state such that it will be inserted into the database when SaveChanges is called. + + The collection of entities to add. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before adding any entities and will not be called + again. This means that in some situations AddRange may perform significantly better than calling + Add multiple times would do. + Note that entities that are already in the context in some other state will have their state set to + Added. AddRange is a no-op for entities that are already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Removes the given collection of entities from the context underlying the set with each entity being put into + the Deleted state such that it will be deleted from the database when SaveChanges is called. + + The collection of entities to delete. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before delete any entities and will not be called + again. This means that in some situations RemoveRange may perform significantly better than calling + Remove multiple times would do. + Note that if any entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Returns the equivalent generic object. + + The type of entity for which the set was created. + The generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + + + + + + + + + + A DbSet represents the collection of all entities in the context, or that can be queried from the + database, of a given type. DbSet objects are created from a DbContext using the DbContext.Set method. + + + Note that DbSet does not support MEST (Multiple Entity Sets per Type) meaning that there is always a + one-to-one correlation between a type and a set. + + The type that defines the set. + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for DbSets. Methods and properties that will be used by the + test double must be implemented by the test double except AsNoTracking, AsStreaming, an Include where + the default implementation is a no-op. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + + + + + + + + + + + + + Adds the given collection of entities into context underlying the set with each entity being put into + the Added state such that it will be inserted into the database when SaveChanges is called. + + The collection of entities to add. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before adding any entities and will not be called + again. This means that in some situations AddRange may perform significantly better than calling + Add multiple times would do. + Note that entities that are already in the context in some other state will have their state set to + Added. AddRange is a no-op for entities that are already in the context in the Added state. + + + + + + + + Removes the given collection of entities from the context underlying the set with each entity being put into + the Deleted state such that it will be deleted from the database when SaveChanges is called. + + The collection of entities to delete. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before delete any entities and will not be called + again. This means that in some situations RemoveRange may perform significantly better than calling + Remove multiple times would do. + Note that if any entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + + + + + + + Returns the equivalent non-generic object. + + The generic set object. + The non-generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values will + not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + + + + + + + + + + An implementation of IDatabaseInitializer that will always recreate and optionally re-seed the + database the first time that a context is used in the app domain. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + is + null + . + + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An implementation of IDatabaseInitializer that will DELETE, recreate, and optionally re-seed the + database only if the model has changed since the database was created. + + The type of the context. + + Whether or not the model has changed is determined by the + method. + To seed the database create a derived class and override the Seed method. + + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + is + null + . + + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + Describes the state of an entity. + + + + + The entity is not being tracked by the context. + An entity is in this state immediately after it has been created with the new operator + or with one of the Create methods. + + + + + The entity is being tracked by the context and exists in the database, and its property + values have not changed from the values in the database. + + + + + The entity is being tracked by the context but does not yet exist in the database. + + + + + The entity is being tracked by the context and exists in the database, but has been marked + for deletion from the database the next time SaveChanges is called. + + + + + The entity is being tracked by the context and exists in the database, and some or all of its + property values have been modified. + + + + + A provider-independent service API for HierarchyId type support. + + + + + Returns a hierarchyid representing the nth ancestor of this. + + A hierarchyid representing the nth ancestor of this. + n + + + + Returns a child node of the parent. + + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + + Returns an integer that represents the depth of the node this in the tree. + + An integer that represents the depth of the node this in the tree. + + + + Returns the root of the hierarchy tree. + + The root of the hierarchy tree. + + + + Returns true if this is a descendant of parent. + + True if this is a descendant of parent. + parent + + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + + Hierarchyid value. + oldRoot + newRoot + + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + + Hierarchyid value. + input + + + + Represents hierarchical data. + + + + + The Path separator character + + + + + Constructs an HierarchyId. + + + + + Constructs an HierarchyId with the given canonical string representation value. + + Hierarchyid value. + Canonical string representation + + + + Returns a hierarchyid representing the nth ancestor of this. + + A hierarchyid representing the nth ancestor of this. + n + + + + Returns a child node of the parent. + + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + + Returns an integer that represents the depth of the node this in the tree. + + An integer that represents the depth of the node this in the tree. + + + + Returns the root of the hierarchy tree. + + The root of the hierarchy tree. + + + + Returns true if this is a descendant of parent. + + True if this is a descendant of parent. + parent + + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + + Hierarchyid value. + oldRoot + newRoot + + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + + Hierarchyid value. + input + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + A 32-bit signed integer that indicates the lexical relationship between the two comparands. + Value Condition Less than zero: hid1 is less than hid2. + Zero: hid1 equals hid2. + Greater than zero: hid1 is greater than hid2. + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is less than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is greater than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is less or equal than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is greater or equal than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + true if the two HierarchyIds are equal, false otherwise + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + true if the two HierarchyIds are not equal, false otherwise + + + + Compares this instance to a given HierarchyId by their values. + + the HierarchyId to compare against this instance + true if this instance is equal to the given HierarchyId, and false otherwise + + + + Returns a value-based hash code, to allow HierarchyId to be used in hash tables. + + the hash value of this HierarchyId + + + + Compares this instance to a given HierarchyId by their values. + + the HierarchyId to compare against this instance + true if this instance is equal to the given HierarchyId, and false otherwise + + + + Returns a string representation of the hierarchyid value. + + A string representation of the hierarchyid value. + + + + Implementation of IComparable.CompareTo() + + The object to compare to + 0 if the HierarchyIds are "equal" (i.e., have the same _hierarchyId value) + + + + An implementation of this interface is used to initialize the underlying database when + an instance of a derived class is used for the first time. + This initialization can conditionally create the database and/or seed it with data. + The strategy used is set using the static InitializationStrategy property of the + class. + The following implementations are provided: , + , . + + The type of the context. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + An represents the collection of all entities in the context, or that + can be queried from the database, of a given type. is a concrete + implementation of IDbSet. + + + was originally intended to allow creation of test doubles (mocks or + fakes) for . However, this approach has issues in that adding new members + to an interface breaks existing code that already implements the interface without the new members. + Therefore, starting with EF6, no new members will be added to this interface and it is recommended + that be used as the base class for test doubles. + + The type that defines the set. + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Inherit from this class to create a service that allows for code generation of custom annotations as part of + scaffolding Migrations. The derived class should be set onto the . + + + Note that an is not needed if the annotation uses a simple string value, + or if calling ToString on the annotation object is sufficient for use in the scaffolded Migration. + + + + + Override this method to return additional namespaces that should be included in the code generated for the + scaffolded migration. The default implementation returns an empty enumeration. + + The names of the annotations that are being included in the generated code. + A list of additional namespaces to include. + + + + Implement this method to generate code for the given annotation value. + + The name of the annotation for which a value is being generated. + The annotation value. + The writer to which generated code should be written. + + + + Represents a pair of annotation values in a scaffolded or hand-coded . + + + Code First allows for custom annotations to be associated with columns and tables in the + generated model. This class represents a pair of annotation values in a migration such + that when the Code First model changes the old annotation value and the new annotation + value can be provided to the migration and used in SQL generation. + + + + + Creates a new pair of annotation values. + + The old value of the annotation, which may be null if the annotation has just been created. + The new value of the annotation, which may be null if the annotation has been deleted. + + + + Gets the old value of the annotation, which may be null if the annotation has just been created. + + + + + Gets the new value of the annotation, which may be null if the annotation has been deleted. + + + + + + + + + + + Returns true if both annotation pairs contain the same values, otherwise false. + + A pair of annotation values. + A pair of annotation values. + True if both pairs contain the same values. + + + + Returns true if the two annotation pairs contain different values, otherwise false. + + A pair of annotation values. + A pair of annotation values. + True if the pairs contain different values. + + + + Returned by and related methods to indicate whether or + not one object does not conflict with another such that the two can be combined into one. + + + If the two objects are not compatible then information about why they are not compatible is contained + in the property. + + + + + Creates a new instance. + + Indicates whether or not the two tested objects are compatible. + + An error message indicating how the objects are not compatible. Expected to be null if isCompatible is true. + + + + + True if the two tested objects are compatible; otherwise false. + + + + + If is true, then returns an error message indicating how the two tested objects + are incompatible. + + + + + Implicit conversion to a bool to allow the result object to be used directly in checks. + + The object to convert. + True if the result is compatible; false otherwise. + + + + Types used as custom annotations can implement this interface to indicate that an attempt to use + multiple annotations with the same name on a given table or column may be possible by merging + the multiple annotations into one. + + + Normally there can only be one custom annotation with a given name on a given table or + column. If a table or column ends up with multiple annotations, for example, because + multiple CLR properties map to the same column, then an exception will be thrown. + However, if the annotation type implements this interface, then the two annotations will be + checked for compatibility using the method and, if compatible, + will be merged into one using the method. + + + + + Returns true if this annotation does not conflict with the given annotation such that + the two can be combined together using the method. + + The annotation to compare. + A CompatibilityResult indicating whether or not this annotation is compatible with the other. + + + + Merges this annotation with the given annotation and returns a new merged annotation. This method is + only expected to succeed if returns true. + + The annotation to merge with this one. + A new merged annotation. + + + + Instances of this class are used as custom annotations for representing database indexes in an + Entity Framework model. + + + An index annotation is added to a Code First model when an is placed on + a mapped property of that model. This is used by Entity Framework Migrations to create indexes on + mapped database columns. Note that multiple index attributes on a property will be merged into a + single annotation for the column. Similarly, index attributes on multiple properties that map to the + same column will be merged into a single annotation for the column. This means that one index + annotation can represent multiple indexes. Within an annotation there can be only one index with any + given name. + + + + + The name used when this annotation is stored in Entity Framework metadata or serialized into + an SSDL/EDMX file. + + + + + Creates a new annotation for the given index. + + An index attributes representing an index. + + + + Creates a new annotation for the given collection of indexes. + + Index attributes representing one or more indexes. + + + + Gets the indexes represented by this annotation. + + + + + Returns true if this annotation does not conflict with the given annotation such that + the two can be combined together using the method. + + + Each index annotation contains at most one with a given name. + Two annotations are considered compatible if each IndexAttribute with a given name is only + contained in one annotation or the other, or if both annotations contain an IndexAttribute + with the given name. + + The annotation to compare. + A CompatibilityResult indicating whether or not this annotation is compatible with the other. + + + + Merges this annotation with the given annotation and returns a new annotation containing the merged indexes. + + + Each index annotation contains at most one with a given name. + The merged annotation will contain IndexAttributes from both this and the other annotation. + If both annotations contain an IndexAttribute with the same name, then the merged annotation + will contain one IndexAttribute with that name. + + The annotation to merge with this one. + A new annotation with indexes from both annotations merged. + + The other annotation contains indexes that are not compatible with indexes in this annotation. + + + + + + + + This class is used to serialize and deserialize objects so that they + can be stored in the EDMX form of the Entity Framework model. + + + An example of the serialized format is: + { Name: 'MyIndex', Order: 7, IsClustered: True, IsUnique: False } { } { Name: 'MyOtherIndex' }. + Note that properties that have not been explicitly set in an index attribute will be excluded from + the serialized output. So, in the example above, the first index has all properties specified, + the second has none, and the third has just the name set. + + + + + Serializes the given into a string for storage in the EDMX XML. + + The name of the annotation that is being serialized. + The value to serialize which must be an IndexAnnotation object. + The serialized value. + + + + Deserializes the given string back into an object. + + The name of the annotation that is being deserialized. + The string to deserialize. + The deserialized annotation value. + If there is an error reading the serialized value. + + + + Returned by the ChangeTracker method of to provide access to features of + the context that are related to change tracking of entities. + + + + + Gets objects for all the entities tracked by this context. + + The entries. + + + + Gets objects for all the entities of the given type + tracked by this context. + + The type of the entity. + The entries. + + + + Checks if the is tracking any new, deleted, or changed entities or + relationships that will be sent to the database if is called. + + + Functionally, calling this method is equivalent to checking if there are any entities or + relationships in the Added, Updated, or Deleted state. + Note that this method calls unless + has been set to false. + + + True if underlying have changes, else false. + + + + + Detects changes made to the properties and relationships of POCO entities. Note that some types of + entity (such as change tracking proxies and entities that derive from + ) + report changes automatically and a call to DetectChanges is not normally needed for these types of entities. + Also note that normally DetectChanges is called automatically by many of the methods of + and its related classes such that it is rare that this method will need to be called explicitly. + However, it may be desirable, usually for performance reasons, to turn off this automatic calling of + DetectChanges using the AutoDetectChangesEnabled flag from . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether all entities of this collection have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities of this collection from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded into this collection + and wants to prevent any other entities from being loaded automatically. + Note that explict loading using one of the Load methods will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity in the collection is detached the IsLoaded flag is reset to false indicating that the + not all related entities are now loaded. + + + true if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the collection element. + The equivalent generic object. + + + + Instances of this class are returned from the Collection method of + and allow operations such as loading to + be performed on the an entity's collection navigation properties. + + The type of the entity to which this property belongs. + The type of the element in the collection of entities. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether all entities of this collection have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities of this collection from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded into this collection + and wants to prevent any other entities from being loaded automatically. + Note that explict loading using one of the Load methods will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity in the collection is detached the IsLoaded flag is reset to false indicating that the + not all related entities are now loaded. + + + true if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + The object representing the navigation property. + A non-generic version. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + An immutable representation of an Entity Data Model (EDM) model that can be used to create an + or can be passed to the constructor of a . + For increased performance, instances of this type should be cached and re-used to construct contexts. + + + + + Creates an instance of ObjectContext or class derived from ObjectContext. Note that an instance + of DbContext can be created instead by using the appropriate DbContext constructor. + If a derived ObjectContext is used, then it must have a public constructor with a single + EntityConnection parameter. + The connection passed is used by the ObjectContext created, but is not owned by the context. The caller + must dispose of the connection once the context has been disposed. + + The type of context to create. + An existing connection to a database for use by the context. + The context. + + + + A non-generic version of the class. + + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the complex property. + The equivalent generic object. + + + + Instances of this class are returned from the ComplexProperty method of + and allow access to the state of a complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Represents information about a database connection. + + + + + Creates a new instance of DbConnectionInfo representing a connection that is specified in the application configuration file. + + The name of the connection string in the application configuration. + + + + Creates a new instance of DbConnectionInfo based on a connection string. + + The connection string to use for the connection. + The name of the provider to use for the connection. Use 'System.Data.SqlClient' for SQL Server. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Describes the origin of the database connection string associated with a . + + + + + The connection string was created by convention. + + + + + The connection string was read from external configuration. + + + + + The connection string was explicitly specified at runtime. + + + + + The connection string was overridden by connection information supplied to DbContextInfo. + + + + + Returned by the Configuration method of to provide access to configuration + options for the context. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Gets or sets the value that determines whether SQL functions and commands should be always executed in a transaction. + + + This flag determines whether a new transaction will be started when methods such as + are executed outside of a transaction. + Note that this does not change the behavior of . + + + The default transactional behavior. + + + + + Gets or sets a value indicating whether lazy loading of relationships exposed as + navigation properties is enabled. Lazy loading is enabled by default. + + + true if lazy loading is enabled; otherwise, false . + + + + + Gets or sets a value indicating whether or not the framework will create instances of + dynamically generated proxy classes whenever it creates an instance of an entity type. + Note that even if proxy creation is enabled with this flag, proxy instances will only + be created for entity types that meet the requirements for being proxied. + Proxy creation is enabled by default. + + + true if proxy creation is enabled; otherwise, false . + + + + + Gets or sets a value indicating whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. The default value is false. + + For example (operand1 == operand2) will be translated as: + + (operand1 = operand2) + + if UseDatabaseNullSemantics is true, respectively + + (((operand1 = operand2) AND (NOT (operand1 IS NULL OR operand2 IS NULL))) OR ((operand1 IS NULL) AND (operand2 IS NULL))) + + if UseDatabaseNullSemantics is false. + + + true if database null comparison behavior is enabled, otherwise false . + + + + + By default expression like + .Select(x => NewProperty = func(x.Property)).Where(x => x.NewProperty == ...) + are simplified to avoid nested SELECT + In some cases, simplifying query with UDFs could caused to suboptimal plans due to calling UDF twice. + Also some SQL functions aren't allow in WHERE clause. + Disabling that behavior + + + + + Gets or sets a value indicating whether the + method is called automatically by methods of and related classes. + The default value is true. + + + true if should be called automatically; otherwise, false. + + + + + Gets or sets a value indicating whether tracked entities should be validated automatically when + is invoked. + The default value is true. + + + + + Provides runtime information about a given type. + + + + + Creates a new instance representing a given type. + + + The type deriving from . + + + + + Creates a new instance representing a given targeting a specific database. + + + The type deriving from . + + Connection information for the database to be used. + + + + Creates a new instance representing a given type. An external list of + connection strings can be supplied and will be used during connection string resolution in place + of any connection strings specified in external configuration files. + + + It is preferable to use the constructor that accepts the entire config document instead of using this + constructor. Providing the entire config document allows DefaultConnectionFactroy entries in the config + to be found in addition to explicitly specified connection strings. + + + The type deriving from . + + A collection of connection strings. + + + + Creates a new instance representing a given type. An external config + object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + + + The type deriving from . + + An object representing the config file. + + + + Creates a new instance representing a given , targeting a specific database. + An external config object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + + + The type deriving from . + + An object representing the config file. + Connection information for the database to be used. + + + + Creates a new instance representing a given type. A + can be supplied in order to override the default determined provider used when constructing + the underlying EDM model. + + + The type deriving from . + + + A specifying the underlying ADO.NET provider to target. + + + + + Creates a new instance representing a given type. An external config + object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + A can be supplied in order to override the default determined + provider used when constructing the underlying EDM model. This can be useful to prevent EF from + connecting to discover a manifest token. + + + The type deriving from . + + An object representing the config file. + + A specifying the underlying ADO.NET provider to target. + + + + + The concrete type. + + + + + Whether or not instances of the underlying type can be created. + + + + + The connection string used by the underlying type. + + + + + The connection string name used by the underlying type. + + + + + The ADO.NET provider name of the connection used by the underlying type. + + + + + The origin of the connection string used by the underlying type. + + + + + An action to be run on the DbModelBuilder after OnModelCreating has been run on the context. + + + + + If instances of the underlying type can be created, returns + a new instance; otherwise returns null. + + + A instance. + + + + + A non-generic version of the class. + + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Returns a new instance of the generic class for the given + generic type for the tracked entity represented by this object. + Note that the type of the tracked entity must be compatible with the generic type or + an exception will be thrown. + + The type of the entity. + A generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + DbContext.ValidateEntity(DbEntityEntry, IDictionary{object,object}) + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + 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. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + 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 of the current instance. + + The exact runtime type of the current instance. + + + + Instances of this class provide access to information about and control of entities that + are being tracked by the . Use the Entity or Entities methods of + the context to obtain objects of this type. + + The type of the entity. + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + An expression representing the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + An expression representing the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The type of the member. + The name of the member. + An object representing the member. + + + + Returns a new instance of the non-generic class for + the tracked entity represented by this object. + + The object representing the tracked entity. + A non-generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + DbContext.ValidateEntity(DbEntityEntry, IDictionary{object, object}) + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + 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. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + 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 of the current instance. + + The exact runtime type of the current instance. + + + + Provides the base implementation of the retry mechanism for unreliable operations and transient conditions that uses + exponentially increasing delays between retries. + + + A new instance will be created each time an operation is executed. + The following formula is used to calculate the delay after retryCount number of attempts: + min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay) + The retryCount starts at 0. + The random factor distributes uniformly the retry attempts from multiple simultaneous operations failing simultaneously. + + + + + Creates a new instance of . + + + The default retry limit is 5, which means that the total amount of time spent between retries is 26 seconds plus the random factor. + + + + + Creates a new instance of with the specified limits for number of retries and the delay between retries. + + The maximum number of retry attempts. + The maximum delay in milliseconds between retries. + + + + Returns true to indicate that might retry the execution after a failure. + + + + + Indicates whether the strategy is suspended. The strategy is typically suspending while executing to avoid + recursive execution from nested operations. + + + + + Repetitively executes the specified operation while it satisfies the current retry policy. + + A delegate representing an executable operation that doesn't return any results. + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Repetitively executes the specified operation while it satisfies the current retry policy. + + The type of result expected from the executable operation. + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Repetitively executes the specified asynchronous operation while it satisfies the current retry policy. + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Repeatedly executes the specified asynchronous operation while it satisfies the current retry policy. + + + The result type of the returned by . + + + A function that returns a started task of type . + + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Determines whether the operation should be retried and the delay before the next attempt. + + The exception thrown during the last execution attempt. + + Returns the delay indicating how long to wait for before the next execution attempt if the operation should be retried; + null otherwise + + + + + Recursively gets InnerException from as long as it's an + , or + and passes it to + + The type of the unwrapped exception. + The exception to be unwrapped. + A delegate that will be called with the unwrapped exception. + + The result from . + + + + + Determines whether the specified exception represents a transient failure that can be compensated by a retry. + + The exception object to be verified. + + true if the specified exception is considered as transient, otherwise false. + + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + + + + Gets the name of the property. + + The property name. + + + + Gets or sets the current value of this property. + + The current value. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + The type of the entity to which this property belongs. + The type of the property. + + + Gets the name of the property. + The name of the property. + + + + Gets or sets the current value of this property. + + The current value. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents an Entity Data Model (EDM) created by the . + The Compile method can be used to go from this EDM representation to a + which is a compiled snapshot of the model suitable for caching and creation of + or instances. + + + + + Gets the provider information. + + + + + Gets the provider manifest. + + + + + Gets the conceptual model. + + + + + Gets the store model. + + + + + Gets the mapping model. + + + + + Creates a for this mode which is a compiled snapshot + suitable for caching and creation of instances. + + The compiled model. + + + + Base class for persisted model cache. + + + + + Loads a model from the store. + + The type of context representing the model. + The loaded metadata model. + + + + Retrieves an edmx XDocument version of the model from the store. + + The type of context representing the model. + The loaded XDocument edmx. + + + + Saves a model to the store. + + The type of context representing the model. + The metadata model to save. + + + + Gets the default database schema used by a model. + + The type of context representing the model. + The default database schema. + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + Setting this value to false for a modified property will revert the change by setting the + current value to the original value. If the result is that no properties of the entity are + marked as modified, then the entity will be marked as Unchanged. + Setting this value to false for properties of Added, Unchanged, or Deleted entities + is a no-op. + + + true if this instance is modified; otherwise, false . + + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Instances of this class are returned from the Property method of + and allow access to the state of the scalar + or complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + true if this instance is modified; otherwise, false . + + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + A collection of all the properties for an underlying entity or complex object. + + + An instance of this class can be converted to an instance of the generic class + using the Cast method. + Complex properties in the underlying entity or complex object are represented in + the property values as nested instances of this class. + + + + + Creates an object of the underlying type for this dictionary and hydrates it with property + values from this dictionary. + + The properties of this dictionary copied into a new object. + + + + Sets the values of this dictionary by reading values out of the given object. + The given object can be of any type. Any property on the object with a name that + matches a property name in the dictionary and can be read will be read. Other + properties will be ignored. This allows, for example, copying of properties from + simple Data Transfer Objects (DTOs). + + The object to read values from. + + + + Creates a new dictionary containing copies of all the properties in this dictionary. + Changes made to the new dictionary will not be reflected in this dictionary and vice versa. + + A clone of this dictionary. + + + + Sets the values of this dictionary by reading values from another dictionary. + The other dictionary must be based on the same type as this dictionary, or a type derived + from the type for this dictionary. + + The dictionary to read values from. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + Gets or sets the value of the property with the specified property name. + The value may be a nested instance of this class. + + The property name. + The value of the property. + + + + Gets the value of the property just like using the indexed property getter but + typed to the type of the generic parameter. This is useful especially with + nested dictionaries to avoid writing expressions with lots of casts. + + The type of the property. + Name of the property. + The value of the property. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Groups a pair of strings that identify a provider and server version together into a single object. + + + Instances of this class act as the key for resolving a for a specific + provider from a . This is typically used when registering spatial services + in or when the spatial services specific to a provider is + resolved by an implementation of . + + + + + Creates a new object for a given provider invariant name and manifest token. + + + A string that identifies that provider. For example, the SQL Server + provider uses the string "System.Data.SqlCient". + + + A string that identifies that version of the database server being used. For example, the SQL Server + provider uses the string "2008" for SQL Server 2008. This cannot be null but may be empty. + The manifest token is sometimes referred to as a version hint. + + + + + A string that identifies that provider. For example, the SQL Server + provider uses the string "System.Data.SqlCient". + + + + + A string that identifies that version of the database server being used. For example, the SQL Server + provider uses the string "2008" for SQL Server 2008. This cannot be null but may be empty. + + + + + + + + + + + Represents a non-generic LINQ to Entities query against a DbContext. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + Never returns; always throws. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + Specifies the related objects to include in the query results. + + + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the DbQuery<T>. Other instances of DbQuery<T> and the object context itself are not affected. + Because the Include method returns the query object, you can call this method multiple times on an DbQuery<T> to + specify multiple paths for the query. + + The dot-separated list of related objects to return in the query results. + + A new DbQuery<T> with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns the equivalent generic object. + + The type of element for which the query was created. + The generic set object. + + + + Returns a representation of the underlying query. + + The query string. + + + + Gets a representation of the underlying query. + + + + + + + + + + + + + + Represents a LINQ to Entities query against a DbContext. + + The type of entity to query for. + + + + Specifies the related objects to include in the query results. + + + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the DbQuery<T>. Other instances of DbQuery<T> and the object context itself are not affected. + Because the Include method returns the query object, you can call this method multiple times on an DbQuery<T> to + specify multiple paths for the query. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + Never returns; always throws. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + Returns a representation of the underlying query. + + The query string. + + + + Gets a representation of the underlying query. + + + + + Returns a new instance of the non-generic class for this query. + + The query. + A non-generic version. + + + + + + + + + + + + + Represents a SQL query for non-entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance. + The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for entities are created using . + See for a generic version of this class. + + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to perform on each element. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to perform on each element. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the query. + + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the query. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + Never returns; always throws. + + + + + + + + + + + + + Represents a SQL query for non-entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance. + The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for entities are created using . + See for a non-generic version of this class. + + The type of elements returned by the query. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to be executed. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to be executed. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates an array from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates an array from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the query. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the query. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Asynchronously returns the first element of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the first element in the query result. + + The query result is empty. + + + + Asynchronously returns the first element of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in the query result. + + The query result is empty. + + + + Asynchronously returns the first element of the query that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the first element in the query result that satisfies a specified condition. + + + + is + null + . + + The query result is empty. + + + + Asynchronously returns the first element of the query that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in the query result that satisfies a specified condition. + + + + is + null + . + + The query result is empty. + + + + Asynchronously returns the first element of the query, or a default value if the query result contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty; + otherwise, the first element in the query result. + + + + + Asynchronously returns the first element of the query, or a default value if the query result contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty; + otherwise, the first element in the query result. + + + + + Asynchronously returns the first element of the query that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty + or if no element passes the test specified by ; otherwise, the first element + in the query result that passes the test specified by . + + + + is + null + . + + + + + Asynchronously returns the first element of the query that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty + or if no element passes the test specified by ; otherwise, the first element + in the query result that passes the test specified by . + + + + is + null + . + + + + + Asynchronously returns the only element of the query, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result. + + The query result has more than one element. + The query result is empty. + + + + Asynchronously returns the only element of the query, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result. + + The query result has more than one element. + The query result is empty. + + + + Asynchronously returns the only element of the query that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + . + + + + is + null + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of the query that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + . + + + + is + null + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously 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. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result, or default () + if the sequence contains no elements. + + The query result has more than one element. + + + + Asynchronously 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. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result, or default () + if the sequence contains no elements. + + The query result has more than one element. + + + + Asynchronously returns the only element of the query 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. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + , or default ( ) if no such element is found. + + + + is + null + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of the query 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. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + , or default ( ) if no such element is found. + + + + is + null + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously determines whether the query contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The object to locate in the query result. + + A task that represents the asynchronous operation. + The task result contains true if the query result contains the specified value; otherwise, false. + + + + + Asynchronously determines whether the query contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The object to locate in the query result. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the query result contains the specified value; otherwise, false. + + + + + Asynchronously determines whether the query contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains true if the query result contains any elements; otherwise, false. + + + + + Asynchronously determines whether the query contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the query result contains any elements; otherwise, false. + + + + + Asynchronously determines whether any element of the query satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if any elements in the query result pass the test in the specified predicate; otherwise, false. + + + + + Asynchronously determines whether any element of the query satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if any elements in the query result pass the test in the specified predicate; otherwise, false. + + + + + Asynchronously determines whether all the elements of the query satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if every element of the query result passes the test in the specified predicate; otherwise, false. + + + + is + null + . + + + + + Asynchronously determines whether all the elements of the query satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if every element of the query result passes the test in the specified predicate; otherwise, false. + + + + is + null + . + + + + + Asynchronously returns the number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns the number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns the number of elements in the query that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the number of elements in the query that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in the query + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in the query + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the minimum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the query result. + + + + + Asynchronously returns the minimum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the query result. + + + + + Asynchronously returns the maximum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the query result. + + + + + Asynchronously returns the maximum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the query result. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + Never returns; always throws. + + + + + + + + + + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether the entity has been loaded from the database. + + + Loading the related entity from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entity from being lazy-loaded. + Note that explict loading using one of the Load methods will load the related entity from the database + regardless of whether or not IsLoaded is true. + When a related entity is detached the IsLoaded flag is reset to false indicating that the related entity is + no longer loaded. + + + true if the entity is loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Instances of this class are returned from the Reference method of + and allow operations such as loading to + be performed on the an entity's reference navigation properties. + + The type of the entity to which this property belongs. + The type of the property. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether the entity has been loaded from the database. + + + Loading the related entity from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entity from being lazy-loaded. + Note that explict loading using one of the Load methods will load the related entity from the database + regardless of whether or not IsLoaded is true. + When a related entity is detached the IsLoaded flag is reset to false indicating that the related entity is + no longer loaded. + + + true if the entity is loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + The object representing the navigation property. + A non-generic version. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using . + See for a generic version of this class. + + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for . Methods and properties + that will be used by the test double must be implemented by the test double except AsNoTracking + and AsStreaming where the default implementation is a no-op. + + + + + Returns a new query where the results of the query will not be tracked by the associated + . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + + + + + + + + + + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using . + See for a non-generic version of this class. + + The type of entities returned by the query. + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for . Methods and properties + that will be used by the test double must be implemented by the test double except AsNoTracking and + AsStreaming where the default implementation is a no-op. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + + + + + + + + + + + + + Exception thrown by when it was expected that SaveChanges for an entity would + result in a database update but in fact no rows in the database were affected. This usually indicates + that the database has been concurrently updated such that a concurrency token that was expected to match + did not actually match. + Note that state entries referenced by this exception are not serialized due to security and accesses to + the state entries after serialization will return null. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the DbUpdateConcurrencyException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + Exception thrown by when the saving of changes to the database fails. + Note that state entries referenced by this exception are not serialized due to security and accesses to the + state entries after serialization will return null. + + + + + Gets objects that represents the entities that could not + be saved to the database. + + The entries representing the entities that could not be saved. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the DbUpdateException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + 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. + + + + Loads or saves models from/into .edmx files at a specified location. + + + + + Initializes a new DefaultDbModelStore instance. + + The parent directory for the .edmx files. + + + + Gets the location of the .edmx files. + + + + + Loads a model from the store. + + The type of context representing the model. + The loaded metadata model. + + + + Retrieves an edmx XDocument version of the model from the store. + + The type of context representing the model. + The loaded XDocument edmx. + + + + Saves a model to the store. + + The type of context representing the model. + The metadata model to save. + + + + Gets the path of the .edmx file corresponding to the specified context type. + + A context type. + The .edmx file path. + + + + Validates the model store is valid. + The default implementation verifies that the .edmx file was last + written after the context assembly was last written. + + The type of context representing the model. + The path of the stored model. + Whether the edmx file should be invalidated. + + + + An that doesn't retry operations if they fail. + + + + + Returns false to indicate that will not retry the execution after a failure. + + + + + Executes the specified operation once. + + A delegate representing an executable operation that doesn't return any results. + + + + Executes the specified operation once and returns the result. + + + The return type of . + + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + + + + Executes the specified asynchronous operation once, without retrying on failure. + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully. + + + + + Executes the specified asynchronous operation once, without retrying on failure. + + + The result type of the returned by . + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully. + + + + + A default implementation of that uses the + underlying provider to get the manifest token. + Note that to avoid multiple queries, this implementation using caching based on the actual type of + instance, the property, + and the property. + + + + + + + + Event arguments passed to event handlers. + + + + + Returns a snapshot of the that is about to be locked. + Use the GetService methods on this object to get services that have been registered. + + + + + Call this method to add a instance to the Chain of + Responsibility of resolvers that are used to resolve dependencies needed by the Entity Framework. + + + Resolvers are asked to resolve dependencies in reverse order from which they are added. This means + that a resolver can be added to override resolution of a dependency that would already have been + resolved in a different way. + The only exception to this is that any dependency registered in the application's config file + will always be used in preference to using a dependency resolver added here, unless the + overrideConfigFile is set to true in which case the resolver added here will also override config + file settings. + + The resolver to add. + If true, then the resolver added will take precedence over settings in the config file. + + + + Call this method to add a instance to the Chain of Responsibility + of resolvers that are used to resolve dependencies needed by the Entity Framework. Unlike the AddDependencyResolver + method, this method puts the resolver at the bottom of the Chain of Responsibility such that it will only + be used to resolve a dependency that could not be resolved by any of the other resolvers. + + The resolver to add. + + + + Adds a wrapping resolver to the configuration that is about to be locked. A wrapping + resolver is a resolver that incepts a service would have been returned by the resolver + chain and wraps or replaces it with another service of the same type. + + The type of service to wrap or replace. + A delegate that takes the unwrapped service and key and returns the wrapped or replaced service. + + + + + + + + + + + + + + + + An implementation used for resolving + factories. + + + This class can be used by to aid in the resolving + of factories as a default service for the provider. + + The type of execution strategy that is resolved. + + + + Initializes a new instance of + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + + A string that will be matched against the server name in the connection string. null will match anything. + + A function that returns a new instance of an execution strategy. + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return null. When the given type is + Func{IExecutionStrategy}, then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An , or null. + + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return an empty enumeration. When the given type is + Func{IExecutionStrategy}, then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An enumerable of , or an empty enumeration. + + + + + This interface is implemented by any object that can resolve a dependency, either directly + or through use of an external container. + + + The public services currently resolved using IDbDependencyResolver are documented here: + http://msdn.microsoft.com/en-us/data/jj680697 + + + + + Attempts to resolve a dependency for a given contract type and optionally a given key. + If the resolver cannot resolve the dependency then it must return null and not throw. This + allows resolvers to be used in a Chain of Responsibility pattern such that multiple resolvers + can be asked to resolve a dependency until one finally does. + + The interface or abstract base class that defines the dependency to be resolved. The returned object is expected to be an instance of this type. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + The resolved dependency, which must be an instance of the given contract type, or null if the dependency could not be resolved. + + + + Attempts to resolve a dependencies for a given contract type and optionally a given key. + If the resolver cannot resolve the dependency then it must return an empty enumeration and + not throw. This method differs from in that it returns all registered + services for the given type and key combination. + + The interface or abstract base class that defines the dependency to be resolved. Every returned object is expected to be an instance of this type. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + All services that resolve the dependency, which must be instances of the given contract type, or an empty enumeration if the dependency could not be resolved. + + + + Extension methods to call the method using + a generic type parameter and/or no name. + + + + + Calls passing the generic type of the method and the given + name as arguments. + + The contract type to resolve. + The resolver to use. + The key of the dependency to resolve. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the generic type of the method as + the type argument and null for the name argument. + + The contract type to resolve. + The resolver to use. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the given type argument and using + null for the name argument. + + The resolver to use. + The contract type to resolve. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the generic type of the method and the given + name as arguments. + + The contract type to resolve. + The resolver to use. + The key of the dependency to resolve. + All resolved dependencies, or an if no services are resolved. + + + + Calls passing the generic type of the method as + the type argument and null for the name argument. + + The contract type to resolve. + The resolver to use. + All resolved dependencies, or an if no services are resolved. + + + + Calls passing the given type argument and using + null for the name argument. + + The resolver to use. + The contract type to resolve. + All resolved dependencies, or an if no services are resolved. + + + + Implements to resolve a dependency such that it always returns + the same instance. + + The type that defines the contract for the dependency that will be resolved. + + This class is immutable such that instances can be accessed by multiple threads at the same time. + + + + + Constructs a new resolver that will return the given instance for the contract type + regardless of the key passed to the Get method. + + The instance to return. + + + + Constructs a new resolver that will return the given instance for the contract type + if the given key matches exactly the key passed to the Get method. + + The instance to return. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + + + + Constructs a new resolver that will return the given instance for the contract type + if the given key matches the key passed to the Get method based on the given predicate. + + The instance to return. + A predicate that takes the key object and returns true if and only if it matches. + + + + + + + + + + An implementation used for resolving + factories. + + + + + Initializes a new instance of + + A function that returns a new instance of a transaction handler. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which the transaction handler will be used. + null will match anything. + + + A string that will be matched against the server name in the connection string. null will match anything. + + + + + If the given type is , then this method will attempt + to return the service to use, otherwise it will return null. When the given type is + , then the key is expected to be a . + + The service type to resolve. + A key used to make a determination of the service to return. + + An , or null. + + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return an empty enumeration. When the given type is + , then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An enumerable of , or an empty enumeration. + + + + + + + + + + + Provides utility methods for reading from an App.config or Web.config file. + + + + + Initializes a new instance of . + + The configuration to read from. + + + + Gets the specified provider services from the configuration. + + The invariant name of the provider services. + The provider services type name, or null if not found. + + + + Used for design-time scenarios where the user's code needs to be executed inside + of an isolated, runtime-like . + + Instances of this class should be created inside of the guest domain. + Handlers should be created inside of the host domain. To invoke operations, + create instances of the nested classes inside + + + + + Initializes a new instance of the class. Do this inside of the guest + domain. + + The path for the assembly containing the user's code. + The parameter is not used. + + + + Used to get the assembly-qualified name of the DbProviderServices type for the + specified provider invariant name. + + + + + Represents an operation. + + + + + Initializes a new instance of the class. + + An object to handle callbacks during the operation. + + + + Executes an action passing exceptions to the handler. + + The action to execute. + + + + Executes an action passing the result or exceptions to the handler. + + The result type. + The action to execute. + + + + Executes an action passing results or exceptions to the handler. + + The type of results. + The action to execute. + + + + Base handler type. Handlers aren't required to use this exact type. Only the + namespace, name, and member signatures need to be the same. This also applies to + handler contracts types + + + + + Indicates whether the specified contract is implemented by this handler. + + The full name of the contract interface. + True if the contract is implemented, otherwise false. + + + + Used to handle reported design-time activity. + + + + + Invoked when an error is reported. + + The message. + + + + Invoked when a warning is reported. + + The message. + + + + Invoked when information is reported. + + The message. + + + + Invoked when verbose information is reported. + + The message. + + + + A contract handlers can use to accept a single result. + + + + + + Sets the result. + + The result. + + + + Invoked when an error occurs. + + The exception type. + The error message. + The stack trace. + true if the error was handled; otherwise, false. + + + + Used to handle reported design-time activity. + + + + + Initializes a new instance of the class. + + A callback for . + A callback for . + A callback for . + A callback for . + + + + Invoked when an error is reported. + + The message. + + + + Invoked when a warning is reported. + + The message. + + + + Invoked when information is reported. + + The message. + + + + Invoked when verbose information is reported. + + The message. + + + + Used with to handle operation results. + + + + + Gets a value indicating whether a result is available. + + A value indicating whether a result is available. + + + + Gets the result. + + The result. + + + + Gets the type of the exception if any. + + The exception type. + + + + Gets the error message if any. + + The error message. + + + + Get the error stack trace if any. + + The stack trace. + + + + Invoked when a result is available. + + The result. + + + + Invoked when an error occurs. + + The exception type. + The error message. + The stack trace. + + + + Represents an entity used to store metadata about an EDM in the database. + + + + + Gets or sets the ID of the metadata entity, which is currently always 1. + + The id. + + + + Gets or sets the model hash which is used to check whether the model has + changed since the database was created from it. + + The model hash. + + + + Attempts to get the model hash calculated by Code First for the given context. + This method will return null if the context is not being used in Code First mode. + + The context. + The hash string. + + + + Utility class for reading a metadata model from .edmx. + + + + + Reads a metadata model from .edmx. + + XML reader for the .edmx + Default database schema used by the model. + The loaded metadata model. + + + + Contains methods used to access the Entity Data Model created by Code First in the EDMX form. + These methods are typically used for debugging when there is a need to look at the model that + Code First creates internally. + + + + + Uses Code First with the given context and writes the resulting Entity Data Model to the given + writer in EDMX form. This method can only be used with context instances that use Code First + and create the model internally. The method cannot be used for contexts created using Database + First or Model First, for contexts created using a pre-existing , or + for contexts created using a pre-existing . + + The context. + The writer. + + + + Writes the Entity Data Model represented by the given to the + given writer in EDMX form. + + An object representing the EDM. + The writer. + + + + A key used for resolving . It consists of the ADO.NET provider invariant name + and the database server name as specified in the connection string. + + + + + Initializes a new instance of + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + A string that will be matched against the server name in the connection string. + + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + + + + A string that will be matched against the server name in the connection string. + + + + + + + + + + + Asynchronous version of the interface that allows elements to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + + + + Gets an enumerator that can be used to asynchronously enumerate the sequence. + + Enumerator for asynchronous enumeration over the sequence. + + + + Asynchronous version of the interface that allows elements of the enumerable sequence to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + The type of objects to enumerate. + + + + Gets an enumerator that can be used to asynchronously enumerate the sequence. + + Enumerator for asynchronous enumeration over the sequence. + + + + Asynchronous version of the interface that allows elements to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + + + + Advances the enumerator to the next element in the sequence, returning the result asynchronously. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the sequence. + + + + + Gets the current element in the iteration. + + + + + Asynchronous version of the interface that allows elements to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + The type of objects to enumerate. + + + + Gets the current element in the iteration. + + + + + Defines methods to create and asynchronously execute queries that are described by an + object. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + + + + Asynchronously executes the query represented by a specified expression tree. + + An expression tree that represents a LINQ query. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the value that results from executing the specified query. + + + + + Asynchronously executes the strongly-typed query represented by a specified expression tree. + + The type of the value that results from executing the query. + An expression tree that represents a LINQ query. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the value that results from executing the specified query. + + + + + Implementations of this interface are used to create DbConnection objects for + a type of database server based on a given database name. + An Instance is set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use a certain type of database server by default. + Two implementations of this interface are provided: + is used to create connections to Microsoft SQL Server, including EXPRESS editions. + is used to create connections to Microsoft SQL + Server Compact Editions. + Other implementations for other database servers can be added as needed. + Note that implementations should be thread safe or immutable since they may + be accessed by multiple threads at the same time. + + + + + Creates a connection based on the given database name or connection string. + + The database name or connection string. + An initialized DbConnection. + + + + A factory for creating derived instances. Implement this + interface to enable design-time services for context types that do not have a + public default constructor. + At design-time, derived instances can be created in order to enable specific + design-time experiences such as model rendering, DDL generation etc. To enable design-time instantiation + for derived types that do not have a public, default constructor, implement + this interface. Design-time services will auto-discover implementations of this interface that are in the + same assembly as the derived type. + + The type of the context. + + + + Creates a new instance of a derived type. + + An instance of TContext + + + + A strategy that is used to execute a command or query against the database, possibly with logic to retry when a failure occurs. + + + + + Indicates whether this might retry the execution after a failure. + + + + + Executes the specified operation. + + A delegate representing an executable operation that doesn't return any results. + + + + Executes the specified operation and returns the result. + + + The return type of . + + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + + + + Executes the specified asynchronous operation. + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Executes the specified asynchronous operation and returns the result. + + + The result type of the returned by . + + + A function that returns a started task of type . + + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Represents a key value that uniquely identifies an Entity Framework model that has been loaded into memory. + + + + Determines whether the current cached model key is equal to the specified cached model key. + true if the current cached model key is equal to the specified cached model key; otherwise, false. + The cached model key to compare to the current cached model key. + + + Returns the hash function for this cached model key. + The hash function for this cached model key. + + + + Implement this interface on your context to use custom logic to calculate the key used to lookup an already created model in the cache. + This interface allows you to have a single context type that can be used with different models in the same AppDomain, + or multiple context types that use the same model. + + + + Gets the cached key associated with the provider. + The cached key associated with the provider. + + + + A service for obtaining the correct from a given + . + + + On .NET 4.5 the provider is publicly accessible from the connection. On .NET 4 the + default implementation of this service uses some heuristics to find the matching + provider. If these fail then a new implementation of this service can be registered + on to provide an appropriate resolution. + + + + + Returns the for the given connection. + + The connection. + The provider factory for the connection. + + + + A service for getting a provider manifest token given a connection. + The class is used by default and makes use of the + underlying provider to get the token which often involves opening the connection. + A different implementation can be used instead by adding an + to that may use any information in the connection to return + the token. For example, if the connection is known to point to a SQL Server 2008 database then + "2008" can be returned without opening the connection. + + + + + Returns the manifest token to use for the given connection. + + The connection for which a manifest token is required. + The manifest token to use. + + + + Implement this interface to allow custom annotations represented by instances to be + serialized to and from the EDMX XML. Usually a serializer instance is set using the + method. + + + + + Serializes the given annotation value into a string for storage in the EDMX XML. + + The name of the annotation that is being serialized. + The value to serialize. + The serialized value. + + + + Deserializes the given string back into the expected annotation value. + + The name of the annotation that is being deserialized. + The string to deserialize. + The deserialized annotation value. + + + + This convention causes DbModelBuilder to include metadata about the model + when it builds the model. When creates a model by convention it will + add this convention to the list of those used by the DbModelBuilder. This will then result in + model metadata being written to the database if the DbContext is used to create the database. + This can then be used as a quick check to see if the model has changed since the last time it was + used against the database. + This convention can be removed from the conventions by overriding + the OnModelCreating method on a derived DbContext class. + + + + + Represents contextual information associated with calls to + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + The that will be used or has been used to start a transaction. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The isolation level to associate. + A new interception context associated with the given isolation level. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + This is the default log formatter used when some is set onto the + property. A different formatter can be used by creating a class that inherits from this class and overrides + some or all methods to change behavior. + + + To set the new formatter create a code-based configuration for EF using and then + set the formatter class to use with . + Note that setting the type of formatter to use with this method does change the way command are + logged when is used. It is still necessary to set a + onto before any commands will be logged. + For more low-level control over logging/interception see and + . + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Creates a formatter that will not filter by any and will instead log every command + from any context and also commands that do not originate from a context. + + + This constructor is not used when a delegate is set on . Instead it can be + used by setting the formatter directly using . + + The delegate to which output will be sent. + + + + Creates a formatter that will only log commands the come from the given instance. + + + This constructor must be called by a class that inherits from this class to override the behavior + of . + + + The context for which commands should be logged. Pass null to log every command + from any context and also commands that do not originate from a context. + + The delegate to which output will be sent. + + + + The context for which commands are being logged, or null if commands from all contexts are + being logged. + + + + + Writes the given string to the underlying write delegate. + + The string to write. + + + + This property is obsolete. Using it can result in logging incorrect execution times. Call + instead. + + + + + The stopwatch used to time executions. This stopwatch is started at the end of + , , and + methods and is stopped at the beginning of the , , + and methods. If these methods are overridden and the stopwatch is being used + then the overrides should either call the base method or start/stop the stopwatch themselves. + + The interception context for which the stopwatch will be obtained. + The stopwatch. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + Called whenever a command is about to be executed. The default implementation of this method + filters by set into , if any, and then calls + . This method would typically only be overridden to change the + context filtering behavior. + + The type of the operation's results. + The command that will be executed. + Contextual information associated with the command. + + + + Called whenever a command has completed executing. The default implementation of this method + filters by set into , if any, and then calls + . This method would typically only be overridden to change the context + filtering behavior. + + The type of the operation's results. + The command that was executed. + Contextual information associated with the command. + + + + Called to log a command that is about to be executed. Override this method to change how the + command is logged to . + + The type of the operation's results. + The command to be logged. + Contextual information associated with the command. + + + + Called by to log each parameter. This method can be called from an overridden + implementation of to log parameters, and/or can be overridden to + change the way that parameters are logged to . + + The type of the operation's results. + The command being logged. + Contextual information associated with the command. + The parameter to log. + + + + Called to log the result of executing a command. Override this method to change how results are + logged to . + + The type of the operation's results. + The command being logged. + Contextual information associated with the command. + + + + Does not write to log unless overridden. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + Called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that began the transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection being opened. + Contextual information associated with the call. + + + + Called after or its async counterpart is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that was opened. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection being closed. + Contextual information associated with the call. + + + + Called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that was closed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Called before is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection being disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection that was disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction being committed. + Contextual information associated with the call. + + + + This method is called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction that was committed. + Contextual information associated with the call. + + + + This method is called before is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction being disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction that was disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction being rolled back. + Contextual information associated with the call. + + + + This method is called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + + + + + + + + + + + + A simple logger for logging SQL and other database operations to the console or a file. + A logger can be registered in code or in the application's web.config /app.config file. + + + + + Creates a new logger that will send log output to the console. + + + + + Creates a new logger that will send log output to a file. If the file already exists then + it is overwritten. + + A path to the file to which log output will be written. + + + + Creates a new logger that will send log output to a file. + + A path to the file to which log output will be written. + True to append data to the file if it exists; false to overwrite the file. + + + + Stops logging and closes the underlying file if output is being written to a file. + + + + + Stops logging and closes the underlying file if output is being written to a file. + + + True to release both managed and unmanaged resources; False to release only unmanaged resources. + + + + + Starts logging. This method is a no-op if logging is already started. + + + + + Stops logging. This method is a no-op if logging is not started. + + + + + Called to start logging during Entity Framework initialization when this logger is registered. + as an . + + Arguments to the event that this interceptor mirrors. + Contextual information about the event. + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when executing commands. It is provided publicly so that + code that runs outside of the core EF assemblies can opt-in to command interception/tracing. This is + typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token for the asynchronous operation. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token for the asynchronous operation. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token for the asynchronous operation. + The result of the operation, which may have been modified by interceptors. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls into + implementations. + + + An instance of this class is passed to the dispatch methods of + and does not contain mutable information such as the result of the operation. This mutable information + is obtained from the that is passed to the interceptors. + Instances of this class are publicly immutable. To add contextual information use one of the + With... or As... methods to create a new interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + The that will be used or has been used to execute the command with a + . This property is only used for + and its async counterparts. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The command behavior to associate. + A new interception context associated with the given command behavior. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations including the result of the operation. + + The type of the operation's results. + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + If execution of the operation completes without throwing, then this property will contain + the result of the operation. If the operation was suppressed or did not fail, then this property + will always contain the default value for the generic type. + + + When an operation completes without throwing both this property and the + property are set. However, the property can be set or changed by interceptors, + while this property will always represent the actual result returned by the operation, if any. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set result will be returned instead. Otherwise, if the operation succeeds, then + this property will be set to the returned result. In either case, interceptors that run + after the operation can change this property to change the result that will be returned. + + + When an operation completes without throwing both this property and the + property are set. However, this property can be set or changed by interceptors, while the + property will always represent the actual result returned by the + operation, if any. + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + , by setting an to be thrown, or + by setting the operation result using . + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The command behavior to associate. + A new interception context associated with the given command behavior. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Base class that implements . This class is a convenience for + use when only one or two methods of the interface actually need to have any implementation. + + + + + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + The original tree created by Entity Framework. Interceptors can change the + property to change the tree that will be used, but the + will always be the tree created by Entity Framework. + + + + + The command tree that will be used by Entity Framework. This starts as the tree contained in the + the property but can be set by interceptors to change + the tree that will be used by Entity Framework. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + + + + Creates a new that contains all the contextual information in + this interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in + this interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in + this interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when interacting with . + It is provided publicly so that code that runs outside of the core EF assemblies can opt-in to command + interception/tracing. This is typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + setting . + + The connection on which the operation will be executed. + Information about the context of the call being made, including the value to be set. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token. + A task that represents the asynchronous operation. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls to that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to property setters of type on a . + + The type of the target property. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the given property value. + + The value that will be assigned to the target property. + A new interception context associated with the given property value. + + + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Provides access to all dispatchers through the fluent API. + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + This is the registration point for interceptors. Interceptors + receive notifications when EF performs certain operations such as executing commands against + the database. For example, see . + + + + + Registers a new to receive notifications. Note that the interceptor + must implement some interface that extends from to be useful. + + The interceptor to add. + + + + Removes a registered so that it will no longer receive notifications. + If the given interceptor is not registered, then this is a no-op. + + The interceptor to remove. + + + + This is the entry point for dispatching to interceptors. This is usually only used internally by + Entity Framework but it is provided publicly so that other code can make sure that registered + interceptors are called when operations are performed on behalf of EF. For example, EF providers + a may make use of this when executing commands. + + + + + Represents contextual information associated with calls into + implementations. + + + Note that specific types/operations that can be intercepted may use a more specific + interception context derived from this class. For example, if SQL is being executed by + a , then the DbContext will be contained in the + instance that is passed to the methods + of . + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. See + + The context from which to copy state. + + + + Gets all the instances associated with this interception context. + + + This list usually contains zero or one items. However, it can contain more than one item if + a single has been used to construct multiple + instances. + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Gets all the instances associated with this interception context. + + + This list usually contains zero or one items. However, it can contain more than one item when + EF has created a new for use in database creation and initialization, or + if a single is used with multiple . + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + True if the operation is being executed asynchronously, otherwise false. + + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + Call this method when creating a copy of an interception context in order to add new state + to it. Using this method instead of calling the constructor directly ensures virtual dispatch + so that the new type will have the same type (and any specialized state) as the context that + is being cloned. + + A new context with all state copied. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when interacting with . + It is provided publicly so that code that runs outside of the core EF assemblies can opt-in to command + interception/tracing. This is typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls to that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + The connection on which the transaction was started + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The connection on which the transaction was started. + A new interception context that also contains the connection on which the transaction was started. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + The that will be used or has been used to enlist a connection. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The transaction to be used in the invocation. + A new interception context associated with the given isolation level. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework executes commands. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework creates command trees. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + This method is called after a new has been created. + The tree that is used after interception can be changed by setting + while intercepting. + + + Command trees are created for both queries and insert/update/delete commands. However, query + command trees are cached by model which means that command tree creation only happens the + first time a query is executed and this notification will only happen at that time + + Contextual information associated with the call. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework loads the application's . + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Occurs during EF initialization after the has been constructed but just before + it is locked ready for use. Use this event to inspect and/or override services that have been + registered before the configuration is locked. Note that an interceptor of this type should be used carefully + since it may prevent tooling from discovering the same configuration that is used at runtime. + + + Handlers can only be added before EF starts to use the configuration and so handlers should + generally be added as part of application initialization. Do not access the DbConfiguration + static methods inside the handler; instead use the members of + to get current services and/or add overrides. + + Arguments to the event that this interceptor mirrors. + Contextual information about the event. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework performs operations on a . + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Called before is invoked. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + Called after is invoked. + The transaction used by Entity Framework can be changed by setting + . + + The connection that began the transaction. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection being closed. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection that was closed. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is set. + + The connection. + Contextual information associated with the call. + + + + Called after is set. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection being disposed. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection that was disposed. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection. + Contextual information associated with the call. + + + + Called before or its async counterpart is invoked. + + The connection being opened. + Contextual information associated with the call. + + + + Called after or its async counterpart is invoked. + + The connection that was opened. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + This is the base interface for all interfaces that provide interception points for various + different types and operations. For example, see . + Interceptors are registered on the class. + + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework commits or rollbacks a transaction. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Called before is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called after is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called before is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called after is retrieved. + + The transaction. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being committed. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was committed. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being disposed. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was disposed. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being rolled back. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + Represents contextual information associated with calls that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + or by setting an to be thrown + + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Represents contextual information associated with calls with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + If execution of the operation completes without throwing, then this property will contain + the result of the operation. If the operation was suppressed or did not fail, then this property + will always contain the default value for the generic type. + + + When an operation completes without throwing both this property and the + property are set. However, the property can be set or changed by interceptors, + while this property will always represent the actual result returned by the operation, if any. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set result will be returned instead. Otherwise, if the operation succeeds, then + this property will be set to the returned result. In either case, interceptors that run + after the operation can change this property to change the result that will be returned. + + + When an operation completes without throwing both this property and the + property are set. However, this property can be set or changed by interceptors, while the + property will always represent the actual result returned by the + operation, if any. + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + , by setting an to be thrown, or + by setting the operation result using . + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Represents contextual information associated with calls to property setters of type . + + + An instance of this class is passed to the dispatch methods and does not contain mutable information such as + the result of the operation. This mutable information is obtained from the + that is passed to the interceptors. Instances of this class are publicly immutable. To add contextual information + use one of the With... or As... methods to create a new interception context containing the new information. + + The type of the target property. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + The value that will be assigned to the target property. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Creates a new that contains all the contextual information in this + interception context together with the given property value. + + The value that will be assigned to the target property. + A new interception context associated with the given property value. + + + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + or by setting an to be thrown + + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Interface implemented by objects that can provide an instance. + The class implements this interface to provide access to the underlying + ObjectContext. + + + + + Gets the object context. + + The object context. + + + + Used by and when resolving + a provider invariant name from a . + + + + Gets the name of the provider. + The name of the provider. + + + + Instances of this class are used to create DbConnection objects for + SQL Server LocalDb based on a given database name or connection string. + + + An instance of this class can be set on the class or in the + app.config/web.config for the application to cause all DbContexts created with no + connection information or just a database name to use SQL Server LocalDb by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance of the connection factory for the given version of LocalDb. + For SQL Server 2012 LocalDb use "v11.0". + For SQL Server 2014 and later LocalDb use "mssqllocaldb". + + The LocalDb version to use. + + + + Creates a new instance of the connection factory for the given version of LocalDb. + For SQL Server 2012 LocalDb use "v11.0". + For SQL Server 2014 and later LocalDb use "mssqllocaldb". + + The LocalDb version to use. + The connection string to use for options to the database other than the 'Initial Catalog', 'Data Source', and 'AttachDbFilename'. The 'Initial Catalog' and 'AttachDbFilename' will be prepended to this string based on the database name when CreateConnection is called. The 'Data Source' will be set based on the LocalDbVersion argument. + + + + The connection string to use for options to the database other than the 'Initial Catalog', + 'Data Source', and 'AttachDbFilename'. + The 'Initial Catalog' and 'AttachDbFilename' will be prepended to this string based on the + database name when CreateConnection is called. + The 'Data Source' will be set based on the LocalDbVersion argument. + The default is 'Integrated Security=True;'. + + + + + Creates a connection for SQL Server LocalDb based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + Represents a mapping view. + + + + + Creates a instance having the specified entity SQL. + + A string that specifies the entity SQL. + + + + Gets the entity SQL. + + + + + Base abstract class for mapping view cache implementations. + Derived classes must have a parameterless constructor if used with . + + + + + Gets a hash value computed over the mapping closure. + + + + + Gets a view corresponding to the specified extent. + + An that specifies the extent. + A that specifies the mapping view, + or null if the extent is not associated with a mapping view. + + + + Specifies the means to create concrete instances. + + + + + Creates a generated view cache instance for the container mapping specified by + the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + + A that specifies the generated view cache. + + + + + Defines a custom attribute that specifies the mapping view cache type (subclass of ) + associated with a context type (subclass of or ). + The cache type is instantiated at runtime and used to retrieve pre-generated views in the + corresponding context. + + + + + Creates a instance that associates a context type + with a mapping view cache type. + + + A subclass of or . + + + A subclass of . + + + + + Creates a instance that associates a context type + with a mapping view cache type. + + + A subclass of or . + + The assembly qualified full name of the cache type. + + + + This convention uses the name of the derived + class as the container for the conceptual model built by + Code First. + + + + + Applies the convention to the given model. + + The container to apply the convention to. + The model. + + + + This convention uses the namespace of the derived + class as the namespace of the conceptual model built by + Code First. + + + + + Compares objects using reference equality. + + + + + Gets the default instance. + + + + + Represents a custom pluralization term to be used by the + + + + + Get the singular. + + + + + Get the plural. + + + + + Create a new instance + + A non null or empty string representing the singular. + A non null or empty string representing the plural. + + + + Default pluralization service implementation to be used by Entity Framework. This pluralization + service is based on English locale. + + + + + Constructs a new instance of default pluralization service + used in Entity Framework. + + + + + Constructs a new instance of default pluralization service + used in Entity Framework. + + + A collection of user dictionary entries to be used by this service.These inputs + can customize the service according the user needs. + + + + Returns the plural form of the specified word. + The plural form of the input parameter. + The word to be made plural. + + + Returns the singular form of the specified word. + The singular form of the input parameter. + The word to be made singular. + + + + Pluralization services to be used by the EF runtime implement this interface. + By default the is used, but the pluralization service to use + can be set in a class derived from . + + + + + Pluralize a word using the service. + + The word to pluralize. + The pluralized word + + + + Singularize a word using the service. + + The word to singularize. + The singularized word. + + + + Instances of this class are used internally to create constant expressions for + that are inserted into the expression tree to replace references to + and . + + The type of the element. + + + + The public property expected in the LINQ expression tree. + + The query. + + + + The exception that is thrown when the action failed again after being retried the configured number of times. + + + + + Initializes a new instance of the class with no error message. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Instances of this class are used to create DbConnection objects for + SQL Server Compact Edition based on a given database name or connection string. + + + It is necessary to provide the provider invariant name of the SQL Server Compact + Edition to use when creating an instance of this class. This is because different + versions of SQL Server Compact Editions use different invariant names. + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server Compact Edition by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with empty (default) DatabaseDirectory and BaseConnectionString + properties. + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + + + + Creates a new connection factory with the given DatabaseDirectory and BaseConnectionString properties. + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + The path to prepend to the database name that will form the file name used by SQL Server Compact Edition when it creates or reads the database file. An empty string means that SQL Server Compact Edition will use its default for the database file location. + The connection string to use for options to the database other than the 'Data Source'. The Data Source will be prepended to this string based on the database name when CreateConnection is called. + + + + The path to prepend to the database name that will form the file name used by + SQL Server Compact Edition when it creates or reads the database file. + The default value is "|DataDirectory|", which means the file will be placed + in the designated data directory. + + + + + The connection string to use for options to the database other than the 'Data Source'. + The Data Source will be prepended to this string based on the database name when + CreateConnection is called. + The default is the empty string, which means no other options will be used. + + + + + The provider invariant name that specifies the version of SQL Server Compact Edition + that should be used. + + + + + Creates a connection for SQL Server Compact Edition based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + Instances of this class are used to create DbConnection objects for + SQL Server based on a given database name or connection string. By default, the connection is + made to '.\SQLEXPRESS'. This can be changed by changing the base connection + string when constructing a factory instance. + + + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with a default BaseConnectionString property of + 'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True;'. + + + + + Creates a new connection factory with the given BaseConnectionString property. + + The connection string to use for options to the database other than the 'Initial Catalog'. The 'Initial Catalog' will be prepended to this string based on the database name when CreateConnection is called. + + + + The connection string to use for options to the database other than the 'Initial Catalog'. + The 'Initial Catalog' will be prepended to this string based on the database name when + CreateConnection is called. + The default is 'Data Source=.\SQLEXPRESS; Integrated Security=True;'. + + + + + Creates a connection for SQL Server based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + This attribute can be applied to either an entire derived class or to + individual or properties on that class. When applied + any discovered or properties will still be included + in the model but will not be automatically initialized. + + + + + Implemented by Entity Framework providers and used to check whether or not tables exist + in a given database. This is used by database initializers when determining whether or not to + treat an existing database as empty such that tables should be created. + + + + + When overridden in a derived class checks where the given tables exist in the database + for the given connection. + + + The context for which table checking is being performed, usually used to obtain an appropriate + . + + + A connection to the database. May be open or closed; should be closed again if opened. Do not + dispose. + + The tables to check for existence. + The name of the EdmMetadata table to check for existence. + True if any of the model tables or EdmMetadata table exists. + + + + Helper method to get the table name for the given s-space . + + The s-space entity set for the table. + The table name. + + + + Thrown when an error occurs committing a . + + + + + Initializes a new instance of + + + + + Initializes a new instance of + + The exception message. + + + + Initializes a new instance of + + The exception message. + The inner exception. + + + + Initializes a new instance of the class. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + A transaction handler that allows to gracefully recover from connection failures + during transaction commit by storing transaction tracing information in the database. + It needs to be registered by using . + + + This transaction handler uses to store the transaction information + the schema used can be configured by creating a class derived from + that overrides and passing it to the constructor of this class. + + + + + Initializes a new instance of the class using the default . + + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Initializes a new instance of the class. + + The transaction context factory. + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Gets the transaction context. + + + The transaction context. + + + + + The map between the store transactions and the transaction tracking objects + + + + + Creates a new instance of an to use for quering the transaction log. + If null the default will be used. + + An instance or null. + + + + + + + + + + Gets the number of transactions to be executed on the context before the transaction log will be cleaned. + The default value is 20. + + + + + + + + + + + Stores the tracking information for the new transaction to the database in the same transaction. + + The connection that began the transaction. + Contextual information associated with the call. + + + + + If there was an exception thrown checks the database for this transaction and rethrows it if not found. + Otherwise marks the commit as succeeded and queues the transaction information to be deleted. + + The transaction that was committed. + Contextual information associated with the call. + + + + + Stops tracking the transaction that was rolled back. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + Stops tracking the transaction that was disposed. + + The transaction that was disposed. + Contextual information associated with the call. + + + + + Removes all the transaction history. + + + This method should only be invoked when there are no active transactions to remove any leftover history + that was not deleted due to catastrophic failures + + + + + Asynchronously removes all the transaction history. + + + This method should only be invoked when there are no active transactions to remove any leftover history + that was not deleted due to catastrophic failures + + A task that represents the asynchronous operation. + + + + Asynchronously removes all the transaction history. + + + This method should only be invoked when there are no active transactions to remove any leftover history + that was not deleted due to catastrophic failures + + The cancellation token. + A task that represents the asynchronous operation. + + + + Adds the specified transaction to the list of transactions that can be removed from the database + + The transaction to be removed from the database. + + + + Removes the transactions marked for deletion. + + + + + Asynchronously removes the transactions marked for deletion. + + A task that represents the asynchronous operation. + + + + Asynchronously removes the transactions marked for deletion. + + The cancellation token. + A task that represents the asynchronous operation. + + + + Removes the transactions marked for deletion if their number exceeds . + + + if set to true will remove all the old transactions even if their number does not exceed . + + + if set to true the operation will be executed using the associated execution strategy + + + + + Removes the transactions marked for deletion if their number exceeds . + + + if set to true will remove all the old transactions even if their number does not exceed . + + + if set to true the operation will be executed using the associated execution strategy + + The cancellation token. + A task that represents the asynchronous operation. + + + + Gets the associated with the if there is one; + otherwise returns null. + + The context + The associated . + + + + Gets the associated with the if there is one; + otherwise returns null. + + The context + The associated . + + + + This class is used by to write and read transaction tracing information + from the database. + To customize the definition of the transaction table you can derive from + this class and override . Derived classes can be registered + using . + + + By default EF will poll the resolved to check wether the database schema is compatible and + will try to modify it accordingly if it's not. To disable this check call + Database.SetInitializer<TTransactionContext>(null) where TTransactionContext is the type of the resolved context. + + + + + Initializes a new instance of the class. + + The connection used by the context for which the transactions will be recorded. + + + + Gets or sets a that can be used to read and write instances. + + + + + + + + The base class for interceptors that handle the transaction operations. Derived classes can be registered using + or + . + + + + + Initializes a new instance of the class. + + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Initializes this instance using the specified context. + + The context for which transaction operations will be handled. + + + + Initializes this instance using the specified context. + + The context for which transaction operations will be handled. + The connection to use for the initialization. + + This method is called by migrations. It is important that no action is performed on the + specified context that causes it to be initialized. + + + + + Gets the context. + + + The for which the transaction operations will be handled. + + + + + Gets the context. + + + The for which the transaction operations will be handled, could be null. + + + + + Gets the connection. + + + The for which the transaction operations will be handled. + + + This connection object is only used to determine whether a particular operation needs to be handled + in cases where a context is not available. + + + + + + + + Gets or sets a value indicating whether this transaction handler is disposed. + + + true if disposed; otherwise, false. + + + + + Releases the resources used by this transaction handler. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + Checks whether the supplied interception context contains the target context + or the supplied connection is the same as the one used by the target context. + + A connection. + An interception context. + + true if the supplied interception context contains the target context or + the supplied connection is the same as the one used by the target context if + the supplied interception context doesn't contain any contexts; false otherwise. + + + Note that calling this method will trigger initialization of any DbContext referenced from the + + + + + When implemented in a derived class returns the script to prepare the database + for this transaction handler. + + A script to change the database schema for this transaction handler. + + + + Can be implemented in a derived class. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that began the transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being closed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that was closed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being disposed. + Contextual information associated with the call. + + + + Can be implemented in a derived class. + + The connection that was disposed. + Contextual information associated with the call. + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being opened. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that was opened. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being committed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was committed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being disposed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was disposed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being rolled back. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + Rrepresents a transaction + + + + + A unique id assigned to a transaction object. + + + + + The local time when the transaction was started. + + + + + + + + + + + Thrown when a context is generated from the templates in Database First or Model + First mode and is then used in Code First mode. + + + Code generated using the T4 templates provided for Database First and Model First use may not work + correctly if used in Code First mode. To use these classes with Code First please add any additional + configuration using attributes or the DbModelBuilder API and then remove the code that throws this + exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The object that holds the serialized object data. + The contextual information about the source or destination. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Allows configuration to be performed for an complex type in a model. + A ComplexTypeConfiguration can be obtained via the ComplexType method on + or a custom type derived from ComplexTypeConfiguration + can be registered via the Configurations property on . + + The complex type to be configured. + + + + Initializes a new instance of ComplexTypeConfiguration + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The same ComplexTypeConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Allows derived configuration classes for entities and complex types to be registered with a + . + + + Derived configuration classes are created by deriving from + or and using a type to be included in the model as the generic + parameter. + Configuration can be performed without creating derived configuration classes via the Entity and ComplexType + methods on . + + + + + Discovers all types that inherit from or + in the given assembly and adds an instance + of each discovered type to this registrar. + + + Note that only types that are abstract or generic type definitions are skipped. Every + type that is discovered and added must provide a parameterless constructor. + + The assembly containing model configurations to add. + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Adds an to the . + Only one can be added for each type in a model. + + The entity type being configured. + The entity type configuration to be added. + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Adds an to the . + Only one can be added for each type in a model. + + The complex type being configured. + The complex type configuration to be added + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows the conventions used by a instance to be customized. + The default conventions can be found in the System.Data.Entity.ModelConfiguration.Conventions namespace. + + + + + Discover all conventions in the given assembly and add them to the . + + + This method add all conventions ordered by type name. The order in which conventions are added + can have an impact on how they behave because it governs the order in which they are run. + All conventions found must have a parameterless public constructor. + + The assembly containing conventions to be added. + + + + Enables one or more conventions for the . + + The conventions to be enabled. + + + + Enables a convention for the . + + The type of the convention to be enabled. + + + + Enables a convention for the . This convention + will run after the one specified. + + The type of the convention after which the enabled one will run. + The convention to enable. + + + + Enables a configuration convention for the . This convention + will run before the one specified. + + The type of the convention before which the enabled one will run. + The convention to enable. + + + + Disables one or more conventions for the . + + The conventions to be disabled. + + + + Disables a convention for the . + The default conventions that are available for removal can be found in the + System.Data.Entity.ModelConfiguration.Conventions namespace. + + The type of the convention to be disabled. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the properties in a model. + + + + + Filters the properties that this convention applies to based on a predicate. + + A function to test each property for a condition. + + A instance so that multiple calls can be chained. + + + + + Filters the properties that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each property. If the value is null, the + property will be filtered out. + + + A instance so that multiple calls can be chained. + + + + + Allows configuration of the properties that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the properties of entity types in a model and a captured value. + + The type of the captured value. + + + + Allows configuration of the properties that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model. + + + + + Filters the entity types that this convention applies to based on a + predicate. + + A function to test each entity type for a condition. + + An instance so that multiple calls can be chained. + + + + + Filters the entity types that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each entity type. If the value is null, the + entity type will be filtered out. + + + An instance so that multiple calls can be chained. + + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model that inherit from a common, specified type. + + The common type of the entity types that this convention applies to. + + + + Filters the entity types that this convention applies to based on a + predicate. + + A function to test each entity type for a condition. + + An instance so that multiple calls can be chained. + + + + + Filters the entity types that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each entity type. If the value is null, the + entity type will be filtered out. + + + An instance so that multiple calls can be chained. + + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model and a captured value. + + Type of the captured value. + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model that inherit from a common, specified type and a + captured value. + + The common type of the entity types that this convention applies to. + Type of the captured value. + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a stored procedure that is used to modify a relationship. + + The type of the entity that the relationship is being configured from. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + The type of the property. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + The type of the property. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + + Creates a convention that configures stored procedures to be used to delete entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + + + + + + + + + + + + + + Creates a convention that configures stored procedures to be used to insert entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the result for. + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The property to configure the result for. + The name of the result column. + + + + + + + + + + + + + + + + Creates a convention that configures stored procedures to be used to modify entities in the database. + + + + + Creates a convention that configures stored procedures to be used to modify entities in the database. + + + + Configures stored procedure used to insert entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to update entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a convention that configures stored procedures to be used to update entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The current value parameter name. + The original value parameter name. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the result for. + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The property to configure the result for. + The name of the result column. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to delete entities. + + The type of the entity that the stored procedure can be used to delete. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to insert entities. + + The type of the entity that the stored procedure can be used to insert. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to modify a many to many relationship. + + The type of the entity that the relationship is being configured from. + The type of the entity that the other end of the relationship targets. + + + + Sets the name of the stored procedure. + + Name of the procedure. + The same configuration instance so that multiple calls can be chained. + + + + Sets the name of the stored procedure. + + Name of the procedure. + Name of the schema. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to modify a many to many relationship. + + The type of the entity that the relationship is being configured from. + The type of the entity that the other end of the relationship targets. + + + Configures stored procedure used to insert relationships. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete relationships. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Performs configuration of a stored procedure uses to modify an entity in the database. + + + + + Allows configuration to be performed for a stored procedure that is used to modify entities. + + The type of the entity that the stored procedure can be used to modify. + + + Configures stored procedure used to insert entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to update entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a stored procedure that is used to update entities. + + The type of the entity that the stored procedure can be used to update. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping for an entity type or a sub-set of properties from an entity type. + This configuration functionality is available via the Code First Fluent API, see . + + The entity type to be mapped. + + + Initializes a new instance of the class. + + + + Configures the properties that will be included in this mapping fragment. + If this method is not called then all properties that have not yet been + included in a mapping fragment will be configured. + + An anonymous type including the properties to be mapped. + A lambda expression to an anonymous type that contains the properties to be mapped. C#: t => new { t.Id, t.Property1, t.Property2 } VB.Net: Function(t) New With { p.Id, t.Property1, t.Property2 } + + + + Configures a property that is included in this mapping fragment. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Re-maps all properties inherited from base types. + When configuring a derived type to be mapped to a separate table this will cause all properties to + be included in the table rather than just the non-inherited properties. This is known as + Table per Concrete Type (TPC) mapping. + + The same configuration instance so that multiple calls can be chained. + + + + Configures the table name to be mapped to. + + Name of the table. + The same configuration instance so that multiple calls can be chained. + + + + Configures the table name and schema to be mapped to. + + Name of the table. + Schema of the table. + The same configuration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the discriminator column used to differentiate between types in an inheritance hierarchy. + + The name of the discriminator column. + A configuration object to further configure the discriminator column and values. + + + + Configures the discriminator condition used to differentiate between types in an inheritance hierarchy. + + The type of the property being used to discriminate between types. + A lambda expression representing the property being used to discriminate between types. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object to further configure the discriminator condition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a column with length facets for an entity type or complex type. This configuration functionality is exposed by the Code First Fluent API, see . + + + + Configures the column to allow the maximum length supported by the database provider. + The same instance so that multiple calls can be chained. + + + Configures the column to have the specified maximum length. + The same instance so that multiple calls can be chained. + The maximum length for the column. Setting the value to null will remove any maximum length restriction from the column and a default length will be used for the database column. + + + Configures the column to be fixed length. + The same instance so that multiple calls can be chained. + + + Configures the column to be variable length. + The same instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Configures a condition used to discriminate between types in an inheritance hierarchy based on the values assigned to a property. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the condition to require a value in the property. + Rows that do not have a value assigned to column that this property is stored in are + assumed to be of the base type of this entity type. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a primitive column from an entity type. + + + + Configures the primitive column to be optional. + The same instance so that multiple calls can be chained. + + + Configures the primitive column to be required. + The same instance so that multiple calls can be chained. + + + Configures the data type of the primitive column used to store the property. + The same instance so that multiple calls can be chained. + The name of the database provider specific data type. + + + Configures the order of the primitive column used to store the property. This method is also used to specify key ordering when an entity type has a composite key. + The same instance so that multiple calls can be chained. + The order that this column should appear in the database table. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a database column used to store a string values. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the column to allow the maximum length supported by the database provider. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. Setting 'null' will result in a default length being used for the column. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be variable length. + Columns are variable length by default. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be optional. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be required. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column. + + Name of the database provider specific data type. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column. + + The order that this column should appear in the database table. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to support Unicode string content. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the column supports Unicode string content. + + Value indicating if the column supports Unicode string content or not. Specifying 'null' will remove the Unicode facet from the column. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Configures a discriminator column used to differentiate between types in an inheritance hierarchy. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an index. + + + + + Configures the index to be unique. + + The same IndexConfiguration instance so that multiple calls can be chained. + + + + Configures whether the index will be unique. + + Value indicating if the index should be unique or not. + The same IndexConfiguration instance so that multiple calls can be chained. + + + + Configures the index to be clustered. + + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures whether or not the index will be clustered. + + Value indicating if the index should be clustered or not. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures the index to have a specific name. + + Value indicating what the index name should be. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures a primary key index. + + + + + Configures the index to be clustered. + + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures whether or not the index will be clustered. + + Value indicating if the index should be clustered or not. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures the index to have a specific name. + + Value indicating what the index name should be. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures a many relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be many:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an optional relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be optional:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A lambda expression representing the navigation property on the other end of the relationship. + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an required relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be required:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Base class for performing configuration of a relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures a relationship that can support cascade on delete functionality. + + + + + Configures cascade delete to be on for the relationship. + + + + + Configures whether or not cascade delete is on for the relationship. + + Value indicating if cascade delete is on or not. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a relationship that can support foreign key properties that are exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + The dependent entity type. + + + + Configures the relationship to use foreign key property(s) that are exposed in the object model. + If the foreign key property(s) are not exposed in the object model then use the Map method. + + The type of the key. + A lambda expression representing the property to be used as the foreign key. If the foreign key is made up of multiple properties then specify an anonymous type including the properties. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the principal entity type. + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping of a relationship that does not expose foreign key properties in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the name of the column(s) for the foreign key. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for a database column that has been configured with . + The annotation value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The name of the column that was configured with the HasKey method. + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name and schema that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + Schema of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + + + + Configures a relationship that can only support foreign key properties that are not exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the relationship to use foreign key property(s) that are not exposed in the object model. + The column(s) and table can be customized by specifying a configuration action. + If an empty configuration action is specified then column name(s) will be generated by convention. + If foreign key properties are exposed in the object model then use the HasForeignKey method. + Not all relationships support exposing foreign key properties in the object model. + + Action that configures the foreign key column(s) and table. + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping of a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the join table name for the relationship. + + Name of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the join table name and schema for the relationship. + + Name of the table. + Schema of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the join table. The annotation value can later be used when + processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the left foreign key. + The left foreign key points to the parent entity of the navigation property specified in the HasMany call. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the right foreign key. + The right foreign key points to the parent entity of the navigation property specified in the WithMany call. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + + + Determines whether the specified object is equal to the current object. + true if the specified object is equal to the current object; otherwise, false. + The object to compare with the current object. + + + + + + + + + + + + + Configures a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + The type of the parent entity of the navigation property specified in the HasMany call. + The type of the parent entity of the navigation property specified in the WithMany call. + + + + Configures the foreign key column(s) and table used to store the relationship. + + Action that configures the foreign key column(s) and table. + The same instance so that multiple calls can be chained. + + + + Configures stored procedures to be used for modifying this relationship. + The default conventions for procedure and parameter names will be used. + + The same instance so that multiple calls can be chained. + + + + Configures stored procedures to be used for modifying this relationship. + + + Configuration to override the default conventions for procedure and parameter names. + + The same instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be a row version in the database. + The actual data type will vary depending on the database provider being used. + Setting the property to be a row version will automatically configure it to be an + optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision of the property. + If the database provider does not support precision for the data type of the column then the value is ignored. + + Precision of the property. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision and scale of the property. + + The precision of the property. + The scale of the property. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property with length facets for an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column. + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + Properties are variable length by default. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a primitive property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the parameter used in stored procedures for this property. + + Name of the parameter. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a property in a mapping fragment. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the name of the database column used to store the property, in a mapping fragment. + + The name of the column. + The same PropertyMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same PropertyMappingConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column.. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to support Unicode string content. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property supports Unicode string content. + + Value indicating if the property supports Unicode string content or not. Specifying 'null' will remove the Unicode facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a primitive property of an entity type or complex type. + This configuration functionality is available via lightweight conventions. + + + + + Gets the for this property. + + + + + Configures the name of the database column used to store the property. + + The name of the column. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the name of the parameter used in stored procedures for this property. + + Name of the parameter. + + The same instance so that multiple calls can be chained. + + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be used as an optimistic concurrency token. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures how values for the property are generated by the database. + + The pattern used to generate values for the property in the database. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to support Unicode string content. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures whether or not the property supports Unicode string content. + + Value indicating if the property supports Unicode string content or not. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to be variable length. + Properties are variable length by default. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to allow the maximum length supported by the database provider. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the precision of the property. + If the database provider does not support precision for the data type of the column then the value is ignored. + + Precision of the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method will throw if the property is not a . + + + + + Configures the precision and scale of the property. + + The precision of the property. + The scale of the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method will throw if the property is not a . + + + + + Configures the property to be a row version in the database. + The actual data type will vary depending on the database provider being used. + Setting the property to be a row version will automatically configure it to be an + optimistic concurrency token. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures this property to be part of the entity type's primary key. + + + The same instance so that + multiple calls can be chained. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for an entity type in a model. + This configuration functionality is available via lightweight conventions. + + + + + Gets the of this entity type. + + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Excludes this entity type from the model so that it will not be mapped to the database. + + + The same instance so that multiple calls can be chained. + + + + + Changes this entity type to a complex type. + + + The same instance so that multiple calls can be chained. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The name of the property to be configured. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect if the property does not exist. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The property to be configured. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect if the property does not exist. + + + + + Configures a property that is defined on this type. + + The name of the property being configured. + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + The property being configured. + A configuration object that can be used to configure the property. + + + + Configures the primary key property for this entity type. + + The name of the property to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property for this entity type. + + The property to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property(s) for this entity type. + + The names of the properties to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property(s) for this entity type. + + The properties to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured or if any + property does not exist. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for an entity type in a model. + This configuration functionality is available via lightweight conventions. + + A type inherited by the entity type. + + + + Gets the of this entity type. + + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Excludes this entity type from the model so that it will not be mapped to the database. + + + The same instance so that multiple calls can be chained. + + + + + Changes this entity type to a complex type. + + + The same instance so that multiple calls can be chained. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + + The same instance so that multiple calls can be chained. + + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a type in a model. + + The type to be configured. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A general purpose class for Code First conventions that read attributes from .NET properties + and generate column annotations based on those attributes. + + The type of attribute to discover. + The type of annotation that will be created. + + + + Constructs a convention that will create column annotations with the given name and + using the given factory delegate. + + The name of the annotations to create. + A factory for creating the annotation on each column. + + + + A general purpose class for Code First conventions that read attributes from .NET types + and generate table annotations based on those attributes. + + The type of attribute to discover. + The type of annotation that will be created. + + + + Constructs a convention that will create table annotations with the given name and + using the given factory delegate. + + The name of the annotations to create. + A factory for creating the annotation on each table. + + + + Convention to process instances of found on properties in the model + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on foreign key properties in the model. + + + + + + + + A convention for discovering attributes on properties and generating + column annotations in the model. + + + + + Constructs a new instance of the convention. + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Base class for conventions that process CLR attributes found on primitive properties in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a property that has an attribute of type TAttribute applied. + + The configuration for the property that has the attribute. + The attribute. + + + + Base class for conventions that process CLR attributes found on properties of types in the model. + + + Note that the derived convention will be applied for any non-static property on the mapped type that has + the specified attribute, even if it wasn't included in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a property that has an attribute of type TAttribute applied. + + The member info for the property that has the attribute. + The configuration for the class that contains the property. + The attribute. + + + + Convention to process instances of found on navigation properties in the model. + + + + + Convention to process instances of found on primitive properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Base class for conventions that process CLR attributes found in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a class that has an attribute of type TAttribute applied. + + The configuration for the class that contains the property. + The attribute. + + + + A convention that doesn't override configuration. + + + + + The derived class can use the default constructor to apply a set rule of that change the model configuration. + + + + + Begins configuration of a lightweight convention that applies to all mapped types in + the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all mapped types in + the model that derive from or implement the specified type. + + The type of the entities that this convention will apply to. + A configuration object for the convention. + This method does not add new types to the model. + + + + Begins configuration of a lightweight convention that applies to all properties + in the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all primitive + properties of the specified type in the model. + + The type of the properties that the convention will apply to. + A configuration object for the convention. + + The convention will apply to both nullable and non-nullable properties of the + specified type. + + + + + Convention to detect navigation properties to be inverses of each other when only one pair + of navigation properties exists between the related types. + + + + + + + + Convention to configure a type as a complex type if it has no primary key, no mapped base type and no navigation properties. + + + + + + + + Convention to apply column ordering specified via + + or the API. + + + + + + + + Validates the ordering configuration supplied for columns. + This base implementation is a no-op. + + The name of the table that the columns belong to. + The definition of the table. + + + + Convention to apply column ordering specified via + + or the API. This convention throws if a duplicate configured column order + is detected. + + + + + Validates the ordering configuration supplied for columns to ensure + that the same ordinal was not supplied for two columns. + + The name of the table that the columns belong to. + The definition of the table. + + + + Convention to introduce indexes for foreign keys. + + + + + + + + Convention to add a cascade delete to the join table from both tables involved in a many to many relationship. + + + + + Convention to ensure an invalid/unsupported mapping is not created when mapping inherited properties + + + + + Convention to set the table name to be a pluralized version of the entity type name. + + + + + + + + Convention to set precision to 18 and scale to 2 for decimal properties. + + + + + Initializes a new instance of with the default precision and scale. + + + + + Initializes a new instance of with the specified precision and scale. + + Precision + Scale + + + + + + + Convention to move primary key properties to appear first. + + + + + + + + Convention to distinguish between optional and required relationships based on CLR nullability of the foreign key property. + + + + + + + + Base class for conventions that discover foreign key properties. + + + + + Returns true if the convention supports pairs of entity types that have multiple associations defined between them. + + + + + When overridden returns true if should be part of the foreign key. + + The association type being configured. + The dependent end. + The candidate property on the dependent end. + The principal end entity type. + A key property on the principal end that is a candidate target for the foreign key. + true if dependentProperty should be a part of the foreign key; otherwise, false. + + + + + + + Convention to process instances of found on navigation properties in the model. + + + + + + + + Convention to detect primary key properties. + Recognized naming patterns in order of precedence are: + 1. 'Id' + 2. [type name]Id + Primary key detection is case insensitive. + + + + + + + + Base class for conventions that discover primary key properties. + + + + + + + + When overridden returns the subset of properties that will be part of the primary key. + + The entity type. + The primitive types of the entities + The properties that should be part of the primary key. + + + + Convention to discover foreign key properties whose names are a combination + of the dependent navigation property name and the principal type primary key property name(s). + + + + + + + + + + + Convention to enable cascade delete for any required relationships. + + + + + + + + Convention to configure the primary key(s) of the dependent entity type as foreign key(s) in a one:one relationship. + + + + + + + + Convention to set the entity set name to be a pluralized version of the entity type name. + + + + + + + + Convention to discover foreign key properties whose names match the principal type primary key property name(s). + + + + + + + + Convention to set a maximum length for properties whose type supports length facets. The default value is 128. + + + + + Initializes a new instance of with the default length. + + + + + Initializes a new instance of with the specified length. + + The maximum length of properties. + + + + + + + + + + + + + Convention to set a default maximum length of 4000 for properties whose type supports length facets when SqlCe is the provider. + + + + + Initializes a new instance of with the default length. + + + + + Initializes a new instance of with the specified length. + + The default maximum length for properties. + + + + + + + + + + Convention to configure integer primary keys to be identity. + + + + + + + + Convention to discover foreign key properties whose names are a combination + of the principal type name and the principal type primary key property name(s). + + + + + + + + A convention that operates on the conceptual section of the model after the model is created. + + The type of metadata item that this convention operates on. + + + + Applies this convention to an item in the model. + + The item to apply the convention to. + The model. + + + + Identifies conventions that can be added to or removed from a instance. + + + Note that implementations of this interface must be immutable. + + + + + A convention that operates on the database section of the model after the model is created. + + The type of metadata item that this convention operates on. + + + + Applies this convention to an item in the model. + + The item to apply the convention to. + The model. + + + + Allows configuration to be performed for an entity type in a model. + An EntityTypeConfiguration can be obtained via the Entity method on + or a custom type derived from EntityTypeConfiguration + can be registered via the Configurations property on . + + The entity type being configured. + + + + Initializes a new instance of EntityTypeConfiguration + + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + A builder to configure the key. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures index property(s) for this entity type. + + The type of the index. + A lambda expression representing the property to apply an index to. C#: t => t.Id VB.Net: Function(t) t.Id If the index is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The IndexConfiguration instance so that the index can be further configured. + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + Allows advanced configuration related to how this entity type is mapped to the database schema. + By default, any configuration will also apply to any type derived from this entity type. + Derived types can be configured via the overload of Map that configures a derived type or + by using an EntityTypeConfiguration for the derived type. + The properties of an entity can be split between multiple tables using multiple Map calls. + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + + An action that performs configuration against an + + . + + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Allows advanced configuration related to how a derived entity type is mapped to the database schema. + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + The derived entity type to be configured. + + An action that performs configuration against an + + . + + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures an optional relationship from this entity type. + Instances of the entity type will be able to be saved to the database without this relationship being specified. + The foreign key in the database will be nullable. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures a required relationship from this entity type. + Instances of the entity type will not be able to be saved to the database unless this relationship is specified. + The foreign key in the database will be non-nullable. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures a many relationship from this entity type. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Exception thrown by during model creation when an invalid model is generated. + + + + + Initializes a new instance of ModelValidationException + + + + + Initializes a new instance of ModelValidationException + + The exception message. + + + + Initializes a new instance of ModelValidationException + + The exception message. + The inner exception. + + + Initializes a new instance of class serialization info and streaming context. + The serialization info. + The streaming context. + + + + By default expression like + .Select(x => NewProperty = func(x.Property)).Where(x => x.NewProperty == ...) + are simplified to avoid nested SELECT + In some cases, simplifying query with UDFs could caused to suboptimal plans due to calling UDF twice. + Also some SQL functions aren't allow in WHERE clause. + Disabling that behavior + + + + + An implementation of that will use Code First Migrations + to update the database to the latest version. + + The type of the context. + The type of the migrations configuration to use during initialization. + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class that will use + the connection information from a context constructed using the default constructor + or registered factory if applicable + + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class specifying whether to + use the connection information from the context that triggered initialization to perform the migration. + + + If set to true the initializer is run using the connection information from the context that + triggered initialization. Otherwise, the connection information will be taken from a context constructed + using the default constructor or registered factory if applicable. + + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class specifying whether to + use the connection information from the context that triggered initialization to perform the migration. + Also allows specifying migrations configuration to use during initialization. + + + If set to true the initializer is run using the connection information from the context that + triggered initialization. Otherwise, the connection information will be taken from a context constructed + using the default constructor or registered factory if applicable. + + Migrations configuration to use during initialization. + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class that will + use a specific connection string from the configuration file to connect to + the database to perform the migration. + + The name of the connection string to use for migration. + + + + + + + Helper class that is used to configure a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a new column definition to store Binary data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The maximum allowable length of the array data. + Value indicating whether or not all data should be padded to the maximum length. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + Value indicating whether or not this column should be configured as a timestamp. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Boolean data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Byte data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store DateTime data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Decimal data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The numeric precision of the column. + The numeric scale of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Value indicating whether or not the database will generate values for this column during insert. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Double data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store GUID data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Single data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Short data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Integer data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Long data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store String data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The maximum allowable length of the string data. + Value indicating whether or not all data should be padded to the maximum length. + Value indicating whether or not the column supports Unicode content. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Time data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store DateTimeOffset data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store hierarchyid data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store geography data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store geometry data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Helper class that is used to configure a parameter. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a new parameter definition to pass Binary data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The maximum allowable length of the array data. + Value indicating whether or not all data should be padded to the maximum length. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Boolean data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Byte data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass DateTime data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Decimal data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The numeric precision of the parameter. + The numeric scale of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Double data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass GUID data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Single data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Short data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Integer data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Long data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass String data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The maximum allowable length of the string data. + Value indicating whether or not all data should be padded to the maximum length. + Value indicating whether or not the parameter supports Unicode content. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Time data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass DateTimeOffset data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass geography data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass geometry data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Helper class that is used to further configure a table being created from a CreateTable call on + + . + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The type that represents the table's columns. + + + + Initializes a new instance of the TableBuilder class. + + The table creation operation to be further configured. + The migration the table is created in. + + + + Specifies a primary key for the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The name of the primary key. If null is supplied, a default name will be generated. + A value indicating whether or not this is a clustered primary key. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + Specifies an index to be created on the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A lambda expression representing the property to be indexed. C#: t => t.PropertyOne VB.Net: Function(t) t.PropertyOne If multiple properties are to be indexed then specify an anonymous type including the properties. C#: t => new { t.PropertyOne, t.PropertyTwo } VB.Net: Function(t) New With { t.PropertyOne, t.PropertyTwo } + The name of the index. + A value indicating whether or not this is a unique index. + A value indicating whether or not this is a clustered index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + Specifies a foreign key constraint to be created on the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table that the foreign key constraint targets. + A lambda expression representing the properties of the foreign key. C#: t => t.PropertyOne VB.Net: Function(t) t.PropertyOne If multiple properties make up the foreign key then specify an anonymous type including the properties. C#: t => new { t.PropertyOne, t.PropertyTwo } VB.Net: Function(t) New With { t.PropertyOne, t.PropertyTwo } + A value indicating whether or not cascade delete should be configured on the foreign key constraint. + The name of this foreign key constraint. If no name is supplied, a default name will be calculated. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Base class for code-based migrations. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Operations to be performed during the upgrade process. + + + + + Operations to be performed during the downgrade process. + + + + + Adds an operation to create a new stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The action that specifies the parameters of the stored procedure. + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + The parameters in this create stored procedure operation. You do not need to specify this + type, it will be inferred from the parameter you supply. + + + + + Adds an operation to alter a stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to alter a stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The parameters in this alter stored procedure operation. You do not need to specify this + type, it will be inferred from the parameter you supply. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The action that specifies the parameters of the stored procedure. + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing stored procedure with the specified name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the procedure to drop. Schema name is optional, if no schema is specified then dbo is + assumed. + + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this create table operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + An object that allows further configuration of the table creation operation. + + + + Adds an operation to create a new table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this create table operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + Custom annotations that exist on the table to be created. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + An object that allows further configuration of the table creation operation. + + + + Adds an operation to handle changes in the annotations defined on tables. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + The custom annotations on the table that have changed. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new foreign key constraint. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + The column this foreign key references. If no value is supplied the primary key of the + principal table will be referenced. + + + A value indicating if cascade delete should be configured for the foreign key + relationship. If no value is supplied, cascade delete will be off. + + + The name of the foreign key constraint in the database. If no value is supplied a unique name will + be generated. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new foreign key constraint. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key columns. + + The table that contains the columns this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + The columns this foreign key references. If no value is supplied the primary key of the + principal table will be referenced. + + + A value indicating if cascade delete should be configured for the foreign key + relationship. If no value is supplied, cascade delete will be off. + + + The name of the foreign key constraint in the database. If no value is supplied a unique name will + be generated. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on its name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The name of the foreign key constraint in the database. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the column it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the column it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. + Schema name is optional, if no schema is specified then dbo is assumed. + + The columns this foreign key references. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the columns it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key columns. + + The table that contains the columns this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to move a table to a new schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be moved. Schema name is optional, if no schema is specified then dbo is + assumed. + + The schema the table is to be moved to. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to move a stored procedure to a new schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure to be moved. Schema name is optional, if no schema is specified + then dbo is assumed. + + The schema the stored procedure is to be moved to. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a table. To change the schema of a table use MoveTable. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be renamed. Schema name is optional, if no schema is specified then dbo is + assumed. + + + The new name for the table. Schema name is optional, if no schema is specified then dbo is + assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a stored procedure. To change the schema of a stored procedure use MoveStoredProcedure + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure to be renamed. Schema name is optional, if no schema is specified + then dbo is assumed. + + + The new name for the stored procedure. Schema name is optional, if no schema is specified then + dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table that contains the column to be renamed. Schema name is optional, if no + schema is specified then dbo is assumed. + + The name of the column to be renamed. + The new name for the column. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to add a column to an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to add the column to. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be added. + + An action that specifies the column to be added. i.e. c => c.Int(nullable: false, + defaultValue: 3) + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the column from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the column from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to alter the definition of an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table the column exists in. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be changed. + + An action that specifies the new definition for the column. i.e. c => c.String(nullable: + false, defaultValue: "none") + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + The primary key column. + + The name of the primary key in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered primary key. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new primary key based on multiple columns. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The primary key columns. + + The name of the primary key in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered primary key. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing primary key that does not have the default name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the primary key to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing primary key that was created with the default name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create an index on a single column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to create the index on. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to create the index on. + + A value indicating if this is a unique index. If no value is supplied a non-unique index will be + created. + + + The name to use for the index in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create an index on multiple columns. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to create the index on. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the columns to create the index on. + + A value indicating if this is a unique index. If no value is supplied a non-unique index will be + created. + + + The name to use for the index in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an index based on its name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the index from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the index to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an index based on the columns it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the index from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column(s) the index targets. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename an index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table that contains the index to be renamed. Schema name is optional, if no + schema is specified then dbo is assumed. + + The name of the index to be renamed. + The new name for the index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL command or set of SQL commands. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The SQL to be executed. + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL file. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The SQL file to be executed. Relative paths are assumed to be relative to the current AppDomain's BaseDirectory. + + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL resource file. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The manifest resource name of the SQL resource file to be executed. + + The assembly containing the resource file. The calling assembly is assumed if not provided. + + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + + + + + + + + + + + + + + + + + + + Configuration relating to the use of migrations for a given model. + You will typically create a configuration class that derives + from rather than + using this class. + + + + + The default directory that migrations are stored in. + + + + + Initializes a new instance of the DbMigrationsConfiguration class. + + + + + Gets or sets a value indicating if automatic migrations can be used when migrating the database. + + + + + Gets or sets the string used to distinguish migrations belonging to this configuration + from migrations belonging to other configurations using the same database. + This property enables migrations from multiple different models to be applied to a single database. + + + + + Gets or sets a value indicating if data loss is acceptable during automatic migration. + If set to false an exception will be thrown if data loss may occur as part of an automatic migration. + + + + + Adds a new SQL generator to be used for a given database provider. + + Name of the database provider to set the SQL generator for. + The SQL generator to be used. + + + + Gets the SQL generator that is set to be used with a given database provider. + + Name of the database provider to get the SQL generator for. + The SQL generator that is set for the database provider. + + + + Adds a new factory for creating instances to be used for a given database provider. + + Name of the database provider to set the SQL generator for. + + A factory for creating instances for a given and + representing the default schema. + + + + + Gets the history context factory that is set to be used with a given database provider. + + Name of the database provider to get thefactory for. + The history context factory that is set for the database provider. + + + + Gets or sets the derived DbContext representing the model to be migrated. + + + + + Gets or sets the namespace used for code-based migrations. + + + + + Gets or sets the sub-directory that code-based migrations are stored in. + Note that this property must be set to a relative path for a sub-directory under the + Visual Studio project root; it cannot be set to an absolute path. + + + + + Gets or sets the code generator to be used when scaffolding migrations. + + + + + Gets or sets the assembly containing code-based migrations. + + + + + Gets or sets a value to override the connection of the database to be migrated. + + + + + Gets or sets the timeout value used for the individual commands within a + migration. + + + The time in seconds to wait for the command to execute. A null value indicates + that the default value of the underlying provider will be used. + + + + + Configuration relating to the use of migrations for a given model. + + The context representing the model that this configuration applies to. + + + + Initializes a new instance of the DbMigrationsConfiguration class. + + + + + Runs after upgrading to the latest migration to allow seed data to be updated. + + + Note that the database may already contain seed data when this method runs. This means that + implementations of this method must check whether or not seed data is present and/or up-to-date + and then only make changes if necessary and in a non-destructive way. The + + can be used to help with this, but for seeding large amounts of data it may be necessary to do less + granular checks if performance is an issue. + If the database + initializer is being used, then this method will be called each time that the initializer runs. + If one of the , , + or initializers is being used, then this method will not be + called and the Seed method defined in the initializer should be used instead. + + Context to be used for updating seed data. + + + + + + + + + + + + + + + + + + + DbMigrator is used to apply existing migrations to a database. + DbMigrator can be used to upgrade and downgrade to any given migration. + To scaffold migrations based on changes to your model use + + + + + Migration Id representing the state of the database before any migrations are applied. + + + + + Initializes a new instance of the DbMigrator class. + + Configuration to be used for the migration process. + + + + Initializes a new instance of the DbMigrator class using the supplied context. + Use this constructor when applying migrations from code to avoid having migrations attempt + to create a context/connection for you. + + Configuration to be used for the migration process. + The to use. + + + + Gets the configuration that is being used for the migration process. + + + + + Gets all migrations that are defined in the configured migrations assembly. + + The list of migrations. + + + + Gets all migrations that have been applied to the target database. + + The list of migrations. + + + + Gets all migrations that are defined in the assembly but haven't been applied to the target database. + + The list of migrations. + + + + Updates the target database to a given migration. + + The migration to upgrade/downgrade to. + + + + A set of extension methods for + + + + + Adds or updates entities by key when SaveChanges is called. Equivalent to an "upsert" operation + from database terminology. + This method can be useful when seeding data using Migrations. + + The type of entities to add or update. + The set to which the entities belong. + The entities to add or update. + + When the parameter is a custom or fake IDbSet implementation, this method will + attempt to locate and invoke a public, instance method with the same signature as this extension method. + + + + + Adds or updates entities by a custom identification expression when SaveChanges is called. + Equivalent to an "upsert" operation from database terminology. + This method can useful when seeding data using Migrations. + + The type of entities to add or update. + The set to which the entities belong. + An expression specifying the properties that should be used when determining whether an Add or Update operation should be performed. + The entities to add or update. + + When the parameter is a custom or fake IDbSet implementation, this method will + attempt to locate and invoke a public, instance method with the same signature as this extension method. + + + + + Generates C# code for a code-based migration. + + + + + + + + Generates the primary code file that the user can view and edit. + + Operations to be performed by the migration. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates the code behind file with migration metadata. + + Unique identifier of the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates a property to return the source or target model in the code behind file. + + Name of the property. + Value to be returned. + Text writer to add the generated code to. + + + + Generates class attributes. + + Text writer to add the generated code to. + A value indicating if this class is being generated for a code-behind file. + + + + Generates a namespace, using statements and class definition. + + Namespace that code should be generated in. + Name of the class that should be generated. + Text writer to add the generated code to. + Base class for the generated class. + A value indicating if this class is being generated for a code-behind file. + Namespaces for which using directives will be added. If null, then the namespaces returned from GetDefaultNamespaces will be used. + + + + Generates the closing code for a class that was started with WriteClassStart. + + Namespace that code should be generated in. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for the given annotation value, which may be null. The default behavior is to use an + if one is registered, otherwise call ToString on the annotation value. + + + Note that a can be registered to generate code for custom annotations + without the need to override the entire code generator. + + The name of the annotation for which code is needed. + The annotation value to generate. + The writer to which generated code should be written. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to specify the definition for a . + The parameter definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for an . + + The operation for which code should be generated. + The writer to which generated code should be written. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify a set of column names using a lambda expression. + + The columns to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify the definition for a . + + The column definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column of unknown data type. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Removes any invalid characters from the name of an database artifact. + + The name to be scrubbed. + The scrubbed name. + + + + Gets the type name to use for a column of the given data type. + + The data type to translate. + The type name to use in the generated migration. + + + + Quotes an identifier using appropriate escaping to allow it to be stored in a string. + + The identifier to be quoted. + The quoted identifier. + + + + Base class for providers that generate code for code-based migrations. + + + + + Generates the code that should be added to the users project. + + Unique identifier of the migration. + Operations to be performed by the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Gets the namespaces that must be output as "using" or "Imports" directives to handle + the code generated by the given operations. + + The operations for which code is going to be generated. + An ordered list of namespace names. + + + + Gets the default namespaces that must be output as "using" or "Imports" directives for + any code generated. + + A value indicating if this class is being generated for a code-behind file. + An ordered list of namespace names. + + + + Gets the instances that are being used. + + + + + Scaffolds code-based migrations to apply pending model changes to the database. + + + + + Initializes a new instance of the MigrationScaffolder class. + + Configuration to be used for scaffolding. + + + + Gets or sets the namespace used in the migration's generated code. + By default, this is the same as MigrationsNamespace on the migrations + configuration object passed into the constructor. For VB.NET projects, this + will need to be updated to take into account the project's root namespace. + + + + + Scaffolds a code based migration to apply any pending model changes to the database. + + The name to use for the scaffolded migration. + The scaffolded migration. + + + + Scaffolds a code based migration to apply any pending model changes to the database. + + The name to use for the scaffolded migration. + Whether or not to include model changes. + The scaffolded migration. + + + + Scaffolds the initial code-based migration corresponding to a previously run database initializer. + + The scaffolded migration. + + + + Represents a code-based migration that has been scaffolded and is ready to be written to a file. + + + + + Gets or sets the unique identifier for this migration. + Typically used for the file name of the generated code. + + + + + Gets or sets the scaffolded migration code that the user can edit. + + + + + Gets or sets the scaffolded migration code that should be stored in a code behind file. + + + + + Gets or sets the programming language used for this migration. + Typically used for the file extension of the generated code. + + + + + Gets or sets the subdirectory in the user's project that this migration should be saved in. + + + + + Gets a dictionary of string resources to add to the migration resource file. + + + + + Gets or sets whether the migration was re-scaffolded. + + + + + Represents an exception that occurred while running an operation in another AppDomain in the + . + + + + + Initializes a new instance of the ToolingException class. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the ToolingException class. + + Error that explains the reason for the exception. + The type of the exception that was thrown. + The stack trace of the exception that was thrown. + + + + 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 a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the type of the exception that was thrown. + + + + + Gets the stack trace of the exception that was thrown. + + + + + Helper class that is used by design time tools to run migrations related + commands that need to interact with an application that is being edited + in Visual Studio. + Because the application is being edited the assemblies need to + be loaded in a separate AppDomain to ensure the latest version + is always loaded. + The App/Web.config file from the startup project is also copied + to ensure that any configuration is applied. + + + + + Gets or sets an action to be run to log information. + + + + + Gets or sets an action to be run to log warnings. + + + + + Gets or sets an action to be run to log verbose information. + + + + + Initializes a new instance of the ToolingFacade class. + + The name of the assembly that contains the migrations configuration to be used. + The name of the assembly that contains the DbContext to be used. + The namespace qualified name of migrations configuration to be used. + The working directory containing the compiled assemblies. + The path of the config file from the startup project. + The path of the application data directory from the startup project. Typically the App_Data directory for web applications or the working directory for executables. + The connection to the database to be migrated. If null is supplied, the default connection for the context will be used. + + + + Releases all unmanaged resources used by the facade. + + + + + Gets the fully qualified name of all types deriving from . + + All context types found. + + + + Gets the fully qualified name of a type deriving from . + + The name of the context type. If null, the single context type found in the assembly will be returned. + The context type found. + + + + Gets a list of all migrations that have been applied to the database. + + Ids of applied migrations. + + + + Gets a list of all migrations that have not been applied to the database. + + Ids of pending migrations. + + + + Updates the database to the specified migration. + + The Id of the migration to migrate to. If null is supplied, the database will be updated to the latest migration. + Value indicating if data loss during automatic migration is acceptable. + + + + Generates a SQL script to migrate between two migrations. + + The migration to update from. If null is supplied, a script to update the current database will be produced. + The migration to update to. If null is supplied, a script to update to the latest migration will be produced. + Value indicating if data loss during automatic migration is acceptable. + The generated SQL script. + + + + Scaffolds a code-based migration to apply any pending model changes. + + The name for the generated migration. + The programming language of the generated migration. + The root namespace of the project the migration will be added to. + Whether or not to include model changes. + The scaffolded migration. + + + + Scaffolds the initial code-based migration corresponding to a previously run database initializer. + + The programming language of the generated migration. + The root namespace of the project the migration will be added to. + The scaffolded migration. + + + + + + + Releases all resources used by the facade. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + Generates VB.Net code for a code-based migration. + + + + + + + + Generates the primary code file that the user can view and edit. + + Operations to be performed by the migration. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates the code behind file with migration metadata. + + Unique identifier of the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates a property to return the source or target model in the code behind file. + + Name of the property. + Value to be returned. + Text writer to add the generated code to. + + + + Generates class attributes. + + Text writer to add the generated code to. + A value indicating if this class is being generated for a code-behind file. + + + + Generates a namespace, using statements and class definition. + + Namespace that code should be generated in. + Name of the class that should be generated. + Text writer to add the generated code to. + Base class for the generated class. + A value indicating if this class is being generated for a code-behind file. + Namespaces for which Imports directives will be added. If null, then the namespaces returned from GetDefaultNamespaces will be used. + + + + Generates the closing code for a class that was started with WriteClassStart. + + Namespace that code should be generated in. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for the given annotation value, which may be null. The default behavior is to use an + if one is registered, otherwise call ToString on the annotation value. + + + Note that a can be registered to generate code for custom annotations + without the need to override the entire code generator. + + The name of the annotation for which code is needed. + The annotation value to generate. + The writer to which generated code should be written. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The parameter model definition to generate code for. + Text writer to add the generated code to. + true to include the column name in the definition; otherwise, false. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for an . + + The operation for which code should be generated. + The writer to which generated code should be written. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify a set of column names using a lambda expression. + + The columns to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify the definition for a . + + The column definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column of unknown data type. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Removes any invalid characters from the name of an database artifact. + + The name to be scrubbed. + The scrubbed name. + + + + Gets the type name to use for a column of the given data type. + + The data type to translate. + The type name to use in the generated migration. + + + + Quotes an identifier using appropriate escaping to allow it to be stored in a string. + + The identifier to be quoted. + The quoted identifier. + + + + This class is used by Code First Migrations to read and write migration history + from the database. + To customize the definition of the migrations history table you can derive from + this class and override OnModelCreating. Derived instances can either be registered + on a per migrations configuration basis using , + or globally using . + + + + + The default name used for the migrations history table. + + + + + Initializes a new instance of the HistoryContext class. + If you are creating a derived history context you will generally expose a constructor + that accepts these same parameters and passes them to this base constructor. + + + An existing connection to use for the new context. + + + The default schema of the model being migrated. + This schema will be used for the migrations history table unless a different schema is configured in OnModelCreating. + + + + + Gets the key used to locate a model that was previously built for this context. This is used + to avoid processing OnModelCreating and calculating the model every time a new context instance is created. + By default this property returns the default schema. + In most cases you will not need to override this property. However, if your implementation of OnModelCreating + contains conditional logic that results in a different model being built for the same database provider and + default schema you should override this property and calculate an appropriate key. + + + + + Gets the default schema of the model being migrated. + This schema will be used for the migrations history table unless a different schema is configured in OnModelCreating. + + + + + Gets or sets a that can be used to read and write instances. + + + + + Applies the default configuration for the migrations history table. If you override + this method it is recommended that you call this base implementation before applying your + custom configuration. + + The builder that defines the model for the context being created. + + + + This class is used by Code First Migrations to read and write migration history + from the database. + + + + + Gets or sets the Id of the migration this row represents. + + + + + Gets or sets a key representing to which context the row applies. + + + + + Gets or sets the state of the model after this migration was applied. + + + + + Gets or sets the version of Entity Framework that created this entry. + + + + + Represents an error that occurs when an automatic migration would result in data loss. + + + + + Initializes a new instance of the AutomaticDataLossException class. + + + + + Initializes a new instance of the AutomaticDataLossException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents an error that occurs when there are pending model changes after applying the last migration and automatic migration is disabled. + + + + + Initializes a new instance of the AutomaticMigrationsDisabledException class. + + + + + Initializes a new instance of the AutomaticMigrationsDisabledException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Explicitly implemented by to prevent certain members from showing up + in the IntelliSense of scaffolded migrations. + + + + + Adds a custom to the migration. + Custom operation implementors are encouraged to create extension methods on + that provide a fluent-style API for adding new operations. + + The operation to add. + + + + Provides additional metadata about a code-based migration. + + + + + Gets the unique identifier for the migration. + + + + + Gets the state of the model before this migration is run. + + + + + Gets the state of the model after this migration is run. + + + + + Represents errors that occur inside the Code First Migrations pipeline. + + + + + Initializes a new instance of the MigrationsException class. + + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the MigrationsException class with serialized data. + + + The that holds the serialized object data about the exception being thrown. + + + The that contains contextual information about the source or destination. + + + + + Base class for loggers that can be used for the migrations process. + + + + + Logs an informational message. + + The message to be logged. + + + + Logs a warning that the user should be made aware of. + + The message to be logged. + + + + Logs some additional information that should only be presented to the user if they request verbose output. + + The message to be logged. + + + + Thrown when an operation can't be performed because there are existing migrations that have not been applied to the database. + + + + + Initializes a new instance of the MigrationsPendingException class. + + + + + Initializes a new instance of the MigrationsPendingException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsPendingException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Base class for decorators that wrap the core + + + + + Initializes a new instance of the MigratorBase class. + + The migrator that this decorator is wrapping. + + + + Gets a list of the pending migrations that have not been applied to the database. + + List of migration Ids + + + + Gets the configuration being used for the migrations process. + + + + + Updates the target database to the latest migration. + + + + + Updates the target database to a given migration. + + The migration to upgrade/downgrade to. + + + + Gets a list of the migrations that are defined in the assembly. + + List of migration Ids + + + + Gets a list of the migrations that have been applied to the database. + + List of migration Ids + + + + Decorator to provide logging during migrations operations.. + + + + + Initializes a new instance of the MigratorLoggingDecorator class. + + The migrator that this decorator is wrapping. + The logger to write messages to. + + + + Decorator to produce a SQL script instead of applying changes to the database. + Using this decorator to wrap will prevent + from applying any changes to the target database. + + + + + Initializes a new instance of the MigratorScriptingDecorator class. + + The migrator that this decorator is wrapping. + + + + Produces a script to update the database. + + + The migration to update from. If null is supplied, a script to update the + current database will be produced. + + + The migration to update to. If null is supplied, + a script to update to the latest migration will be produced. + + The generated SQL script. + + + + Represents a column being added to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be added to. + Details of the column being added. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column should be added to. + + + + + Gets the details of the column being added. + + + + + Gets an operation that represents dropping the added column. + + + + + + + + Represents a foreign key constraint being added to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddForeignKeyOperation class. + The PrincipalTable, PrincipalColumns, DependentTable and DependentColumns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + The names of the column(s) that the foreign key constraint should target. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating if cascade delete should be configured on the foreign key constraint. + + + + + Gets an operation to create an index on the foreign key column(s). + + An operation to add the index. + + + + Gets an operation to drop the foreign key constraint. + + + + + + + + Represents adding a primary key to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddPrimaryKeyOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the primary key. + + + + + Represents altering an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AlterColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table that the column belongs to. + Details of what the column should be altered to. + Value indicating if this change will result in data loss. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the AlterColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table that the column belongs to. + Details of what the column should be altered to. + Value indicating if this change will result in data loss. + An operation to revert this alteration of the column. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table that the column belongs to. + + + + + Gets the new definition for the column. + + + + + Gets an operation that represents reverting the alteration. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents altering an existing stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation that will revert this operation. + Always returns a . + + + + + Represents changes made to custom annotations on a table. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AlterTableOperation class. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table on which annotations have changed. + The custom annotations on the table that have changed. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table on which annotations have changed. + + + + + Gets the columns to be included in the table for which annotations have changed. + + + + + Gets the custom annotations that have changed on the table. + + + + + Gets an operation that is the inverse of this one such that annotations will be changed back to how + they were before this operation was applied. + + + + + + + + Represents information about a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ColumnModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this column. + + + + Initializes a new instance of the ColumnModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this column. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets the CLR type corresponding to the database type of this column. + + + + + Gets the default value for the CLR type corresponding to the database type of this column. + + + + + Gets or sets a value indicating if this column can store null values. + + + + + Gets or sets a value indicating if values for this column will be generated by the database using the identity pattern. + + + + + Gets or sets a value indicating if this property model should be configured as a timestamp. + + + + + Gets or sets the custom annotations that have changed on the column. + + + + + Determines if this column is a narrower data type than another column. + Used to determine if altering the supplied column definition to this definition will result in data loss. + + The column to compare to. + Details of the database provider being used. + True if this column is of a narrower data type. + + + + Represents creating a database index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the CreateIndexOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets a value indicating if this is a unique index. + + + + + Gets an operation to drop this index. + + + + + + + + Gets or sets whether this is a clustered index. + + + + + A migration operation to add a new stored procedure to the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the stored procedure. + + + + + Represents creating a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the CreateTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be created. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the CreateTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be created. + Custom annotations that exist on the table to be created. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be created. + + + + + Gets the columns to be included in the new table. + + + + + Gets or sets the primary key for the new table. + + + + + Gets custom annotations that exist on the table to be created. + + + + + Gets an operation to drop the table. + + + + + + + + Represents a column being dropped from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + The operation that represents reverting the drop operation. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + The operation that represents reverting the drop operation. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column should be dropped from. + + + + + Gets the name of the column to be dropped. + + + + + Gets custom annotations that exist on the column that is being dropped. + + + + + Gets an operation that represents reverting dropping the column. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents a foreign key constraint being dropped from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropForeignKeyOperation class. + The PrincipalTable, DependentTable and DependentColumns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropForeignKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc.. + + The operation that represents reverting dropping the foreign key constraint. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the associated index on the foreign key column(s). + + An operation to drop the index. + + + + Gets an operation that represents reverting dropping the foreign key constraint. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents dropping an existing index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The operation that represents reverting dropping the index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation that represents reverting dropping the index. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents dropping a primary key from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropPrimaryKeyOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to add the primary key. + + + + + Used when altering the migrations history table so that the table can be rebuilt rather than just dropping and adding the primary key. + + + The create table operation for the migrations history table. + + + + + Drops a stored procedure from the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to drop. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to drop. + + + The name of the stored procedure to drop. + + + + + Gets an operation that will revert this operation. + Always returns a . + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents dropping an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + An operation that represents reverting dropping the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + An operation that represents reverting dropping the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be dropped. + + + + + Gets custom annotations that exist on the table that is being dropped. + + + + + Gets custom annotations that exist on columns of the table that is being dropped. + + + + + Gets an operation that represents reverting dropping the table. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Base class for changes that affect foreign key constraints. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ForeignKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets the name of the table that the foreign key constraint targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the name of the table that the foreign key columns exist in. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + The names of the foreign key column(s). + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this foreign key constraint. + + + + + Gets or sets the name of this foreign key constraint. + If no name is supplied, a default name will be calculated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Operation representing DML changes to the migrations history table. + The migrations history table is used to store a log of the migrations that have been applied to the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the HistoryOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A sequence of command trees representing the operations being applied to the history table. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + A sequence of commands representing the operations being applied to the history table. + + + + + + + + Common base class for operations affecting indexes. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a default index name based on the supplied column names. + + The column names used to create a default index name. + A default index name. + + + + Initializes a new instance of the IndexOperation class. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets or sets the table the index belongs to. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets the columns that are indexed. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this index. + + + + + Gets or sets the name of this index. + If no name is supplied, a default name will be calculated. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Represents an operation to modify a database schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the MigrationOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" + }'. + + + + + Gets additional arguments that may be processed by providers. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. + + + + + Represents moving a stored procedure to a new schema in the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to move. + The new schema for the stored procedure. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to move. + + + The name of the stored procedure to move. + + + + + Gets the new schema for the stored procedure. + + + The new schema for the stored procedure. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents moving a table from one schema to another. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the MoveTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be moved. + Name of the schema to move the table to. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be moved. + + + + + Gets the name of the schema to move the table to. + + + + + Gets an operation that moves the table back to its original schema. + + + + + + + + Used when altering the migrations history table so that data can be moved to the new table. + + + The context key for the model. + + + + + Gets a value that indicates whether this is a system table. + + + true if the table is a system table; otherwise, false. + + + + + Used when altering the migrations history table so that the table can be rebuilt rather than just dropping and adding the primary key. + + + The create table operation for the migrations history table. + + + + + Represents a migration operation that can not be performed, possibly because it is not supported by the targeted database provider. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents information about a parameter. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ParameterModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this parameter. + + + + Initializes a new instance of the ParameterModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this parameter. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets or sets a value indicating whether this instance is out parameter. + + + true if this instance is out parameter; otherwise, false. + + + + + Common base class to represent operations affecting primary keys. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Returns the default name for the primary key. + + The target table name. + The default primary key name. + + + + Initializes a new instance of the PrimaryKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets the name of the table that contains the primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets the column(s) that make up the primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this primary key. + + + + + Gets or sets the name of this primary key. + If no name is supplied, a default name will be calculated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + + + + Gets or sets whether this is a clustered primary key. + + + + + A migration operation that affects stored procedures. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure. + + + The name of the stored procedure. + + + + + Gets the body of the stored procedure expressed in SQL. + + + The body of the stored procedure expressed in SQL. + + + + + Gets the parameters of the stored procedure. + + + The parameters of the stored procedure. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents information about a property of an entity. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the PropertyModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this property model. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets the data type for this property model. + + + + + Gets additional details about the data type of this property model. + This includes details such as maximum length, nullability etc. + + + + + Gets or sets the name of the property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a provider specific data type to use for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the maximum length for this property model. + Only valid for array data types. + + + + + Gets or sets the precision for this property model. + Only valid for decimal data types. + + + + + Gets or sets the scale for this property model. + Only valid for decimal data types. + + + + + Gets or sets a constant value to use as the default value for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a SQL expression used as the default value for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating if this property model is fixed length. + Only valid for array data types. + + + + + Gets or sets a value indicating if this property model supports Unicode characters. + Only valid for textual data types. + + + + + Represents renaming an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table the column belongs to. + Name of the column to be renamed. + New name for the column. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column belongs to. + + + + + Gets the name of the column to be renamed. + + + + + Gets the new name for the column. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents renaming an existing index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table the index belongs to. + Name of the index to be renamed. + New name for the index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the index belongs to. + + + + + Gets the name of the index to be renamed. + + + + + Gets the new name for the index. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents renaming a stored procedure in the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to rename. + The new name for the stored procedure. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to rename. + + + The name of the stored procedure to rename. + + + + + Gets the new name for the stored procedure. + + + The new name for the stored procedure. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents renaming an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be renamed. + New name for the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be renamed. + + + + + Gets the new name for the table. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents a provider specific SQL statement to be executed directly against the target database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the SqlOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The SQL to be executed. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the SQL to be executed. + + + + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + + + + Used when scripting an update database operation to store the operations that would have been performed against the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Represents a migration to be applied to the database. + + + + + Gets the id of the migration. + + + The id of the migration. + + + + + Gets the individual operations applied by this migration. + + + The individual operations applied by this migration. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The queries used to determine if this migration needs to be applied to the database. + This is used to generate an idempotent SQL script that can be run against a database at any version. + + + + + The queries used to determine if this migration needs to be applied to the database. + This is used to generate an idempotent SQL script that can be run against a database at any version. + + + + + Gets the migrations applied during the update database operation. + + + The migrations applied during the update database operation. + + + + + Adds a migration to this update database operation. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The id of the migration. + The individual operations applied by the migration. + + + + Gets a value indicating if any of the operations may result in data loss. + + + + + Common base class for providers that convert provider agnostic migration + operations into database provider specific SQL commands. + + + + + Gets or sets the provider manifest. + + + The provider manifest. + + + + + Converts a set of migration operations into database provider specific SQL. + + The operations to be converted. + Token representing the version of the database being targeted. + A list of SQL statements to be executed to perform the migration operations. + + + + Generates the SQL body for a stored procedure. + + The command trees representing the commands for an insert, update or delete operation. + The rows affected parameter name. + The provider manifest token. + The SQL body for the stored procedure. + + + + Determines if a provider specific exception corresponds to a database-level permission denied error. + + The database exception. + true if the supplied exception corresponds to a database-level permission denied error; otherwise false. + + + + Builds the store type usage for the specified using the facets from the specified . + + Name of the store type. + The target property. + A store-specific TypeUsage + + + + Represents a migration operation that has been translated into a SQL statement. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the SQL to be executed to perform this migration operation. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + Gets or sets the batch terminator for the database provider. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The batch terminator for the database provider. + + + + + The same as but works in partial trust and adds explicit caching of + generated indentation string and also recognizes writing a string that contains just \r\n or \n as a write-line to ensure + we indent the next line properly. + + + + + Specifies the default tab string. This field is constant. + + + + + Specifies the culture what will be used by the underlying TextWriter. This static property is read-only. + Note that any writer passed to one of the constructors of must use this + same culture. The culture is . + + + + + Gets the encoding for the text writer to use. + + + An that indicates the encoding for the text writer to use. + + + + + Gets or sets the new line character to use. + + The new line character to use. + + + + Gets or sets the number of spaces to indent. + + The number of spaces to indent. + + + + Gets the to use. + + + The to use. + + + + + Initializes a new instance of the IndentedTextWriter class using the specified text writer and default tab string. + Note that the writer passed to this constructor must use the specified by the + property. + + + The to use for output. + + + + + Initializes a new instance of the IndentedTextWriter class using the specified text writer and tab string. + Note that the writer passed to this constructor must use the specified by the + property. + + + The to use for output. + + The tab string to use for indentation. + + + + Closes the document being written to. + + + + + Flushes the stream. + + + + + Outputs the tab string once for each level of indentation according to the + + property. + + + + + Builds a string representing the current indentation level for a new line. + + + Does NOT check if tabs are currently pending, just returns a string that would be + useful in replacing embedded newline characters. + + An empty string, or a string that contains .Indent level's worth of specified tab-string. + + + + Writes the specified string to the text stream. + + The string to write. + + + + Writes the text representation of a Boolean value to the text stream. + + The Boolean value to write. + + + + Writes a character to the text stream. + + The character to write. + + + + Writes a character array to the text stream. + + The character array to write. + + + + Writes a subarray of characters to the text stream. + + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + + + + Writes the text representation of a Double to the text stream. + + The double to write. + + + + Writes the text representation of a Single to the text stream. + + The single to write. + + + + Writes the text representation of an integer to the text stream. + + The integer to write. + + + + Writes the text representation of an 8-byte integer to the text stream. + + The 8-byte integer to write. + + + + Writes the text representation of an object to the text stream. + + The object to write. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string. + The object to write into the formatted string. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string to use. + The first object to write into the formatted string. + The second object to write into the formatted string. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string to use. + The argument array to output. + + + + Writes the specified string to a line without tabs. + + The string to write. + + + + Writes the specified string, followed by a line terminator, to the text stream. + + The string to write. + + + + Writes a line terminator. + + + + + Writes the text representation of a Boolean, followed by a line terminator, to the text stream. + + The Boolean to write. + + + + Writes a character, followed by a line terminator, to the text stream. + + The character to write. + + + + Writes a character array, followed by a line terminator, to the text stream. + + The character array to write. + + + + Writes a subarray of characters, followed by a line terminator, to the text stream. + + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + + + + Writes the text representation of a Double, followed by a line terminator, to the text stream. + + The double to write. + + + + Writes the text representation of a Single, followed by a line terminator, to the text stream. + + The single to write. + + + + Writes the text representation of an integer, followed by a line terminator, to the text stream. + + The integer to write. + + + + Writes the text representation of an 8-byte integer, followed by a line terminator, to the text stream. + + The 8-byte integer to write. + + + + Writes the text representation of an object, followed by a line terminator, to the text stream. + + The object to write. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string. + The object to write into the formatted string. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string to use. + The first object to write into the formatted string. + The second object to write into the formatted string. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string to use. + The argument array to output. + + + + Writes the text representation of a UInt32, followed by a line terminator, to the text stream. + + A UInt32 to output. + + + + An implementation of that does nothing. Using this + initializer disables database initialization for the given context type. Passing an instance + of this class to is equivalent to passing null. + When is being used to resolve initializers an instance of + this class must be used to disable initialization. + + The type of the context. + + + + + + + Extension methods for . + + + + + Returns an implementation that stays in sync with the given + . + + The element type. + The collection that the binding list will stay in sync with. + The binding list. + + + + Useful extension methods for use with Entity Framework LINQ queries. + + + + + Specifies the related objects to include in the query results. + + + This extension method calls the Include(String) method of the source object, + if such a method exists. If the source does not have a matching method, + then this method does nothing. The , , + and types all have an appropriate Include method to call. + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the . Other instances of + and the object context itself are not affected. Because the Include method returns the query object, + you can call this method multiple times on an to specify multiple paths for the query. + + The type of entity being queried. + + The source on which to call Include. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Specifies the related objects to include in the query results. + + + This extension method calls the Include(String) method of the source object, + if such a method exists. If the source does not have a matching method, + then this method does nothing. The , , + and types all have an appropriate Include method to call. + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the . Other instances of + and the object context itself are not affected. Because the Include method returns the query object, + you can call this method multiple times on an to specify multiple paths for the query. + + + The source on which to call Include. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Specifies the related objects to include in the query results. + + + The path expression must be composed of simple property access expressions together with calls to Select for + composing additional includes after including a collection proprty. Examples of possible include paths are: + To include a single reference: query.Include(e => e.Level1Reference) + To include a single collection: query.Include(e => e.Level1Collection) + To include a reference and then a reference one level down: query.Include(e => e.Level1Reference.Level2Reference) + To include a reference and then a collection one level down: query.Include(e => e.Level1Reference.Level2Collection) + To include a collection and then a reference one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference)) + To include a collection and then a collection one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection)) + To include a collection and then a reference one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference)) + To include a collection and then a collection one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection)) + To include a collection, a reference, and a reference two levels down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference.Level3Reference)) + To include a collection, a collection, and a reference two levels down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection.Select(l2 => l2.Level3Reference))) + This extension method calls the Include(String) method of the source IQueryable object, if such a method exists. + If the source IQueryable does not have a matching method, then this method does nothing. + The Entity Framework ObjectQuery, ObjectSet, DbQuery, and DbSet types all have an appropriate Include method to call. + When you call the Include method, the query path is only valid on the returned instance of the IQueryable<T>. Other + instances of IQueryable<T> and the object context itself are not affected. Because the Include method returns the + query object, you can call this method multiple times on an IQueryable<T> to specify multiple paths for the query. + + The type of entity being queried. + The type of navigation property being included. + The source IQueryable on which to call Include. + A lambda expression representing the path to include. + + A new IQueryable<T> with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have an AsNoTracking method, + then calling this method will have no affect. + + The element type. + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have an AsNoTracking method, + then calling this method will have no affect. + + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Returns a new query that will stream the results instead of buffering. This method works by calling + the AsStreaming method of the underlying query object. If the underlying query object does not have + an AsStreaming method, then calling this method will have no affect. + + + The type of the elements of . + + + An to apply AsStreaming to. + + A new query with AsStreaming applied, or the source query if AsStreaming is not supported. + + + + Returns a new query that will stream the results instead of buffering. This method works by calling + the AsStreaming method of the underlying query object. If the underlying query object does not have + an AsStreaming method, then calling this method will have no affect. + + + An to apply AsStreaming to. + + A new query with AsStreaming applied, or the source query if AsStreaming is not supported. + + + + Enumerates the query such that for server queries such as those of , + + , + , and others the results of the query will be loaded into the associated + + , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + + + Asynchronously enumerates the query such that for server queries such as those of , + + , + , and others the results of the query will be loaded into the associated + + , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + A task that represents the asynchronous operation. + + + + + Asynchronously enumerates the query such that for server queries such as those of , + + , + , and others the results of the query will be loaded into the associated + + , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to enumerate. + + The action to perform on each element. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to enumerate. + + The action to perform on each element. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to enumerate. + + The action to perform on each element. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to enumerate. + + The action to perform on each element. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to create a from. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to create a from. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create a from. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create a list from. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates an array from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create an array from. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates an array from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create an array from. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Asynchronously returns the first element of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A task that represents the asynchronous operation. + The task result contains the first element in . + + + is null. + + + doesn't implement . + + The source sequence is empty. + + + + Asynchronously returns the first element of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in . + + + + is + null + . + + + + doesn't implement + + . + + The source sequence is empty. + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the first element in that passes the test in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in that passes the test in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + + + Asynchronously returns the first element of a sequence, or a default value if the sequence contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty; otherwise, the first element in . + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the first element of a sequence, or a default value if the sequence contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty; otherwise, the first element in . + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty or if no element passes the test specified by ; otherwise, the first + element in that passes the test specified by . + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty or if no element passes the test specified by ; otherwise, the first + element in that passes the test specified by . + + + + or + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + + + + Asynchronously returns the only element of a sequence, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + The source sequence is empty. + + + + Asynchronously returns the only element of a sequence, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + The source sequence is empty. + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously 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. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence, or default () + if the sequence contains no elements. + + + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + + + + Asynchronously 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. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence, or default () + if the sequence contains no elements. + + + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + + + + Asynchronously 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. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + , or default ( ) if no such element is found. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously 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. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + , or default ( ) if no such element is found. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + The object to locate in the sequence. + + A task that represents the asynchronous operation. + The task result contains true if the input sequence contains the specified value; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + The object to locate in the sequence. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the input sequence contains the specified value; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to check for being empty. + + + A task that represents the asynchronous operation. + The task result contains true if the source sequence contains any elements; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to check for being empty. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the source sequence contains any elements; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether any element of a sequence satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if any elements in the source sequence pass the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether any element of a sequence satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if any elements in the source sequence pass the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether all the elements of a sequence satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if every element of the source sequence passes the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether all the elements of a sequence satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if every element of the source sequence passes the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns the number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns the number of elements in a sequence that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the number of elements in a sequence that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in a sequence + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in a sequence + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the minimum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the minimum of. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the minimum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the minimum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the minimum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the minimum of. + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the minimum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the minimum of. + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the maximum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the maximum of. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the maximum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the maximum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the maximum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the maximum of. + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the maximum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the maximum of. + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Bypasses a specified number of elements in a sequence and then returns the remaining elements. + + The type of the elements of source. + A sequence to return elements from. + An expression that evaluates to the number of elements to skip. + A sequence that contains elements that occur after the specified index in the + input sequence. + + + + Returns a specified number of contiguous elements from the start of a sequence. + + The type of the elements of source. + The sequence to return elements from. + An expression that evaluates to the number of elements + to return. + A sequence that contains the specified number of elements from the + start of the input sequence. + + + + Represents data in a geodetic (round earth) coordinate system. + + + + Gets the default coordinate system id (SRID) for geography values (WGS 84) + The default coordinate system id (SRID) for geography values (WGS 84) + + + Gets a representation of this DbGeography value that is specific to the underlying provider that constructed it. + A representation of this DbGeography value. + + + + Gets the spatial provider that will be used for operations on this spatial type. + + + + Gets or sets a data contract serializable well known representation of this DbGeography value. + A data contract serializable well known representation of this DbGeography value. + + + + Creates a new value based on the specified well known binary value. + + + A new DbGeography value as defined by the well known binary value with the default geography coordinate system identifier (SRID)( + + ). + + A byte array that contains a well known binary representation of the geography value. + + + + Creates a new value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new line value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new point value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new polygon value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Returns the multiline value from a binary value. + The multiline value from a binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multipoint value from a well-known binary value. + The multipoint value from a well-known binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multi polygon value from a well-known binary value. + The multi polygon well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new DbGeography value as defined by the GML value with the default geography coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geography value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the GML value with the specified coordinate system identifier. + A string that contains a Geography Markup Language (GML) representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new value based on the specified well known text value. + + + A new DbGeography value as defined by the well known text value with the default geography coordinate system identifier (SRID) ( + + ). + + A string that contains a well known text representation of the geography value. + + + + Creates a new value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new line value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new point value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new polygon value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Returns the multiline value from a well-known text value. + The multiline value from a well-known text value. + The well-known text. + The coordinate system identifier. + + + Returns the multipoint value from a well-known text value. + The multipoint value from a well-known text value. + The well-known text value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known text value. + The multi polygon value from a well-known text value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Gets the identifier associated with the coordinate system. + The identifier associated with the coordinate system. + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of the given value. + + + + Gets the spatial type name of the DBGeography. + The spatial type name of the DBGeography. + + + Gets a nullable Boolean value indicating whether this DbGeography value is empty. + True if this DbGeography value is empty; otherwise, false. + + + Generates the well known text representation of this DbGeography value. Includes only Longitude and Latitude for points. + A string containing the well known text representation of this DbGeography value. + + + Generates the well known binary representation of this DbGeography value. + The well-known binary representation of this DbGeography value. + + + Generates the Geography Markup Language (GML) representation of this DbGeography value. + A string containing the GML representation of this DbGeography value. + + + Determines whether this DbGeography is spatially equal to the specified DbGeography argument. + true if other is spatially equal to this geography value; otherwise false. + The geography value that should be compared with this geography value for equality. + + + Determines whether this DbGeography is spatially disjoint from the specified DbGeography argument. + true if other is disjoint from this geography value; otherwise false. + The geography value that should be compared with this geography value for disjointness. + + + Determines whether this DbGeography value spatially intersects the specified DbGeography argument. + true if other intersects this geography value; otherwise false. + The geography value that should be compared with this geography value for intersection. + + + Returns a geography object that represents the union of all points whose distance from a geography instance is less than or equal to a specified value. + A geography object that represents the union of all points + The distance. + + + Computes the distance between the closest points in this DbGeography value and another DbGeography value. + A double value that specifies the distance between the two closest points in this geography value and other. + The geography value for which the distance from this value should be computed. + + + Computes the intersection of this DbGeography value and another DbGeography value. + A new DbGeography value representing the intersection between this geography value and other. + The geography value for which the intersection with this value should be computed. + + + Computes the union of this DbGeography value and another DbGeography value. + A new DbGeography value representing the union between this geography value and other. + The geography value for which the union with this value should be computed. + + + Computes the difference of this DbGeography value and another DbGeography value. + A new DbGeography value representing the difference between this geography value and other. + The geography value for which the difference with this value should be computed. + + + Computes the symmetric difference of this DbGeography value and another DbGeography value. + A new DbGeography value representing the symmetric difference between this geography value and other. + The geography value for which the symmetric difference with this value should be computed. + + + Gets the number of elements in this DbGeography value, if it represents a geography collection. <returns>The number of elements in this geography value, if it represents a collection of other geography values; otherwise null.</returns> + The number of elements in this DbGeography value. + + + Returns an element of this DbGeography value from a specific position, if it represents a geography collection. <param name="index">The position within this geography value from which the element should be taken.</param><returns>The element in this geography value at the specified position, if it represents a collection of other geography values; otherwise null.</returns> + An element of this DbGeography value from a specific position + The index. + + + Gets the Latitude coordinate of this DbGeography value, if it represents a point. <returns>The Latitude coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The Latitude coordinate of this DbGeography value. + + + Gets the Longitude coordinate of this DbGeography value, if it represents a point. <returns>The Longitude coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The Longitude coordinate of this DbGeography value. + + + Gets the elevation (Z coordinate) of this DbGeography value, if it represents a point. <returns>The elevation (Z coordinate) value of this geography value, if it represents a point; otherwise null.</returns> + The elevation (Z coordinate) of this DbGeography value. + + + Gets the M (Measure) coordinate of this DbGeography value, if it represents a point. <returns>The M (Measure) coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The M (Measure) coordinate of this DbGeography value. + + + Gets a nullable double value that indicates the length of this DbGeography value, which may be null if this value does not represent a curve. + A nullable double value that indicates the length of this DbGeography value. + + + Gets a DbGeography value representing the start point of this value, which may be null if this DbGeography value does not represent a curve. + A DbGeography value representing the start point of this value. + + + Gets a DbGeography value representing the start point of this value, which may be null if this DbGeography value does not represent a curve. + A DbGeography value representing the start point of this value. + + + Gets a nullable Boolean value indicating whether this DbGeography value is closed, which may be null if this value does not represent a curve. + True if this DbGeography value is closed; otherwise, false. + + + Gets the number of points in this DbGeography value, if it represents a linestring or linear ring. <returns>The number of elements in this geography value, if it represents a linestring or linear ring; otherwise null.</returns> + The number of points in this DbGeography value. + + + Returns an element of this DbGeography value from a specific position, if it represents a linestring or linear ring. <param name="index">The position within this geography value from which the element should be taken.</param><returns>The element in this geography value at the specified position, if it represents a linestring or linear ring; otherwise null.</returns> + An element of this DbGeography value from a specific position + The index. + + + Gets a nullable double value that indicates the area of this DbGeography value, which may be null if this value does not represent a surface. + A nullable double value that indicates the area of this DbGeography value. + + + Returns a string representation of the geography value. + A string representation of the geography value. + + + + A data contract serializable representation of a value. + + + + Gets or sets the coordinate system identifier (SRID) of this value. + + + Gets or sets the well known text representation of this value. + + + Gets or sets the well known binary representation of this value. + + + + Represents geometric shapes. + + + + Gets the default coordinate system id (SRID) for geometry values. + The default coordinate system id (SRID) for geometry values. + + + Gets a representation of this DbGeometry value that is specific to the underlying provider that constructed it. + A representation of this DbGeometry value. + + + + Gets the spatial provider that will be used for operations on this spatial type. + + + + Gets or sets a data contract serializable well known representation of this DbGeometry value. + A data contract serializable well known representation of this DbGeometry value. + + + + Creates a new value based on the specified well known binary value. + + + A new DbGeometry value as defined by the well known binary value with the default geometry coordinate system identifier ( + + ). + + A byte array that contains a well known binary representation of the geometry value. + wellKnownBinary + + + + Creates a new value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + wellKnownBinary + coordinateSystemId + + + + Creates a new line value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + lineWellKnownBinary + coordinateSystemId + + + + Creates a new point value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + pointWellKnownBinary + coordinateSystemId + + + + Creates a new polygon value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + polygonWellKnownBinary + coordinateSystemId + + + Returns the multiline value from a binary value. + The multiline value from a binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multipoint value from a well-known binary value. + The multipoint value from a well-known binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multipoint value from a well-known text value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryCollectionWellKnownBinary + coordinateSystemId + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new DbGeometry value as defined by the GML value with the default geometry coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + geometryMarkup + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the GML value with the specified coordinate system identifier. + A string that contains a Geography Markup Language (GML) representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryMarkup + coordinateSystemId + + + + Creates a new value based on the specified well known text value. + + + A new DbGeometry value as defined by the well known text value with the default geometry coordinate system identifier (SRID) ( + + ). + + A string that contains a well known text representation of the geometry value. + wellKnownText + + + + Creates a new value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + wellKnownText + coordinateSystemId + + + + Creates a new line value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + lineWellKnownText + coordinateSystemId + + + + Creates a new point value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + pointWellKnownText + coordinateSystemId + + + + Creates a new polygon value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + polygonWellKnownText + coordinateSystemId + + + Returns the multiline value from a well-known text value. + The multiline value from a well-known text value. + The well-known text. + The coordinate system identifier. + + + Returns the multipoint value from a well-known text value. + The multipoint value from a well-known text value. + The well-known text value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multi polygon value from a well-known binary value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryCollectionWellKnownText + coordinateSystemId + + + Gets the coordinate system identifier of the DbGeometry object. + The coordinate system identifier of the DbGeometry object. + + + Gets the boundary of the DbGeometry objects. + The boundary of the DbGeometry objects. + + + + Gets the dimension of the given value or, if the value is a collection, the dimension of its largest element. + + + The dimension of the given value. + + + + Gets the envelope (minimum bounding box) of this DbGeometry value, as a geometry value. + The envelope (minimum bounding box) of this DbGeometry value. + + + Gets a spatial type name representation of this DbGeometry value. + A spatial type name representation of this DbGeometry value. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is empty, which may be null if this value does not represent a curve. + True if this DbGeometry value is empty; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is simple. + True if this DbGeometry value is simple; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is valid. + True if this DbGeometry value is valid; otherwise, false. + + + Generates the well known text representation of this DbGeometry value. Includes only X and Y coordinates for points. + A string containing the well known text representation of this DbGeometry value. + + + Generates the well known binary representation of this DbGeometry value. + The well-known binary representation of this DbGeometry value. + + + Generates the Geography Markup Language (GML) representation of this DbGeometry value. + A string containing the GML representation of this DbGeometry value. + + + Determines whether this DbGeometry is spatially equal to the specified DbGeometry argument. + true if other is spatially equal to this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for equality. + other + + + Determines whether this DbGeometry is spatially disjoint from the specified DbGeometry argument. + true if other is disjoint from this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for disjointness. + other + + + Determines whether this DbGeometry value spatially intersects the specified DbGeometry argument. + true if other intersects this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for intersection. + other + + + Determines whether this DbGeometry value spatially touches the specified DbGeometry argument. + true if other touches this geometry value; otherwise false. + The geometry value that should be compared with this geometry value. + other + + + Determines whether this DbGeometry value spatially crosses the specified DbGeometry argument. + true if other crosses this geometry value; otherwise false. + The geometry value that should be compared with this geometry value. + other + + + Determines whether this DbGeometry value is spatially within the specified DbGeometry argument. + true if this geometry value is within other; otherwise false. + The geometry value that should be compared with this geometry value for containment. + other + + + Determines whether this DbGeometry value spatially contains the specified DbGeometry argument. + true if this geometry value contains other; otherwise false. + The geometry value that should be compared with this geometry value for containment. + other + + + Determines whether this DbGeometry value spatially overlaps the specified DbGeometry argument. + true if this geometry value overlaps other; otherwise false. + The geometry value that should be compared with this geometry value for overlap. + other + + + Determines whether this DbGeometry value spatially relates to the specified DbGeometry argument according to the given Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern. + true if this geometry value relates to other according to the specified intersection pattern matrix; otherwise false. + The geometry value that should be compared with this geometry value for relation. + A string that contains the text representation of the (DE-9IM) intersection pattern that defines the relation. + other + matrix + + + Returns a geometry object that represents the union of all points whose distance from a geometry instance is less than or equal to a specified value. + A geometry object that represents the union of all points. + The distance. + + + Computes the distance between the closest points in this DbGeometry value and another DbGeometry value. + A double value that specifies the distance between the two closest points in this geometry value and other. + The geometry value for which the distance from this value should be computed. + other + + + Gets the convex hull of this DbGeometry value as another DbGeometry value. + The convex hull of this DbGeometry value as another DbGeometry value. + + + Computes the intersection of this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the intersection between this geometry value and other. + The geometry value for which the intersection with this value should be computed. + other + + + Computes the union of this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the union between this geometry value and other. + The geometry value for which the union with this value should be computed. + other + + + Computes the difference between this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the difference between this geometry value and other. + The geometry value for which the difference with this value should be computed. + other + + + Computes the symmetric difference between this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the symmetric difference between this geometry value and other. + The geometry value for which the symmetric difference with this value should be computed. + other + + + Gets the number of elements in this DbGeometry value, if it represents a geometry collection. <returns>The number of elements in this geometry value, if it represents a collection of other geometry values; otherwise null.</returns> + The number of elements in this DbGeometry value. + + + Returns an element of this DbGeometry value from a specific position, if it represents a geometry collection. <param name="index">The position within this geometry value from which the element should be taken.</param><returns>The element in this geometry value at the specified position, if it represents a collection of other geometry values; otherwise null.</returns> + An element of this DbGeometry value from a specific position. + The index. + + + Gets the X coordinate of this DbGeometry value, if it represents a point. <returns>The X coordinate value of this geometry value, if it represents a point; otherwise null.</returns> + The X coordinate of this DbGeometry value. + + + Gets the Y coordinate of this DbGeometry value, if it represents a point. <returns>The Y coordinate value of this geometry value, if it represents a point; otherwise null.</returns> + The Y coordinate of this DbGeometry value. + + + Gets the elevation (Z coordinate) of this DbGeometry value, if it represents a point. <returns>The elevation (Z coordinate) of this geometry value, if it represents a point; otherwise null.</returns> + The elevation (Z coordinate) of this DbGeometry value. + + + Gets the Measure (M coordinate) of this DbGeometry value, if it represents a point. <returns>The Measure (M coordinate) value of this geometry value, if it represents a point; otherwise null.</returns> + The Measure (M coordinate) of this DbGeometry value. + + + Gets a nullable double value that indicates the length of this DbGeometry value, which may be null if this value does not represent a curve. + The length of this DbGeometry value. + + + Gets a DbGeometry value representing the start point of this value, which may be null if this DbGeometry value does not represent a curve. + A DbGeometry value representing the start point of this value. + + + Gets a DbGeometry value representing the start point of this value, which may be null if this DbGeometry value does not represent a curve. + A DbGeometry value representing the start point of this value. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is closed, which may be null if this value does not represent a curve. + True if this DbGeometry value is closed; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is a ring, which may be null if this value does not represent a curve. + True if this DbGeometry value is a ring; otherwise, false. + + + Gets the number of points in this DbGeometry value, if it represents a linestring or linear ring. <returns>The number of elements in this geometry value, if it represents a linestring or linear ring; otherwise null.</returns> + The number of points in this DbGeometry value. + + + Returns an element of this DbGeometry value from a specific position, if it represents a linestring or linear ring. <param name="index">The position within this geometry value from which the element should be taken.</param><returns>The element in this geometry value at the specified position, if it represents a linestring or linear ring; otherwise null.</returns> + An element of this DbGeometry value from a specific position. + The index. + + + Gets a nullable double value that indicates the area of this DbGeometry value, which may be null if this value does not represent a surface. + A nullable double value that indicates the area of this DbGeometry value. + + + Gets the DbGeometry value that represents the centroid of this DbGeometry value, which may be null if this value does not represent a surface. + The DbGeometry value that represents the centroid of this DbGeometry value. + + + Gets a point on the surface of this DbGeometry value, which may be null if this value does not represent a surface. + A point on the surface of this DbGeometry value. + + + Gets the DbGeometry value that represents the exterior ring of this DbGeometry value, which may be null if this value does not represent a polygon. + The DbGeometry value that represents the exterior ring of this DbGeometry value. + + + Gets the number of interior rings in this DbGeometry value, if it represents a polygon. <returns>The number of elements in this geometry value, if it represents a polygon; otherwise null.</returns> + The number of interior rings in this DbGeometry value. + + + Returns an interior ring from this DbGeometry value at a specific position, if it represents a polygon. <param name="index">The position within this geometry value from which the interior ring should be taken.</param><returns>The interior ring in this geometry value at the specified position, if it represents a polygon; otherwise null.</returns> + An interior ring from this DbGeometry value at a specific position. + The index. + + + Returns a string representation of the geometry value. + A string representation of the geometry value. + + + + A data contract serializable representation of a value. + + + + Gets or sets the coordinate system identifier (SRID) of this value. + + + Gets or sets the well known text representation of this value. + + + Gets or sets the well known binary representation of this value. + + + + A provider-independent service API for geospatial (Geometry/Geography) type support. + + + + + When implemented in derived types, reads an instance of from the column at the specified column ordinal. + + The instance of DbGeography at the specified column value + The ordinal of the column that contains the geography value + + + + Asynchronously reads an instance of from the column at the specified column ordinal. + + + Providers should override with an appropriate implementation. + The default implementation invokes the synchronous method and returns + a completed task, blocking the calling thread. + + The ordinal of the column that contains the geography value. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the instance of at the specified column value. + + + + + When implemented in derived types, reads an instance of from the column at the specified column ordinal. + + The instance of DbGeometry at the specified column value + The ordinal of the data record column that contains the provider-specific geometry data + + + + Asynchronously reads an instance of from the column at the specified column ordinal. + + + Providers should override with an appropriate implementation. + The default implementation invokes the synchronous method and returns + a completed task, blocking the calling thread. + + The ordinal of the data record column that contains the provider-specific geometry data. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the instance of at the specified column value. + + + + + Returns whether the column at the specified column ordinal is of geography type + + The column ordinal. + + true if the column at the specified column ordinal is of geography type; + false otherwise. + + + + + Returns whether the column at the specified column ordinal is of geometry type + + The column ordinal. + + true if the column at the specified column ordinal is of geometry type; + false otherwise. + + + + + A provider-independent service API for geospatial (Geometry/Geography) type support. + + + + + Gets the default services for the . + + The default services. + + + + Override this property to allow the spatial provider to fail fast when native types or other + resources needed for the spatial provider to function correctly are not available. + The default value is true which means that EF will continue with the assumption + that the provider has the necessary types/resources rather than failing fast. + + + + + This method is intended for use by derived implementations of + + after suitable validation of the specified provider value to ensure it is suitable for use with the derived implementation. + + + A new instance that contains the specified providerValue and uses the specified spatialServices as its spatial implementation. + + + The spatial services instance that the returned value will depend on for its implementation of spatial functionality. + + The provider value. + + + + Creates a new value based on a provider-specific value that is compatible with this spatial services implementation. + + + A new value backed by this spatial services implementation and the specified provider value. + + A provider-specific value that this spatial services implementation is capable of interpreting as a geography value. + A new DbGeography value backed by this spatial services implementation and the specified provider value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a provider-specific value compatible with this spatial services implementation based on the specified well-known + + representation. + + A provider-specific value that encodes the information contained in wellKnownValue in a fashion compatible with this spatial services implementation. + + An instance of that contains the well-known representation of a geography value. + + + + + Creates an instance of that represents the specified + + value using one or both of the standard well-known spatial formats. + + + The well-known representation of geographyValue, as a new + + . + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on the specified well-known binary value. + + + A new value as defined by the well-known binary value with the default + + coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + + + Creates a new value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known binary value and coordinate system identifier. + + + The new multiline value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known binary value and coordinate system identifier. + + + A new multipoint value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known binary value and coordinate system identifier. + + + A new multi polygon value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified well-known text value. + + + A new value as defined by the well-known text value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + + + Creates a new value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known text value and coordinate system identifier. + + + A new multiline value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known text value and coordinate system identifier. + + + A new multipoint value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known text value and coordinate system identifier. + + + A new multi polygon value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new value as defined by the GML value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a Geometry Markup Language (GML) representation of the geography value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + + A new value as defined by the GML value with the specified coordinate system identifier (SRID). + + A string that contains a Geometry Markup Language (GML) representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Returns the coordinate system identifier of the given value. + + + The coordinate system identifier of the given value. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of geographyValue, or the largest element dimension if + + is a collection. + + The geography value for which the dimension value should be retrieved. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that indicates the spatial type name of the given + + value. + + + The spatial type name of the given value. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is empty. + + + True if the given value is empty; otherwise, false. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known text representation of the given value. This value should include only the Longitude and Latitude of points. + + A string containing the well-known text representation of geographyValue. + The geography value for which the well-known text should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a text representation of with elevation and measure. + + + A text representation of . + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known binary representation of the given value. + + + The well-known binary representation of the given value. + + The geography value for which the well-known binary should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Generates the Geography Markup Language (GML) representation of this + + value. + + A string containing the GML representation of this DbGeography value. + The geography value for which the GML should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially equal. + + true if geographyValue is spatially equal to otherGeography; otherwise false. + The first geography value to compare for equality. + The second geography value to compare for equality. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially disjoint. + + true if geographyValue is disjoint from otherGeography; otherwise false. + The first geography value to compare for disjointness. + The second geography value to compare for disjointness. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially intersect. + + true if geographyValue intersects otherGeography; otherwise false. + The first geography value to compare for intersection. + The second geography value to compare for intersection. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Creates a geography value representing all points less than or equal to distance from the given + + value. + + A new DbGeography value representing all points less than or equal to distance from geographyValue. + The geography value. + A double value specifying how far from geographyValue to buffer. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the distance between the closest points in two values. + + A double value that specifies the distance between the two closest points in geographyValue and otherGeography. + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the intersection of two values. + + + A new value representing the intersection of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the union of two values. + + + A new value representing the union of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the difference of two values. + + A new DbGeography value representing the difference of geographyValue and otherGeography. + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the symmetric difference of two values. + + + A new value representing the symmetric difference of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns the number of elements in the given value, if it represents a geography collection. + + The number of elements in geographyValue, if it represents a collection of other geography values; otherwise null. + The geography value, which need not represent a geography collection. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an element of the given value, if it represents a geography collection. + + The element in geographyValue at position index, if it represents a collection of other geography values; otherwise null. + The geography value, which need not represent a geography collection. + The position within the geography value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Latitude coordinate of the given value, if it represents a point. + + + The Latitude coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Longitude coordinate of the given value, if it represents a point. + + + The Longitude coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the elevation (Z coordinate) of the given value, if it represents a point. + + The elevation (Z coordinate) of geographyValue, if it represents a point; otherwise null. + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the M (Measure) coordinate of the given value, if it represents a point. + + + The M (Measure) coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the length of the given + + value, which may be null if the value does not represent a curve. + + + The length of the given value. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the start point of the given DbGeography value, which may be null if the value does not represent a curve. + + + The start point of the given value. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the end point of the given DbGeography value, which may be null if the value does not represent a curve. + + The end point of geographyValue, if it represents a curve; otherwise null. + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is closed, which may be null if the value does not represent a curve. + + + True if the given value is closed; otherwise, false. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of points in the given value, if it represents a linestring or linear ring. + + + The number of points in the given value. + + The geography value, which need not represent a linestring or linear ring. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a point element of the given value, if it represents a linestring or linear ring. + + The point in geographyValue at position index, if it represents a linestring or linear ring; otherwise null. + The geography value, which need not represent a linestring or linear ring. + The position within the geography value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the area of the given + + value, which may be null if the value does not represent a surface. + + + A nullable double value that indicates the area of the given value. + + The geography value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + This method is intended for use by derived implementations of + + after suitable validation of the specified provider value to ensure it is suitable for use with the derived implementation. + + + A new instance that contains the specified providerValue and uses the specified spatialServices as its spatial implementation. + + + The spatial services instance that the returned value will depend on for its implementation of spatial functionality. + + A provider value. + + + + Creates a provider-specific value compatible with this spatial services implementation based on the specified well-known + + representation. + + A provider-specific value that encodes the information contained in wellKnownValue in a fashion compatible with this spatial services implementation. + + An instance of that contains the well-known representation of a geometry value. + + + + + Creates an instance of that represents the specified + + value using one or both of the standard well-known spatial formats. + + + The well-known representation of geometryValue, as a new + + . + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on a provider-specific value that is compatible with this spatial services implementation. + + + A new value backed by this spatial services implementation and the specified provider value. + + A provider-specific value that this spatial services implementation is capable of interpreting as a geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on the specified well-known binary value. + + + A new value as defined by the well-known binary value with the default + + coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + + + Creates a new value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known binary value and coordinate system identifier. + + + The new multiline value + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known binary value and coordinate system identifier. + + + A new multipoint value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known binary value and coordinate system identifier. + + + A new multi polygon value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified well-known text value. + + + A new value as defined by the well-known text value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + + + Creates a new value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known text value and coordinate system identifier. + + + A new multiline value + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known text value and coordinate system identifier. + + + A new multipoint value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known text value and coordinate system identifier. + + + A new multi polygon value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new value as defined by the GML value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + + A new value as defined by the GML value with the specified coordinate system identifier (SRID). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Returns the coordinate system identifier of the given value. + + + The coordinate system identifier of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the boundary of the given + + value. + + + The boundary of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of geometryValue, or the largest element dimension if + + is a collection. + + The geometry value for which the dimension value should be retrieved. + + + + Gets the envelope (minimum bounding box) of the given value, as a geometry value. + + + The envelope of geometryValue, as a value. + + The geometry value for which the envelope value should be retrieved. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that indicates the spatial type name of the given + + value. + + + The spatial type name of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is empty. + + + True if the given value is empty; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is simple. + + + True if the given value is simple; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is valid. + + + True if the given value is valid; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known text representation of the given value, including only X and Y coordinates for points. + + A string containing the well-known text representation of geometryValue. + The geometry value for which the well-known text should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a text representation of with elevation and measure. + + + A text representation of with elevation and measure. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known binary representation of the given value. + + + The well-known binary representation of the given value. + + The geometry value for which the well-known binary should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Generates the Geography Markup Language (GML) representation of this + + value. + + A string containing the GML representation of this DbGeometry value. + The geometry value for which the GML should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially equal. + + true if geometryValue is spatially equal to otherGeometry; otherwise false. + The first geometry value to compare for equality. + The second geometry value to compare for equality. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially disjoint. + + true if geometryValue is disjoint from otherGeometry; otherwise false. + The first geometry value to compare for disjointness. + The second geometry value to compare for disjointness. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially intersect. + + true if geometryValue intersects otherGeometry; otherwise false. + The first geometry value to compare for intersection. + The second geometry value to compare for intersection. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially touch. + + true if geometryValue touches otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially cross. + + true if geometryValue crosses otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether one value is spatially within the other. + + true if geometryValue is within otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether one value spatially contains the other. + + true if geometryValue contains otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially overlap. + + true if geometryValue overlaps otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially related according to the given Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern. + + true if this geometryValue value relates to otherGeometry according to the specified intersection pattern matrix; otherwise false. + The first geometry value. + The geometry value that should be compared with the first geometry value for relation. + A string that contains the text representation of the (DE-9IM) intersection pattern that defines the relation. + + + , + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Creates a geometry value representing all points less than or equal to distance from the given + + value. + + A new DbGeometry value representing all points less than or equal to distance from geometryValue. + The geometry value. + A double value specifying how far from geometryValue to buffer. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the distance between the closest points in two values. + + A double value that specifies the distance between the two closest points in geometryValue and otherGeometry. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the convex hull of the given + + value. + + + The convex hull of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the intersection of two values. + + + A new value representing the intersection of geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the union of two values. + + + A new value representing the union of geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the difference between two values. + + A new DbGeometry value representing the difference between geometryValue and otherGeometry. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the symmetric difference between two values. + + + A new value representing the symmetric difference between geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns the number of elements in the given value, if it represents a geometry collection. + + The number of elements in geometryValue, if it represents a collection of other geometry values; otherwise null. + The geometry value, which need not represent a geometry collection. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an element of the given value, if it represents a geometry collection. + + The element in geometryValue at position index, if it represents a collection of other geometry values; otherwise null. + The geometry value, which need not represent a geometry collection. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the X coordinate of the given value, if it represents a point. + + + The X coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Y coordinate of the given value, if it represents a point. + + + The Y coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the elevation (Z) of the given value, if it represents a point. + + The elevation (Z) of geometryValue, if it represents a point; otherwise null. + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the M (Measure) coordinate of the given value, if it represents a point. + + + The M (Measure) coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the length of the given + + value, which may be null if the value does not represent a curve. + + + The length of the given value. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the start point of the given DbGeometry value, which may be null if the value does not represent a curve. + + + The start point of the given value. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the end point of the given DbGeometry value, which may be null if the value does not represent a curve. + + The end point of geometryValue, if it represents a curve; otherwise null. + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is closed, which may be null if the value does not represent a curve. + + + True if the given value is closed; otherwise, false. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is a ring, which may be null if the value does not represent a curve. + + + True if the given value is a ring; otherwise, false. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of points in the given value, if it represents a linestring or linear ring. + + + The number of points in the given value. + + The geometry value, which need not represent a linestring or linear ring. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a point element of the given value, if it represents a linestring or linear ring. + + The point in geometryValue at position index, if it represents a linestring or linear ring; otherwise null. + The geometry value, which need not represent a linestring or linear ring. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the area of the given + + value, which may be null if the value does not represent a surface. + + + A nullable double value that indicates the area of the given value. + + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the centroid of the given DbGeometry value, which may be null if the value does not represent a surface. + + The centroid of geometryValue, if it represents a surface; otherwise null. + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents a point on the surface of the given DbGeometry value, which may be null if the value does not represent a surface. + + + A value that represents a point on the surface of the given DbGeometry value. + + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the exterior ring of the given DbGeometry value, which may be null if the value does not represent a polygon. + + A DbGeometry value representing the exterior ring on geometryValue, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of interior rings in the given value, if it represents a polygon. + + The number of elements in geometryValue, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an interior ring from the given value, if it represents a polygon. + + The interior ring in geometryValue at position index, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Controls the transaction creation behavior while executing a database command or query. + + + + + If no transaction is present then a new transaction will be used for the operation. + + + + + If an existing transaction is present then use it, otherwise execute the command or query without a transaction. + + + + + Contains extension methods for the class. + + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + + The type of the result produced by the associated . + + The task to be awaited on. + An object used to await this task. + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + The task to be awaited on. + An object used to await this task. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + + The type of the result produced by the associated . + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + + Exception thrown from when validating entities fails. + + + + + Initializes a new instance of DbEntityValidationException. + + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + Validation results. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + The inner exception. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + Validation results. + The inner exception. + + + + Initializes a new instance of the DbEntityValidationException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + Validation results. + + + + + 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. + + + + Represents validation results for single entity. + + + + + Creates an instance of class. + + Entity entry the results applies to. Never null. + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Gets an instance of the results applies to. + + + + + Gets validation errors. Never null. + + + + + Gets an indicator if the entity is valid. + + + + + Exception thrown from when an exception is thrown from the validation + code. + + + + + Initializes a new instance of DbUnexpectedValidationException. + + + + + Initializes a new instance of DbUnexpectedValidationException. + + The exception message. + + + + Initializes a new instance of DbUnexpectedValidationException. + + The exception message. + The inner exception. + + + + Initializes a new instance of DbUnexpectedValidationException with the specified serialization info and + context. + + The serialization info. + The streaming context. + + + + Validation error. Can be either entity or property level validation error. + + + + + Creates an instance of . + + Name of the invalid property. Can be null. + Validation error message. Can be null. + + + + Gets name of the invalid property. + + + + + Gets validation error message. + + + + + When this attribute is placed on a property it indicates that the database column to which the + property is mapped has an index. + + + This attribute is used by Entity Framework Migrations to create indexes on mapped database columns. + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + Creates a instance for an index that will be named by convention and + has no column order, clustering, or uniqueness specified. + + + + + Creates a instance for an index with the given name and + has no column order, clustering, or uniqueness specified. + + The index name. + + + + Creates a instance for an index with the given name and column order, + but with no clustering or uniqueness specified. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + The index name. + A number which will be used to determine column ordering for multi-column indexes. + + + + The index name. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + A number which will be used to determine column ordering for multi-column indexes. This will be -1 if no + column order has been specified. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + Set this property to true to define a clustered index. Set this property to false to define a + non-clustered index. + + + The value of this property is only relevant if returns true. + If returns false, then the value of this property is meaningless. + + + + + Returns true if has been set to a value. + + + + + Set this property to true to define a unique index. Set this property to false to define a + non-unique index. + + + The value of this property is only relevant if returns true. + If returns false, then the value of this property is meaningless. + + + + + Returns true if has been set to a value. + + + + + Returns a different ID for each object instance such that type descriptors won't + attempt to combine all IndexAttribute instances into a single instance. + + + + + Returns true if this attribute specifies the same name and configuration as the given attribute. + + The attribute to compare. + True if the other object is equal to this object; otherwise false. + + + + + + + Returns true if this attribute specifies the same name and configuration as the given attribute. + + The attribute to compare. + True if the other object is equal to this object; otherwise false. + + + + + + diff --git a/extLib/PSqLiteWrapper.dll b/extLib/PSqLiteWrapper.dll new file mode 100644 index 0000000000000000000000000000000000000000..913cee460fc8454ebf7e484ffcbad169160fb690 GIT binary patch literal 2055680 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 B7A4g{wibjX;!hY!Yq;;vz@;}Sw4h?S(8zwsj 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

;UUd6z9aA3Fd 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�{mVdwq~uOrF}R=skRvB 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

A?faeVRB^8j6Z?5?m^k8C;11; zkQNDW^$!OLjTqEz&_{7D_n#OhCf7*YWXKF=E2U&wk~%-;gkM)NTrsu8^A7P&Gp;{t zIO}%XFfZX zwwdzQ8c7X1r@Pf98N$gT$dcBEos_LSLm)y74~FFcI&eYBrNUG&;zsR&3NDz66}dIB z^@346W|TzHyLqfJG8dIM!toGBoPBOY+3|GPF?G>SMh^{LX7K>EwP1zfyh#;Jz0GD^ zg;;jHUzRU=2>HQ+WD#%G$b_#zSwRHVFekr@(cTxaSF`M;e0i1 z-gxO$qyQ9Sn2b4;XbT@=EZ&{VsK?;O^+ie^aExZoj=YDuKG}Q;*e=~p@Y#&a3O;*G zT88Me=^=+bFqISZg*sd4PMwmC^+)oRDO6CREQs$Y8VW{F!JY5Arz<|@g0LTs-Sq-G zK}L)Pc4r*&*NfNj<0%ByQ&pB0w@L4C#Cx9Fi)=MCNWeIZ>E+IdYy7%Z_k052{d?z@ z-LOoYzMiZ5(qL_(d*#!IQC=WkD4v;KoEJS15zK5tQ9}69;13V>!;=aNdM4}#j&d$u z^2pGLbtWWHWGM4IYXM1QXsv#_4UWL`G2F3i%jlDyCUg0FeWH8(OLgyD(5*(H(bjVK z32&5fIw5Xf52?9UH!vJW5I(9JXsi(4rfgxn)rfA|CI^f<7SeBU1YR86R!eCR-QUeW zJ9Cu3zCzKA@?vgooOrx+N`1a*Q|!)?NgNp(+SF!gMRcFIkZ}f)zs@AH81Dfdg>l)~ zniu<_CPWg|3c6jrq1##wKdCM8g=f2AKTtb3i387xIahOL2#l-WKJJ0BX_J1$t`Wz0 zi);$cpZ)M+K3fHV@AT6AZ_jN*?h+6W$em z;t`^qa)aIX;5#7{Pz72@KIvqdCW(A-Otje^4nIMr-LqKS4ne$kpG&okh~M^!cRAbp zY>ANeBO`*{vRO9_q7YB`&$pd`7naGBhT`VTeQgtgE7+X11#`Uo&X@7jrBz5VI*b&< zET1t?PKwpdE$S91*@tB^w(tQZ)2ctkg55(=1wY4{xat-5Zu{WHz=iKvox)k9RAUt( z30oYWXJ>$#oCLOo!N%~*MMk=wEKzq5L^Xm&SWwcXzxtfoEVd@(&!zn;b1hO!CeTpN zPq`HK-)xEvBZ8Yp3sO#;bnac#+`UIXqaZD#N&l|nA%#^duxaf!>mO@&9oxw8orNWC zzuQp$uE^l))z$Sg-HJvT&LyT~BA1cfp`fi(M&UK4Y3%Y%nE-jnzS^03VHJz+E;zsm z0woxWQBapBW_w@-45YhcofUhrZe;1;kw8v@PDpp-pM z!~L^CTz`D}PB$l}!i#r6mButDr)oEj5vu?*<>Kg`u(i}i!&#-9PpLf-QZNmeCSw5G z4QKW$Duvc$bR?$MRT@qMAd_!N+RT`xco2dpjs=o7cV?e)*^~}rKyT3I@lVK%aSa!o z*3vE5UGc{*KSD2^>E9KLhQ?&`T zc3YN|;7<*t%(H4eyd$NzYTjq7*ziQ72@^*i$4t;|MS?Mb3IA1p=a^(6S9cFjEnIv` zETVJ!oU`qB-S%JB@+ayDvGb3Ha;JI;_ZWt{Ltn!F}ozqyHSl?J}TN7edn&zrtru`;SUwxrsXMwGFtJ;O9 zvP%CmN3)JyL%LD8p<}w8(d1QY!&s(KVlJwCtRW7J{g8NIqMlx{bI-)yRGD*=TqN{D z|8&DSFugh4FlP2{jL>M(-d|4btIMDFkC`_XRVtprI6k-PzBG8_WX?RO18gzAyBjDy zTil^G)^~xr*VvMk?l0~%RB)gwsT@yVlvn6?<^(hwXq_4g7W_O=FLl}Rt*IF>`k#>J zvg3nJoc)%A%3aV8jNG!+pdy0%a65WJrkc_U6uoPTHE~AU@*AYU1%c`>>C2ltk{_&F z^Ba=D<4=Mmb#<0iih3w&z8vARcjbF?m0Y0JD}F@ZZCVN$B5?a^{~$?S-=C+5m^2uP zF4ncd8{6BecGL?Gb{fn%3QR;9oLvXa)`NN9R9|CeWBqk54mMa9;|VF*;QSkvB`fQ- zuf{L#0eJF~YJ~l9f&$2C|uyN8eg~N9b72R(`4tr&m9x zR*{Km%9;_LXiQ^BFBhH=%w|XrQmF8ORkRSBrLK5JN0o+M7P;6*+I#+6L*;67N;leV#eo5Ve`!Q``59GPw z&_Z9Xjl_RA{JlfOY2{4`5~~lt1u8T27}Au%dTOmx1)sqS0*kEjY88%YgID&fY`ZSm zH$z0*f!sbiltpVLxk#=7(Lu#DtR|pN`Ny+{j5d$w1~R}Q1BoxxcUE?~`4vVDRxQ!f z>Ms~sC}Ytn2F1*GTn`k#~9rh3?!53&xWEZ8lE zEqB}0(Z4wh`b>#HSa%Z=w{rg{5N_;!|+G)lzBnUGHl`uJIWEI><5L)}wd!X8kF` zStG)$he)w({^fG6&ukz~8iH>emYc~Lpw=BXSBep9F}Pq_BL->a`TioP?UzdZNzcxA zAM2WLq$LDf=P?2WN};Y9U)@+XLputY2f!R^;8d37rr+j;xh!UlLu2jo6Y9)~Tj+N* zH#iRIXSrLGuiO%i)bBm;H^pm>e?fTU;aV|4_^raD=3Kkf9_oW!FTWs;yh5yxeMavfI!ve% zQ4U9=%as$L%}`!=?Zc7L0{oJo`^kc>BxZ_tl(IPvqX&Pz?VW^Mt;~5J9A-un@0&-6;9HlTi(Kxj(|Ag^?@}} z{j@9=mC$BqeRY_M5!cZ-0UcQRF_mQHk-H0|c8WZs0wagY8!zcsF3@lT+D-q66pGy{ zp1c!Hu+nWvJ(-Ele6Pp;p|9bAs<K_#oxPcZc63jR|~X6X`11dT;D4q`C<`Vh2)S zsWkd-C^HXnUBen$%d}F393SC4td@Dmzhw*3ec2-(;j!hxrV61BJGpEtbn_T>WI24# zldHVpbX4YTnCe{hgDCCYww6Y5-a|w#k}b(NEAAm`68n0?sx%J7E&qo-5z`FI+h(6@ zBosuLh9TcwuT&Q^Mk-$xCZ(T&4aYq*UFL%Psl&ch5`PJygN3GXhTl#+)Rdel!Q4U9 zq#CY@f5N3qiZDmX=zFc%Y_NYl4Jg0HbbfrMUd}!83Kp6!Qe7{5E_|B}s!iVy=Xw-S z43w?|>SnU948gQO4Cxs1ml38?&H!{M_GHf06(Rv4pMC)>PPZ=S&C$1wQlFVNY%?F{bg1>kQ-N7Q1K2l45s{Tf2#go>I$@W6`{%JM&3T08 z3D{31Ab>R?k8^lQNhgU%OySvo-O{2@cCz!u!P)n?_T%y_LHB!hJkYpZISQZs9)E3T zZ?*=`#LA!2qH5P!KL)3^3qgYtf+GFr1X1g8eO|v!bR105%&PmANnqLex8Ta-7gb9Z zSvLXJFsYqlFR6(iQVVa{9L<&L9^@y2r~kh7Cp8JJubcNI)sVUp68~7Nagb$B* zMCj8?HtqJ(i5mM1A{-7B@#3GD?K>+pG-gL_KSBNc8CG)ie&{T$>I~S2ps%Z=gw5w~ zf>S=#O}R?-9Kgw^%H;Q5rB@+u-EbD|76J(NRUe--gzzi`WnCgaR9jo5;pdaawdDwh zuZJ_O?~NjW{pJnN<0H2-(*3aC2dQkd^P)jxDO};_MwsX!V;$HQS#BORC^Wz&<()~t zsTGVae+V4)Iq%blqqBFQHvHo?YKP=6grib#cC|(Bn}$=s+=WIR5#WFj#%#>$6`HNj zPW+?tZ{~YJG17++(ldj_=YBKgk*CpotokPa@z!yA^D1@99y))3ZE<noePawr=pm&<)QFP@_CgARKZnZbjfdnyRk_l!;K zipdJ1KTKv@99zwje)1yCY6a zFPDUf;{Cv*QNP+Xhl7{OG(?OWWDWT-6#c-=f zc^+jxZ0WNAr)5NJx@{@vySyBAVat24N``n)k7l!_X0&Ruad|1-8K4<1eqX~FD-bZ6Mt=w$RTe%Jm8E#L8vo-5(u?H<<2<|Q#P*O5(QD} zbcYLDexBm+K1CFQhVuB$#LTXL;g_+uCILxhnSaK2W=Z@G#flN6zZgjY@SF8+&&h4f8>V>ut@E<-5e zhv(^PYLh_tom#`T@#$rUmE|pjxT~oNJ#20VU8)Tv`37fi1iYliM#Pswa{?MQzvtS# zCUBCKo0{w-QOgG^n}8;}t{^J-eU+cnMZI2HQ~Yr!H^$$2RNXa7!aw9YKNT%sA%f6P zt*`pDc-ld9+^NNCKas=MN~oY2gha5jF>|g0U{xMOrU9SPYghniy|dgvj~r|(d$g^U zA3a;*g@N-a3H4mY-myoq!Wy9^$XB-G<(7y*1PSu9JOBt%db_}&!@FpK(9XQP$NNaD z3mOETOhj-)KMHc9-nbXIkqiy_dWDa}kaG5>;jPGyPrCX0tVMn-M+6n^d`y4=Bt+cR zo?s*(%MWdtcBsWS?}==0%Q`*p?yDSUI-ahI@B~#yGDgD zAFrEYF#b&`Gu{!lH7wZfW*%LhV?6L8C`0s=P=Z28X8IDr*oJ)-?xnjxi}Zo#fzLa+ zUics$HUqb8HLHZ1=rp0P;h-VrpceR5|W!-EWtqt`9cwm1fFH>Ks^ z0@$m3GpiRm2h%6ljnsC;T~On~qX_F3Du+_P1DCWXe*MeZFxf8d1v}YfpVFUP1|BoM>=|n%pS(q#aI0*?Yl`$u8aFD$ONtEwV13)g!L!> z0^ZNjNcrYKCpUTLmcb$K*Wu#LqOUo}Was)H&Ym@IUN@dm-0n=+AjIG`RQmB-w$Va! z4lLs~h%wxShOlo$B|;;<9zpVB5l1J!Bqih{+8zw@=3z%?EZDR74lRCZAVs-Le^vm} z=uqqTZ1mcTyjtd_6M%F7T}E25VAtxv{nA05GFY9T0G0UOIy-jlG$Zn{yg!s6C>0Y> z{nBC%2*Fz2{dxsB8fKU(@LjZr`ELf`tlTZCDEi?jY_V2k_?zG2lKt{;oJc^UNv?9718)1j_7m zhv=)-_;;jqe#Cc@ZKu3hmHe2>86S!N^ zqA6f+R!ht#_oEs=5;Y%)5y4ihAMfbz9nTi5fE_LJ66O&+q%wSAkZ&hl)QX7yeB~ys z6wo4ZIr2+K|W3&9I zI}q&QxAe_0JD3{~i-J$XPYlhVP{`{)1BT1cen97qX2I<<*amW^MjP=Awokc9BEO97 zTCig47=3R^-Lm1RgdsnIq>OBBDuC+?n;afb-=Q$lb7^7+MhMOZ4SWiiqff#67)Gfb zJR1Ty!)x1#%x+3~|A~j-QV7T2!K?-uHQ)i#Yl}di*gDKND|med z0l{66D$f$B^yy3xwoWM;c>M;LP(g^VK?QENGBDrt;7VYg71zxv!QFTUMt|vuBEMAZ zXuJTfn;q(Q#fHMrE5N|z#v153|F=Gmt(bQ6NNl8~n=AYlfA)K3LCGc%^K1jzCkEGt zcYerXk--|hZnj-vJI$NcIs;yRK@m>1W*@XJsfS`=3UNW^*1ym`Yz3vv&R7veW2 zTtQ#DgnI}D_WgWgvB54c1v?1Zcv@J63p$3nWs;Ma`6s2%W9;w6&pG%zm=WdcsM-h( zrd^XE>+*u{t^B8}A2l>3;+F`Nq6tdgN@eEcOe9!_EKPMs<^G0NtHB}d*X_=BNA&wU zl5#~zzWqNzE#tu@>(I;fA-$6?J%74$!-ZmUgRWhUho~Tbu57EAMhLrAg6gJhYSBvov6Z=lrt7`jP3lL65S|#VyV7QArAD)@WTO3Vo?kS9 z+E#HF^`D`CMHxzOE@7dDa0O@`vXD}x=DO6=`=%ShTJS!Rrf;r6ltbu0sqehamfax2 zQ&-6>Sf+nYJl%KyoxBiNegmZhN+|t?{=F<5aH?;34cwys?lk)L_Lhzzyo~!w~M$AMs63JQj?Hl&lc^~%i z^ZN`&bkKnrRo~T9skgQ-wwR=}f(cL)r;{22Q{Kei&Vx6!wf;C%ZS$NtN`8Q9h7Q+{ zWCBh1BR4z$Nb|Mv{|Ng2B`~nt zIUOTFZnrz+fN_`pbSVBKn?dDxUB8$1$Ad7GfvJsOp*zQ<5) zPMijyG`ZVd-PxqYK%d6YlM9#kpUuVqcjF z$I6U3N^mX@k4-6>-9Q_Y>?-I*-OVTDHw5IpU5R~Yx81nbX5UH9Q1F)QZy%TNj=Vz2#>Vcza3#eGpKj~X zK05NPaO44wBCtjHS6H&V$+j%!Y1L6fpJ|TAqtQvDB^l>#WiZlY(1}w6Vo9B_eAdXw#dm9e8$Lhp z@OUuTwy|C%=T@8ek#o(cxfZ;rd({QVCttgCpWjj`i#hdOAl$)efv)OoO4+)~)5I^@ zCBbfMi}T7A-9hYWK4h@=OsWy)I4aMHp`C@MI?3)`@Ncz0=py|(CmyNjN}sD>W&^%5 z{r0H89~%CkIAB7|ZAjOgaOlzSyIZ^!!eFTGOX#szZs^{pic!XK>oHW}bP)A82jOoY zn~~kZ+G(nUO+QW`ZD(Tfm}@7P!r}Qq=ZUm*Jb#e>@eu_q6uNAHpN)Aov`gf`KN4iq z34DWP(Bxn2_G?#{%>=N|ZL|hm`Qm?$>C5-sN>AHXaEyvn%NRdAC%)I-q#sbarpZ^` zM3S~Dp);-IaH{HE$^~v%t(7*f)|`k^2YZfR(l5G-)rf-3?jEfA(7DUWl{(9Ji1Dn7 zQ(j;4XKlMDI-LpSfjlwUd=Q?8vhggA8_FyVAc`<--D@}-jlF|0dRPmF$fb&y@Xfa{ z^qani1&16OrIk#(RmngeKX4Iis8hP)6aUs(1hcQnQUam(hov4p8J^}k9wLLef=kh| z9B&L0RNT$5wchT%)A@+pave{u`(oTVEBS%7QiLV#QdGO&FqozP#@0FXlaL!f&p6}!!>tor^t8Lb zrrCp0+-9Hs80r(^`|{!dW2^enNpe@%)mVZ3`|K$GoUIu!QtRk^-oO*_>w-ermaJK& zZXVY7Q}&XDez0QF)=lu^Dno0OD!-ipMu+6UQ0IN5MOKAY3tuyX-R(V7%U4ycrpDi( ziXL5wvAWdFmDQ>b8%#jb*4aIIPQvR&3Nup)h;pb&+~%23+{1R8xWYsz$motUGE39! zrKxaepu~db)}Utw#THHIt$Ugmjx{r6KtLm$4Kev$o7-f?Om_6h5(OZJv=p$;F?yWqryu>x9%s@s#7X8#h_`3@RinC>0Vq^~( zLJV0(dZ0ZSp$n^-nIAMh+Ob`lU!Se3~lJ$0YzSU)dWYJDiLkn-# zN5_u%@b-5-t}(XBw=5qyz-0GvGP)BHzwrNlfn9(0@MnDeHFUv1>I;L4nHe)|^S()k zKYF|c#B>M1+6e_#WDnXH@8pM2%Xn_6(!stZJ{Zn@D~0K9{KnEUB`h}Nl6ZT%1Y3l} zA+BeR(=9QVZ+Z<|VBO}>CPD3(vT(9y2R+<9l#87BR)+<`yXCd{N%^-RvFowf5%M~E zT+^6r0Jr#?(>F-pz* zK77B*svt{nTi$H-MGXTP6AsA_Ch}upM^_%CB>-F{RA76}S7eMo6pfXZ+R`s9zMp&_ zsp|E#rWFlxx~(tZW8k5a)4!|6pnC4zyP*Md24&v0L$DD4ULI!s@n4YZvR9u1EUYXs@GV?9CrR=|4u)?Hme{jX+w}yC6-K)EA?<+wLXvqH0> zTO=dh3?H6bo9O6h+{048(3i#5L@@f`Vyl_95?La#ovQ4vHJf-gS~QgERvmYoYjmu9 z*3J>)%3mo#r0j|xLNQgAR7wdg(DWs{pT3B~vO2*d+~^CK&ITX=gp+dKP9N{1VuBA0 zxp()gF5CGoadzxc^JWVBc_5?5eewXa>*ULM%PH+T7Viw-zR zeeH3iFy)|e6Q(`3m)3e5u>S8Ml$rtst2+07$`sU}-bT2c!tW%ZsvC=YRcWG~kS zZ&q?j8L_|DVCnpIEps~vvZ+wZp}aZiF*Fd^Oqsf+svYB3Kh5SwgujZvOMtd6vk(6a47X`rt;>g zMEnG^yAVn-BB+5~T{FI&`RD%6mLE^IyJ*9|+8n#ZWK=-N-2zNxgX6fq4888nkX?L| zT$yX02yWt*IZQX8f$tp-ZO=7>(d}O1?}=i&-`=K6L=T`ir?h+YcVWR;ew%l?3^8ad zwfgd`vBI}6Pc=)$s{Cm3}iTIc?R zTVi=t7B~Ddd%LzYMJ-2|IUmcG&12z(X=?10dKA~x@H&T!#Ve%2WqPNf{bgla%g8|> z+*Y?^wcib-d6VgY{55+%vn`pmZ_8oD@gd8=$U5P@h=a(QZ9twh)!83%`VQ4Q4NfSv zhRsvKO*HwAQSxiyp^Ps?zYWYp6qDu}_>A0hCimVyr7<-Pc<&@K;pCi^z8;xxrUuQP zTr=UUOj(|UHpQ8>$#&@a zo(sn&G~Xn={s0KWWu(72TIL&a`N|HK?Ozx4Ny3I@(XyQ?9#;{Kh`Qhbxfj^nWz9K| z*-djwi>D?Abiy*MV_=BUGrNPYK9C`nK25@s{2WbzE{oR7NK>1?TMBC0QJk1|)D?G- zgMvmEl#t$TN-nqCyt+pjg30XerDZB|j;l@YYzJ>qU)W@PcZi-0vGI)QxjpxM61Znz z)f9^}a}-D--T%C2g99I&%l|OV+~{ZsM=2rSSI_CsumvLBixG)KGadsH zG_C}~ZpGao@$|v5U-ByzT!fRw(aLo=m5ay9pejDgZP8i4X}wr?%4jd@qxY^)s&A?hnGXIX}Xyp4on|TDQ92!2a=%iJrsg z4L)!YrwNU3j$Z*6c;P4gdGk1yV&EzFh7}#>$XGl1f<;#W;cDFh-&&ZU>0R1%E1~ux z_+^hTqTlMrFi+=>zEDrwBEGSPv-gMnVHs2Dyp6R(;yDe}q_m*C*0jf;7@UfhM{yw~ zI4(?D1j+~81)rO_U(qUKQZ^CKAuv7NW_noomFO%VO()%VJAagjPzv1;GPKev>hYj1 zqX)bQQGAnHiqDnA`8W&dc5adA@W@(GPpa}2yduESJiV>@3d9q3d-YuSwW3wEmm_~~ zvNf5>pJ$1yyK|24iCyX)5KXY^+gQ*SYjb@(XA3F0H94@K69+Fp-8^bw(cmi>dGdH| zT7;$e>cD5Eo~j6Wx4_Ka(S5c0apnq^JpOUUPcqryf$QUDf`(}j*8q>^(mhn-%pj(OFlbpt%@k>vhCW2<}M<$^6ZrWL25A1cc0$MMfF(N3% zmBV|crlH{p5fR!X*SPiw2lC_Y{34b@(*>=eu1SMA2l$I`EddpQNhObu-Sf-JQqoGG zV#qbUL=sI<}8#iw{7 zy&5m@j}=n9Sl{od^ zurIq`t)V-Z?V~L2xmqi)VV&6s`lEjZxQhU;iWPEkl^-<62}TD^cOA(7BhUj?;=8Wh z5a9zs(z`AvxcLXAP-KAIUHCtuo2~|Qh?%2q{}D9Z?;`ro@&)kmyhogWZBPAYp$XL~ z>e-g6Q6cNC*ADH-s|wT;K(Me@+NADzr0RVA8<%x6q$XVWvCSjbIFqc`r|_ZSC?POj z=>huFOt|c;c!AHsqVi-pPX%3kj)9fFDqi_(`3la1Bbedhd>3Q+>|Ea9NjI(NQccsX z)?Y*Z^SfUeIW;&_2$YR?Pw4_rjTO6|(Pnr5FzQ{?3pIm4l9Za}m$A?=n~Jt-UocMi z$>BxwO6u0VeL`FDB`fNL(*DoaenQO?y)+atXd0GM@xF)au zlxskEntIdYZVuGptnQwrzq;E~212NiN`!NC;M9ucC4o2dSO-S%tRudb8E}^v!e|whXsDL!51IxJVmg%Wx1$>*YSbPkZG^3n<=}XaEINMFsB=G{k zkwJw)l}U+%!Lxo#X2b)X1{P^bn>YOi^7jU{a6_6mPA2kPVOhMo0`d$Ugm(B7OsHcX zgpPYyQK>Hd^FG67IW2hDQy^QP>W#d>o7_C%{Dn`cl1XUIO4W9NbQ@-ju1C9xV7V@pus1CV|En^iJRhtTjz2KPYtBoA59B@ z9G@Q2X1N@G@f3M7K=tvRT?Gfs1@|NA2(r)cryO~>|5ILOQk)$S zlt0dy?Bhw{8X^W-Hlbg5-ivwrNbw6{a`1-qld1}Mp$c;bY;P@$buxWuF z=1I~9vfglJS*M4ZOqJr)D#nfj!QdsQ6e;%=)X| zk1+VFlF7DE8hzNnSk{)k?_cpoW!78l;E3bx?YxN=D~^j z!R>iukFu$kZiSm&@}+&7$<5!Jzd|mWqGQ*6jY;i7a7scGRaYofs(IzhuwGVD@$O-@j64#mQ0(MBLJw zvO;WNWMO(6ui}?YmX@($Mvsk2N=ZkQV8UT}V17)`NK1;3(FAS;)HAy4CtWdI9 zd>TUCik*27d;>X4_V>M3n8^74Qam5=_RW!@hn(RSE*^vct;Aqe`R4Cu8ef$AAW)}saLUq z@3gRoomJXE&UTlq{KlK(KhUy~Xad|bX&C(n-=0s{hAvi_Z9YRBFo6{p#MYB zMebiV`fWs8(Tj5#|n^5wD?325}j&Ec%(dP7-NjqQ&AgxLi~^SmXm zf)pWtz3vVCpWr4(obuvlmeR)HWcZ{m*S~f*?fjfc}j16o}TsJmIiZ>Sp<%i=PlJn|CD*S17Qe=ot|N+J$#E` z=)E%4olL@CtWlEAczAtWzUXy;XmMVQq9)>1#9RMv7P29|F1b4C(Ncb)P=dEi0r`w( z?XIZ0KKs+Q2Du-rboQ+$S>e4(ab9|wy{|Y1TiMEV`D(D@x(j-A>j+~3;^}EdSUgqv zc`y#+@b3UqB5-3BMF!3nxpO22cda-+N%%EL=RdOby*+_BH#%-74mv&$vH1D_uXB~2 zykiydFaFZ@F!1bW(EkkH{?9<>_h$zw4W7Xn|*dN86z2~OJLoKRvuc*^&YX4O9a&+lk%v%YY#w*#Z8%1zK z{s~J@ne9EIsgHDuYV9j~ZM*8D(GtznwDPDu*S@g-o)bg0#3*m`lx#?N7}iw84-c2f z!ZX=bY=&!yIu-fR624Kd92iKU%xwyM)XcwwKxE;ffWx^J*V_U{t9zHen(Fo^MVr6f zekG(nlqtl4r2*gLEHw%T)@Me`6}{15bfCxlD;i>GSBtqPWo$RXf~hrH$p%?XC8bhS z`)A>KKI@E$pDU&Ze6O;jDMAOB@_Jw|A=FFLUy?gvG8!=py0(&S_x^3GjW;VMR?lF) z{wd_SeWhH^v)!wHL#gPEs85&=aoayQRA+Yocq%O$OWmLyJde-ItzJ-7VcJif~3FdS7-<&*~ z7avj@>kR5CtmZ>>uer{Xl|Z~qqJ1j-ai2(&S?$rL&M&&~(A0_cNPfDA7PSnUzO1BP z)`$dGJ~}%I%;IM>XBZ_ub#WjM`F70Tn4{@f`O*;plJ2l6;nkoV8bhb}jSV$>@u&e@ z%%46@9{miD_4CnFcEVX+Q~t*{jrX6r?|XT`XyiQ_3k&?8*ib1)2{qAL&a1hYmV@vA z@uxwW!t&ar~X!Qs&2U-grlqSiRPTMlH<&4Kt!xp*2as7&1r6P6{ zRHC{2W`)stMS!Et5YB&lm<9#S|M<_CI7nTLret)GammCd;yD%-c>;ah?3Xu@G>@R)Grmz>iUu}1OQ&T07Z&7@tqB;^y2B1)e+%H zfZYkrn3D~jzwxtd(kh*D>bqDEDi+LD*gK3(fWaDu8?t5-TZ;Cz4&MRC$K%s4U~GKS zxkvPsVHMzd6FI!Dn}l?JI<&vOeI*s!P2&<$N1;Xy>127Tc5$bN7j7@iA7au00?Nv$ zyARHPiR$fvxVQ~k#p6Yo=y6@G_I6?(bh2HiY*q5GX++c)>(+ehKi$3h&x0+S{5X2| z?MIY!E6m~it)(kkItwC@6tav~J>eRSD7(J-DI2bN<2N#7BE~>iM+rYI6XRFBkgQ@% z^#0GQdSqnxwLqCbiCPGaB$lvHWT@)LMbFX~KgASMWd%#jH#~jG^nsN*5;(Q4Y6`}y zw(xqyF00YYtbh@BqL@D1ZQ^UAOy*K9=)PDs>CzTi##VVs|OH89QgQ~*qaE2)ndY9CsavxA5jDxqW>{ydRz0ZQ+k z9KZ33v5QwU!zJaN&DLazKKj*c>gD9s?(g-*|MbZq9x0oyrFo}Z*ptC{ZmvIddpD^M z(-T|VyPZCl(A}OZmMes%+U!K{4;wWJo0z{cB@(17E-#a0zbIDc&=TMmM0!ugdV_@m z8bn?O_&!!uj41O@u6r~O&e1#983!l#>$5`-+#&CD-qe{Ha^ zM)|VL)LxbRCL)XPvH0JG0HRg7KZj!L-J27kT)&*3(CYKTJfYL>a&MV;EQ5PG{=AVqKyk8@ zvdFh!fLK3IWco+&rGYGq%`Wo5T&2*!AkGVc*!zo1-#y@eZ~r*&hY1+nxYAJw%-E@E zzc9P3cyHPT8MVVYQ!tMp~AUbfe=)E&uS^G&jF+Gb9aXi6z)3ls%1%P*UEo;%G^<|7^dRf#}98xerHfz)lWd| z%0>ajzH8%k@>76dmi0`~x>NEV^vEW8Px>HU^@1MQGY(8f@4Ve$+8^l2 zN*7(R?fg(i>V?qH1f`7vCIUe~c#ItAHTKVTxeKMMa{_cA5fFR!syZ;xie(s^xNFhT zR}(xFWJNygX7zQ^@$XjERiqm*f`Z8KK{n!jxCGq6&#hqJ>P7kVMx$iXXFiguA342k zyPll|vBe9~H^vK(!7cVvT$T*R;pYeV@acLx@*zn7M3pS$gMD)Hb4>RC#FQIY1dqz) zamCvwE;B;xqteNIm5Tgd$Jo%eIMJxyzf4j{F-0c_u!vCE#fj~tT0V}&U_bbnIPmxU zO6qkpc1hOnuH>r6?EBc+5ohgH>F${9$CR3VXF1FCFgaC@(abLL4D7SY{!kwEO=z7x zCOh)0y8ix`^z~=u|Cx$VBs&SF{iOvj6;AYLiGmK+^T(3tfmphOkymhjjO$7YA7RK; zrTS9v#O_A#>z#t>p$c*GiQz2gg9&W?pI(u6-rvUxF(B^4L2#WPp<@wZbfxI}lHT8D_b?=2w2D zbL_8mRv~fJP+0XW2_COY-`92(W!NKLq(;3M3B?^jCaK2PiFo%09D8^;;?sGkb$hWT z(#ld$ErJv2?)8ScXO>=&Zy)P1fp&+I3fbDVKUOTwj*NE>jMK@yn8o zHR>-8HniOEA+E!>rT!BpJ=vyG5Srog(j}Al>V8q974e$S*E-V?l|OxxR>3!Gb+ciH z$F#{Azt~nN%*EAGDcI_?n_RBkSH!Evb$!M4RwQwYuah6OJt~(FQ`eiA+hy@pOsxQG z-ZiPfk_ckK)9*=w%15&t{U`hir$Zm@Z+(1e_7vXO$Z&YHl<@1}SzsS;adlNZQwUZ5 zO}?-1un0#l6&sevDF4H+O9Y z+3_2Ve@vPAAthDB|5V*G^8`OXj9I+a>urt?f-p1D%O zqDyh@@);A~lf|M#LLK-aMa4)7%hbK$U<7}-lI#v%QaM|G$7lAWC@`9yd+>!~`Nb@+ zM04t1M@f8=0pJVlH~eOd?Plow#a2(Rypdw{evW0v&tZ{P3vxlX{C^x>bzB?2-`~(7 z!(BV*a4QUVr|5v;Hhjp&fZ=Y#p%iz9ZMeIAVNfU(81689I28A%zvqu6_es<1^>vrK zOY#;EWs#WOu_KK^1(JXkk10^H&Yobs%5cc3# zXc>c%Dw1}{B8v_H-%DBoZd<1EYbP@TEz%EkfU_dVpsyG(8s#U#gkOdyR8q=n9@ENK zSHgAq37mEF=64Kh8|twodEgF@Sb}(4+tX*aW-<5Apq-piqrh0u?(*1QZdi`H zIHwD$YS2g{IpXlnMqC_Abl26B*{HhP)vIq9DW;rE7m+bVMEW-lxCa@9@q}!7vD^;P zLqf+qOyULg`{9j2tA3Q`6E(essGFh-DDhucOQZ6IHq#&GJGOQ5M=|b-*xjRVHU9*6 z$RF>JF@efMoOkqZ61|VF9`>Url%Z}6|I405`v6*Tfk6n)yGKyXzw5zaKjg&8Hy_2G zDe^<&M@@s&=SIcgAyPf)>1~&+q@#|P$;rHxUQUVN}_Pb0fX3S+$*2CfYWR#coZ-iIl;i5BJ+|H8s60QB z*~qvZfG4ptHg=62SEN7p+^G4#)biZumWWEciQlS1Z!cVhMB<7*c^O7NV=2$iWvcTF z%p=-EANDGJF`U#Nq2u`|w`=PJs=@dlV{qlTDuL-XBE^mdNjja^?n;cH<~ct5Q*CR> zNO4gO&6_>$oAicpZR^p*uUVvLuMBwmPt+4U?6fWt8Y?V|h(;hXWtu9vG{urgB4wO)g7D%n!95$v8UOo6mevuzG<^mQ`{WZ?i5=Q57 z$EaL}<@O3VLG4bbTnu9oP{R^kS7*vh9zj$G=X^^O4=LM-%`g-jauA-{-*POTsW;1>qgU1cWc%KONc<%x4b|E+0xA6Lp221&2C zC8IE9OqUV5Z`dbDYf>o3lz?{z1m+?pKWd*=JTlcl;sPd(tYf@6BPz3hW-j_Nl}K>w z3kx{*e8&K^?`|WvI0CY_OU~m1%`ZNurH{D)yB<%SaB6ZC$2ZTutvXIT#XOUbhDCcm z`qkD*76uVs#VcR9bah`wJxR`c0m1r@BlwIt9*y-o4WeHW;_DgGBEP{g+)cGb0LEPG zvCX*BK!>Wo7@YT8{&H^C*=F~C4_ae$yYU9Yto8|bA_tH9BzJ(Vb2zn(74hhy&`{6V z5Z-FV9{P}$Jz7jqg-_t3#bZY6Ch$>sp^0}ktJNL2#=mKz&T@C%liWJN0?rbrLeVjKQv_|v3r;NGsua^u7P9NMOu$xfrNNYnasrrA4a)e z^pDLjmw8S0#e~`Xy@Sw6IN7Jl^1D8zYcJ~8@nNe_RC9peH5TAQQx9a3{*YWjG&oGK zRnA(@B39p*p!&BS+0sXUhVN6SW*w)^{p7g_*Dms5M#p6S3j3!a7L}|Mr32$M!rzl&u`?oky`sI z7|#1fvBTq;!J&5xm^xXpZ4NmRYVO0_ad3%=z62R{fN;Xr%nQ7Z7f4P@cRbxarwI$u z=OrqEit@~r@C-N8qa|2HfyCT%b4z4}(-0D6_%<&P_H&&}H{@OkInA8b@eb|3awN`{ zX-I6lJwi0Y>D!w4q~jXxR^RdFWr>u>BSu+h8wSZ`nG>w9c4-5R;bTVys6@umeI&2o z7f4Vh$8;y?{n$}`Jq&<${eU?f3^XNIG2NVFi_M5=3ZaU|V>N0SPV~UiZsi18@{yK- zF56syn1!Gn;p$7;l(&hXe5GYWsA&bL6vrzYcnATUfuSzeMnPYb zfa7JA&C7Vu76DK`f$6aq8}9a060HnL`*7*NxAj65x0>FJFU#0ap7Dpqj6BncYqk^p zkLoU8$l&Gep4_F3l=5y_$i4B~02!m?aNE}#XkeH&g6InqcO&hdGq{cktK_V;pw^5c?4tI z`&>HeN7{2@QDfP7l(iLVfSNV2j7jpCY4^_SpyF)bd_eMHzpI^9&ZKfol%i0|Kd* zzDc(rQH=?{-lM*G07!p8HI8hXl#W00$fziU%RMjkWX}73ie)zC*68#bXQq25wI>Q- z^#~_bxyYT?t|pG|?hu8&h5QpwPhP&whqe8E=e5Z?23X4a{RLlDdUR!Q@=>dzC#D)M z5Cd*?wk-qLw|bGezXX~kyO8PbwWfBx5FIfxWZ^D-Gi0w(|A~J!$czLAboXJ~G5lZI z^B(cim^Ob?HMw|l@rKSIskm2^-xONQqw?m)(y(m0lQ zc9sW@V=|rASu%kWj^ihtR!uV9lq+A#HghsvAD(WfZ%MQYpvxUg#M>_z1K%gnhx~-|L{`Xs48?59#!X;%~@K|gh#mvgOLUyv%kL-8I;p7(kKxIKs zSJzlqNd~=r9YKw|1^dnlbzEC-<|7|W2_)Q#2&5vFpsq>DHvJMq%(@x4%VLmWg(b?D zZ(_cX2zIE_&J9f(jbCj;9!%y4-RG2P$$~Uoe$K3x_c>m1Z5&Nv6` z*L1FI+G(ptvb0urjB^)f{P-V04n~#snWr1`I`|&kC!sSKt`m^Qa|V1Xx#6Oe^b3>m ztAI-R#9Fx2-(%>qc+m(cG?u|fzW%bDM_L6}uZR(BJ$-H+C?}D^a32Ul+M6HW}LSa{uA$KMco&uhRmXT zh94~j(=Ou&JD9?`$jt0dR{3vsFk3RVe%^tr|MLeRg0M0p&58V%=NXcl&hH_7?Gj6X8h2vQ9xCekV+onFXdWB-6@(r zS^Q0@<^%fe@XY8Z#4YQbP*L4QzUc=Fvd2|S_pWIhh6Cf7eubgIEh{6CQV*w<=K@L@ zj)}s6AVvKSWMXzJ2u4mNF6@_=;~WP2ZdeoEjyd#BOMz!Mn^RvbD7Fzcgwfa?0DfZHT+loKsAj(ZsNo41b&Nt_(Zd z;({FnQT-LV!a3@UdVU+oXr{b1;yNT!5i-z&ZW6iE03$2N;l(d9%w*l#c9MUcz>CAS zJO=)^@qi8;PgO-aadY0kfUXU={Xo^-kT=zZRu=-_M6Mgk;C7&%Y@?YE07X+tmG7Tx z9d60o2a>tMa?RMI*w zux$nh>e9>`Q9@L!p*|ozF@XkY+4A-~NMqLVpi;>6*LXyvTT@Jg1{#j*+oY6?^+Af@ zY0s{!q$U7?!SRclL#%Z(N&hX3sDEOL$j&x!$33uvW?T98mBG~8C~ebqsd`_0>q}G9 zmnkzQ&W9BJ(_Vs1duJ7j$yn7QQ2b}(1!l;aX^Tp80I1IL)Z(?7s%&Nae^4Qz`p8s4 zw=Ui&&`8hU8iseS!0N+H zf9bc{de3Ufo{#DmMA=vOu197qDt6HDwuhJkI{Z)&9dd6Amo2m;vC77hT&BGhszMRc zD(l-WM5ee9I9Uy5Gzha|^Rniy#2L!3rh*28g}ChsDzsfwuGd*+iEW||M5Fh3Ne?jj zr)SE63|ecW6hh=Stp^{#aXuhoC27b6j~aUlI^aN-$@EgiF60m`^RJ`Yq-#z@E?VYB z3{Qk;K3W?l|CHXZcf;=UFC|}OZpXZ({xH**7oyNUoHEhhz?pe~y5x_8)dxNUl5A^t zcxRjH{Q-DpYT)kR6m+9QV`ZJnyi~nO8$W8g!P2WfzZ*4EKQL0iq28FNq2D6~C_qQ} z6Yc;_%|88n`nLKTnJ2a9A1FnG7}0na(^k>ds%xuY8ir#G(BYp0s~V`NKv)6;CmfseSIq61UVRqwX>`oK_z}1 z^VSDPhsH{?tv&qDKkUb!Vk-5V+N39oC!Gh5QD^Go9joEqsHry6)pH*GDNczk_ukZ> zEY0b6#icwdF%>b1jTmkJbQ~uykNF$M0O@93@7i|LUxDl&s5|zJm91P{>>L1dreG=1 zwaldH%cf3{mTYwg9Wc_MkKj{h>dIG-izHG&i)n+CC1Zm^*1QbcV*)1%6`9C4(+3MF z?g*@j2UP)Pm>_=DwTo1w7@#E?hW7f|vphfkA?EbZzHV%jh0e)1NmtD9Lb6cMIYIx! zrepL*P-9(m0EW;0egPckd4ToIMKr&?JsDqBu#N=t!yc(>!*5K1`_d8;I<}(k8JYAu zKX;rSrf^_O!o1-u3I3L)HNt*3-_El& zjiV{6U<*7@Bkb?N4s5E)p8q(sn|%(`KzOj;O}%f; z5_GO;@)6-!VML0@o7~tQ3euN~voRqjjs5QL?EhX33bJc{4Mgv0DXGg7I4k3>OWpS4 zlaouG#`Z4`W??n?{d~g&Q31k$iyRV;984!d>_Jd`MKtK`d6`-{--|T+amOPLc zZV4^-&tV~c8muuk8U{$~$7@aW-(UW4e4s}x1kE!Gz_DW{f+AaJo{dOP3>GTREb6#) zf12GqA{_m5g+!1CYYsKNj4ojnp#rtvKX@ex-f#k0^>6CD{tU|9%w?%t?Wg}|-y8KI z_GE3AbKk4S>6~_PBd&Dk{9^%Q#cxW-$ikg-ivHf`83I(NqcofTz$1latzKjG*m%-# z_COCE`8|5bnsU73-aPmL^?9I-BA);4l?e0!Nu;<%+k~nNi0*&XXE|F_G4|}c=f>p? z|M7v^#ZJhOoZX)WE)ztTw0~a7JiKpe=o=s<9u39p0n7zcg3Iwib##z%mxqr~EqM*& za-|0*s43ycl;8~5gB7$dy{;<@DGtVU9=I>mxHSU?>^TXI-pB(}$CjFMvd{MD>x3?9 zMum5Ky!wS^ddAmsc>mz&N`|?108R+y`mJtkM1RAy za_UG!{?Ya|fF-U*u|7EOB>e37i#PY&Pu>u(En1J?72u$?8s@ba6g;|yS^5XQavByV_D;suOd z0u8-3bC$9h*H%PkFL!>T)>@e^cZ%9K+Yam(6SWRP3iBPLpDYPGyQi z$vw_hKgR#O_Trf*1%~ZktVP;XD`O=)7vx}{7O9Z@{D_c|B0=ei(S6SddGLZlod0+g zT=YszJ-xL%_|uE%p7$@Y7<^8TO7PAl*lD=#^}kaOp^5PSeyR<8EsGTzex7-^@o70N z?@hvA_v-cfxRC{eIkl?K8TxOl(8TKR0u|Uy(C!9*@42zRmN4CJF)nM z^{eZY$)%@g;4oUxW)fuP@I7HE@n7QMZ-KQe#FYa!;!CgileMVh>|LF35+WOJ#D2%Q zFLQOT^I0cm4R{Su9i=yvmPtYx6$_u-(!|Eb*VAAB_MJ8P%EKsM*z(s@Do??sx9uV6 z>*n&iM8dlf5#iBY)`tjtVjNL>>Wx7Pr0sWF$nC4%I=bCldA!GA_Wr}Q8*ug zQQ5=v{1H@}h}Nt%ewYYp)p~vcXiVYY24Nj9FySlZ74FKiIFug8H>N;)%R&sx{6xCO z(kDXtd1FwCO8Ic~q5RcmR99wV{C^BHRe0TIotZ(jmN~pux52KkTPwUZd%B&6?U!Q& zCbvVbsH3E1lpYhI>_1D|jCb!Ppdr;Xyma|`bP@IRy4pMO-`d~BZQ@5-Q=E32iQU-8 zJgUdsmxMTuj?$5kq%Y3wm^BtfU>i=c1Oq}?uq7`H4HbZvWzA2hPd(JuX4GSEwPhY;t zpj{&?m`{qOeJ;93+>}@*xu1fXvNZCxbqgdF|1sdq=#qmyehQW zkq$}-(kg`H?7D0G@%_LOa2XgfE?-!)s(a&4`c-M_TAcE>9;oJIGXGX2FV?>Vr#0=5 z$te@>CpV_B)lkaYG@v%ap5V(l+8W{YHjAy_Wf!Jzs}?hSk{D5Vc;$eke7VA)x@V@I z?{2exeTsqN0~wTeby*gb06%cEWCPz%7UexI6t0Yt@^%W?t9E8~5c{B~dU;%yw@;8; zwwlk290y-K`6oSpzx}kSL_;_J_GwyyPSMGuzb3u}IsUVt^1#7b3&4^}nE$ zHBqoBnE87-?C6klNKeW}Z1^}=D6OtBzT`}+bkny<`eOG5#N^>Gb!+KNO=!o12+1Qy z>wSI&;8EJ3S2FMkUm|uaWgK0~mu2>QcbfNqg9RDl1VVN7@9)sNkGN{4F>bS^h4D;$ zZa|&5PwOZ5QCHcA{{K01sde$}%a+^w`vO%zFi8mq^+qCO%dkP*Z+0TOnd%RU&YYh1 z=@34aT;^>xxAsznX_w!}L6qm2@T!#Fi9%F%t0!e!W_{D+&jF7$tF4Z1s;}`+^kGYH`6#vaKX>yFk_D9~4^Ov-6?enK zhf*4aHI-b)HY5SIwyqX{i8*Z{uYLbR>j*Z+4!;Go6zQG57?NS6SH7_VsJ5CG6AE8p z!?k^nNBi{D;pd#vA~em6IDTrT+Sbq$KbTqUN47Jk7vxmMY${24O_Y=)P?F_F3pOgL zD+p>?avgPCNBnc5%jGjiYo%;PT3pB<-nDX9zVL-4Tf{uNu2a7e9}CBqC`~3 zWxVn~NlcC3A30-gJyhH~zB3QI`(?iRC_&@SplPwgbt2V-dp=>%w!N}2_Yt9OjQ-&? zr=y$W)m2nC$FD;kr83{C^0F9KB@1P}>!|L8^1bSIEHxLrrt+&(%;-C;XZ0V$%_mwn$nh-@3Qnyqq<8kW4b5LQ7KuXu;!q%utu}1umNnkxzO>7oX!)wRN?ha-Agz^0KjO&nxV=1CANm+!m zZ8RW$Mb-(lW5dEJjy~DH;?KP^MOe+!R7r81MAks0vl5)4e~bZT01(O;cevNc`)J%Y zx<@9PE`7FTlo4yshvekg*csRx8c|;FdU#XpuWe)w|JOZXX5VEn-7|1-oUj_TTYWO* z+h#3f6~~z4XQwhVV)ltNFP)<&_`-eArH|^7_XewNV3e(NghC(F3aicU3oOSXa6n3W zUNXz793!LAW8~vC8WdWK_1@gp@RG6{*vi-IWA4>dJtn&K zS6)bp9C|Y2#CW&0x&HgHBP!vgeT@>CJ?rJS@8^SSC^TU0VecQ@gPz$$ zeG4Z(wj&cbqZw->K5ho$Ra>6KfAxAhVW6?OoZLb)r?R=+AZRqCZvbkL9{yGD$~jxk zkt+-9*lhN7>i)?hyYyc3y1DixfOMtTb-swE!!q(U|L9Q*_@yE<}!z;YOPvOt4W zW~X&jyteCuC>sBGt{*n6@qLgPnN3K?41t7~o{kJfo36jraWI!h*}=-aogXw|II)THrv7MX)P6oWoT#~weUA#A-;rh z%+gL#MyOrGkB>z+2#*uJ9&Tn&xO09O7OjUB?V)_H@)^Q?e2P&y^Q0XZhrO^b1r5HP zzcMmHhlpG^VQ{IXdIH3kYrrfe#)dAC+~a~Sb83wGkuFQ#ouc7S5Dc%`0Pj-A1H=o_ zzdPXRWK9{}b8mKXI#4=&`Ph4bhmtBW;*Y;vkGr=h5~v5`M~-_3 zYx901GY!+~YYDu9q`sFq%9o>*=9fvK?Occ>KNF2%bI=E~K(2q%zSFNd&dW0@nFGrvxXe@O|QJZYN>DCQqpJAU|C%RMhZ>K-ED zPRTrRZ846rt8%+FQQ=6!Unx{WiJy#q4fo&iOv3jLFB%o_!XqnvaImh|*C&i=)1It6 zdNOa#|FjVxycx0NL4zWCZI;}7L6IG&ClMCygN{hA?}>g7hCi+X0XRTv()Z?V7RlkG zLJhF@cTQe^sZ-tnU6zmDfsvd_*ZFJh&rF$MFU8e1%1`|HqlY$jBTjw3t6gzc7x(ig zD@$Nh!MM!&E_0|nJkyAi?V!khyI^hbX@mGt>dMQke$T5X^Q*y#{mT)|%PDH4WuG#M z;O;7brT3XD2G0f%WyH45%q-(9=fg-%xWS8YKlA|-Cr8ehi3tV&I%YOoGBl$2QJTmV zmQg83&xqn#n|-|-@`cc$oiKOExZxBg(xKQ4Y*KExz?%1K%3~p0q=DB-*?`*!m=p@( z8~g{Myc$YIVthAb0O{*v?6wuGt!I)GXM`g;D^DZ%7~$ADrvDC^6=hXlt@s!7tFZt0 znb<0;iWlI&B@B^S*J5;dsiRNzkJ<09_b`sUe=&AH2F`kS6~2xv)%wyffE;C-#7|lb zC0b|Zl;OZ5^#@`Vm-8(s3x$3lExlzRRC#S#ng|RDf0ZQVhE<%#H?GVRJWWAyH}o0u z-m)%H0@L-?i2s)4E7r=3q!R#-WmBRJC$>|dWtEFb@T)#7M)ucCIN1TkbWvQ+mq}Rw zkBB2FrjTjUjR2c#XHqA?;aL(E(Rp_5xbo8r2R6Ekq+>vQIJ49wWpOm*-%=<*BZ5?l zpQ5tYM0tnn+j6hC2c>epW7LK$Pcbbl1Nhju+C@esp-v-oz%9CFpC!6=F`Dcicq z3@s=eW~w8pAnZc)2({~kGRT(#V-r4!zmzWvk}iTM$~hm z)zO#>Xd#rhXZ6OS{5oUJv7|#cez4ONqEpB9Xdsb>_ZwXPp{~Kj7(qtDP>gW>8wq$VNtQr5V9E5pA8zYPOnY2BH$V5u2Y-WntY?0t^f@IQ9xPe>h#BR z1(Gj%Lfn=~nU{qa)_Hy`eYW1ik?UE4O_GNHkSd$5F=TyZ?c#@m5cx%R$pLq)WBjZw ze*<=i33Zk^EWKoBCdlb z?N_-$>z#>*-zn5d@@`aW25X(jan}T|Zb{{|Q}A(CG!`xVa*5DRtc-4X7Z;F7NA>g$ z?{M9Z+YIP#I);IB+2?i;-M;S~uuW0U{#zAK4T5KjJ$N68qbndQbs*hfd&kT=NRwjn z#P@#RGD?*7LPfZF?(KRM%lUk)x}7KbRtyCC<?nJGQP^+%scms^Y%gC z?zc@Yce76(j3bMnkwnQ*|7twzfGrD%Nnh2yVPyGM&r@tGEy zM`6g|o7gss0-G)u6u6^4D$}CygGx&S7C^MWx90thW^-*Gz-OTRr=bi@`0vn>EBZ9-DTvQ1D-2F_;xW!8ow3WX4ZESVS zJ1;@nVtne)ShT{7(GK$Ie{DNMT#@{%XWEEPDO#-XJoYR@ zUa|C14MC9{Hy5FNXxEZC6X7qXXr#7nrYAP=ovm_Bg478Yq*+G~#=v2{>SeZB$TwbK z1n{`tK5zeyb+zae)VB|199rk~&fOo}q!=&ExY%@!CG4SEQX|6)5Nu8d3MpA`bM|VI zDo`i~2ZBHE>cwk?$-xwcn1WZ zjVC!QA@yS*>mE6*nm24pmQ0ep%P)>hDVLt_1KUft_q=6=S!vuWY~`swMT zJLo_w4*avNBO>FP71oKZZEYMy9%$tYHnp`^SxEM=kys#GfOf1gEF%~A4(ogmfaS;!zTaOt z{wT;orFb8^GI>x1kQ5B*LVpZY%@D~`u%L~Mo&Yi`EzWBXv8pf2h-%f~yO*(as2E@T zSKrqk27G#5E7aG&3ACm88_>fC%5{^fXGm--x=FL5XyI?b{8tpPZ&d_MIwShp zd6Cu*SszBD3{))_`j0~tV(Nf;!;2{3qWeI3W+$|*K3*}}jK7F0C)(+-#Ht4&A~$;% z?l(@pp~A?nXOtSu<-Oh9WoeZvqaX9e=(JPh<@h_}xY1DMPYI2+#zdstQa}f_dey_^ z8Nb|iS^d~Lqpr_Cb{h00;`)RL1?u>sj5y7KZMc)PHeELy6)oJ;oL`D=Zl940z-FgJ&$kzJ0$vB0e~$B?h!m*P^aExGTQY zZvu?vnFqV={z1YU>k1YX{Hj3r+RKi1kX0!L+RHlxm07Rs|NjB>IJjZnW7(^ZA}C- z6_K#l;(;0z&|*p$eL!a`6RSC;Zp_~%Qr>E2BOQ#ITyIy}=x(d!x5pE}z97+|`MPqt zA5;Oa+e{=BLAo+R4sOKblDb{?H-3No6m)siQ6k8tK#@L4t4mYwaA{eVgqG0h(TFl* z&$>E1V|AxE%iBtdwDVRPfn{a=K|`a^)@kMG6Z>Ow!keMD^A?AsF83$}{l^VL=$#Pa zHaJ7N#b7#zFh(yxVe}R<|3?`W#CG|kf+!KiWCeGhyV*b5XPRFQwOK!2|6C;(<#-y3 zXNFrDa<2soNU~sUoef(&z5-G9_ka_gtnFR`CmlW(Tj+p>b z7F4zagi$9d-M;q|x|{MAZozVJ&V5*MY!IXv%yLzPZ+$(011uw~TCA~>B$@(OS|glA zihbFHIHIg5kBkx4b+5q@4xSV^Ag%shw!9gnu4^E19QE^jVu^W6C~8QRVE8t{ca-hpPw*C46pns7hNp!C5Tnu-;O7i@ZKfsWZ`1?Du z#v4PoZidgVyy27*R3dVfwz+QSNrt@T=zdd%#aY+@SR2TB`+nM@w*w8STdCV8ezJ^t zmRzX%v1+XIi~VzOMoBmc?6!|%$eG);kKYo*A&vUAt7}!d;M_Yde%PqdY&&UYSZ z_qb{nXTu6QNkD5mfoK_>>okU`EE_nf*-DywCgo#)SL@?sl+sy?Jg zFjEf6pBiYOvM7&aCSSurFiXCnRu|n(#Z6T-^2E6&@G0SgR;7PEff%SV)oGXePufFo z>0K!yTIJ`Q!}|%Xctfm;$(7>KWoX48psW$xmBf{w(TaoJ*ib6YD9NH?qSRCiUk#GS zbg){gMLA7)Jx*~d%iR0<(RZA95xzWtuGh!}Z4X&oRq4=915;9nMKN-_Ym%Y374=fh z3z1=BJC`FsGbn%XpMk_>Q zw_*{MdJwdhiD5S)2B8$6+6V9$yh6%A`{>Y%X}O1z$5u4Gh?N)>NAaMe8nH1 z-i(6k&op3kmD29o+J{;tN3Ky;u(yq^7N9h`zuZbn_sgPDN1OhvI)^d2wbE)+11_Yz ztv~5qaGj=^Q4^$(O%EZE+;*j4j&Rc$}Y1a9%Pj&ucXLt&5RPqVx-16DGM^Wq-Tw+#WcJ2e91Am3C@mV7)!LO!Ws+ApH~PvlVylP_W>deA21X-v>-VkawHfqU#4Ma-3GQ03&36s-$E(h)D* zY9EK!+YQ?^)tY`_>{Bj7ZyHq>b~X&%Jukd_6+L;r)Tib0#1H5L?vdq*)65u7P0lg7 zikP5TgBT|5!L*<6$AeTO<>RbJi1ut=nY#|Ix8IwXX9z#%T7{)z{rBKth(G^nSKcQ4>|P&03A2^}0?`mbb*d?<#@l z^IQ4}AiT!fnv?Stznp4$v|wrVK}=X&N}jg*i{f$&eq&z^kS7uA5EXm9kSevv6a`?j zco4Y9mwkw;@gK@!aVQ$&JAWU1Tba7kR+- zgy@-yJMxSdwPZ|=`Y*7K;zfX;IswYxe6Q^bQJ4C)-A<;`bk>VK5}x_so=D z-Udwaqo!%%A65L6_PS_GK*c)Bi|9H5#OHMZ{XLeVY!MFpc^*$uey}i|g1Gv1^kZs5 zuq#kadZX3X&_ zk&-tBqoo2#snLQ1dpj}AG@QzVM}!$uSP4hW#Txs^MT3s2wL~oXSBiaqUvn!BJ{BsS zvh%-~W#rM`W3VyVaxw>bQuP@stLe-$==3l4;ZUu4^K?|Fp#4*70MIMH$l4lHcJ6i3 zxwe}&uk+;2f9HS&KgP97BPgp@0|9&f%hOpgS%F{)4+^X_uJu2KWMu1*fctPs{qWqB zITqze$2HHZQ@ToAHQP8-o%fEqp5@9rCfQJZCD%_!L2c9DRV!<8Qp938c?a_Ed_a<& z!u_g70N2x5(D|^NOp8Pk%~LyT+CkBJ$42fLa(+O z$d+g4#Vm@67^z=^EP!oQbsmALm)iWlT$Z~SZ804p${yC@8tTA;(;0!lxtIg~5QWdN z16f>ejMRdf&U6=Lb*7l%pX<24BVhM1>5}rJu3hq??Q;XaO(Vl?9I1Lrt4d_*6|7;1 z?Prs4wGRLA-Vw^!r0AhovbjS*KYcEvA!yUk^vEVfz=Q7!q3(7}0L#k+AFI}PzFN&h za9tk-i&l7Ke2`ClL(gX~U6GkP0fbuJ5&Wd@qEqB|7TL*BG}kJWE*a)*=Xd+c8t34JzSh9O841~P#O|mg(reY67ryYS8y@Ba zeGh1Lwko7Zp2kVM#XYp;?>kFLt?*<4w=~=tBg)2B4+=3=d_>(TYw*#_n7sBvMJ>7` z?o*7Br#vv@DsE-3-c28}@5=umQ!3pO{mkEnEX`yeU=4TjXEmSbk!981$LV+*ZQ@&G z8YBWU-nO=zmO;aC+jh&nbr){qDmS;mFR;LWP}WcUi7QS{)@nb#rRS`^9>0*J8*i%C z-$^s^7+iHbz}#UTI&Zg@+8=7h(TPSjAFrM}e)tYD>YiSiANJU;SgGT_;B2Y(k5qU} zOYj}6tbXwF+RS)w5V)}7EjW`Z?Rh?#c86;?N&nDRcR-=2{?Q=eJ$ z;MUPi)c^+V!s=RzI?>P1g0g9^G3mF9$Qq>RPcl59TDpktZ=K__V9f&u=czGd57qB9 ziGd~ydr^1Z6O=1eiC2=elUv`(5S4hcj4xcaOS@1uE9@ez17eD~_hQn3VPdHx?fu9; zYvRf0%KSj&H;vOh84Hyet<^=^`wZhdBFK|lXky$;YPODhDktYCuIpa+6EbVdDoqnv znk!JkgZx%ASwnngQ|=B?8|%P7NyjLOg2X!I*GbB{uU`3L*r5?F9#-*z1E49hB)tO68YrJwfMWmS3Tk&ElF|o1tSb3kD6}b z{&{YmIj~idHx?xsLCJeAA=|9p5>JoQk~DN$;iip@ssV}b_Ut95UbS(T(a8IO;;cAEexw(hAOy}T$IRI|xBFwATLx7&IW&Rf0~JKEFM2!b1-2-G z`;WKTU&95q5`p_&%Rw@B!_wd^kNym!`e&JxAL)oJM4CI~*R`f}h{7-WkgmG8tq%kG7HM!gg>WVRx~^-GEstNJB8DiU z*767umTgny`65@( zbrKJtu09}zC2)K&%ZL}kjjUm#*8kHY-!h!4OkHza<(8|xdZ&Fd^(A%p6SBp=F*@1c zW87{>nX6kLTPH_;BA)~2`H>qxe4O~kX=Q1fr^uB|QkNvi&owe903SwHg(2{y#<|3f z2i)&aiQg@+|AwEYSCkxa8QBn(P6%NG$P0pL!wjZ^KS;!yAqVPU+Nl05L@{n=;c)_; z8l)NgZHC;egDuX#4LVEGZkqOYRHSm(gwPYe%We^>V{iJ9#1v=ycBn_0YD5)cqCn*& zDEo!cvT_E)=PO2@!6Z*g7g9TBVr^}nHJ@c7zxycJCF$R|*A;wW@W=m`qbe6aMenz8 zfOqF90d6Q#mxOKpLwqrWb@%TX+uc-h0P+Pijg-4`lv7VBQ8=OTeha)AFK{X4v+jM8 zDvr1RHQ(Q{6ZMzb*63ZFbHk9lO4Aia$KoX!CM%bJ=VvFrsU z$Zt12s6SvyHeuLIC9ikh?FA4lB~!S1euxop8J?q5xXP}#o#LDsMY7xr8md;0aJLF5S2{RhV^t{X!9iOi#$S9G|NU-nbz;Mn|Yud36jXZ5YG(;Z*=pv zwORwPD2~bV1JaFR+t?_X;aSw%P&x(V5;tPEo=y(=mtZHE0}n|0akOTbyp0&1Y@e}T zzWg0{ggz|TMhid9_Oz@1Z0&%QftrkSWtpZcCta|#z0rCj3QZ{cGJFpHLJ70(ep|!5 zXD!>t&G?3$3j5wc#Y0(2O~;mS*z6Xy#&X2AhYW!JsBO?4KgfH4+DrgrS+2Kvfmcp; zY3MqVkP0nXqce>0iyw$&iAZAc7gh}LcreGc;;jh*Gy5e95}Jk$^$%@QAdd23N@Vc~ zVBBUDom5s0lSoa397@E4#<$&pxA}b%uaI(A`7y}4lxWm>f4j@P0JiN)Q-h{(#DiS6 zIDqKG1)Zq_Wv$I{1<=VB1yGoM_uB2cY_;M2+T9IcJZoRlPETt1OsY?|T&v!eCg%S* zy6UL5nx_rLr9g2fl;9e)xRsJ1r3CjvkYc4kad(1-U;zrWXmKqrFRq1_qQ$+qyM6h6 zf6dN4yZ7!rXYbwFnP=vadNzr7WAJg4O;e#`Fcv&k2s5(SWCE(=Wg0pnTuwcZysNg; zFE*m?Gp%3MC-BJIh%?#zdQMp+3gBK??)441=En24=8A?8EIaCnL(D2kE4~ z2l8dxli_-rC&63)RSIQyHR{b(jdlDC6`w=4-G6u`wyW3Wi3lUAC!?lXW1)#&a>p|A z&~AtBLqR#KVbC;e{Q{Xcb^2N+->*_wK=1!5ncvd^U#~ug>MrCoc#-g};6+RWaJ4pumG_LN4JDjFNBGsIs3Hwh!^s z#%i8OVs__!+TKb1XIoYeP9fAX&!MW8XUF*KP>p?Y@ON^s)vd!+Z{fWdsm_mJ)D&kkmPLhR>Vd zsO2qX>l|Hv{^}_7yYgvKQ#J8lkk=ohp&GE}=0j}pSPt*iwU6lw5B*cY)5@UkRc|R? z#n=ylco~EfX7CfZ5y^xqoPExi(h~y^kcyR}mWqv#Pi5Aotz#ZLryNvZ7bAqlP}NkI z0m3L7Xsfz-5j;mmybO8R*Mt1gba`MdI-Zy&E5_2?2)zd?L9tZrNwkUE5?do*tgxe{ z5b0y3>tlx)0?;vvQ&)-_#i{<2_*>aNaGg&6znkfmIb{+XyhJk(y+L!7dLrU<%?10J znW5Orx^#uu0$pFW-;I8-`9-eL=S?w!SD2`s$7Rd?r8SdBiNM0asmpbEwy+=M|E1Qx zNMh6dl)9&kd2)W)cm>b_U@VOI*}^y#vDN1X5#@#yKV z5KjmfM>GSbbo*2$df1*rsJ($sIOdv|AN{+9^*~jkId{73XKL%sS~|B?y}IoS9Mc%5 z8I`>iqSO5v?81Ky8AMVa%i?~3)FEaO0qZjXp3~IU4dk_dr41elgbnN)|9T(Brc{>2 zZ+C!qYW{kU#-==$#SbtR0;|w*X)E?m@hA8+ycE;4iJ#!e4&21!O;=t9tXf?<#;}R{ zLO4H$QHc|0b6xM4esDQ-0wNdI8&vFHt?EHJeF~5bMlGr_A*E4GVX`dRzU30rXWHy;?KL@x zJjK%tdpD?V@%M>RmsJsFym+ui@}{nNiX3H)JYlD>6OXfl%zH%XODS1O5gAV;hjBxtv zr_^LewF&Cc=0FP~qDYjZ+Od90?<2K7-bTwrZh`m)U+BWSJTQ+|eO*65B9#rexA$KY zrkhDd%}2NFrr_Q_5eyhV<8pX3*~p z~yvD2XE}WZ~|vD$a>MspR#Wr<9Nseppf#*k5m?buT+rk)Y{%E z3lLR|!6qOR!b|~>y%eL|nZPDik)kKV4*dEWzdd3Jq|5eN!Ph5uZhLM&+vRcO>TGoX zaDP8#ajuK~{=$gb3nFZ2w-_+)`D)zw1g=>a%x{7g=wli!6xc7pDR=&#&* z!ZkbJSEx(5*d?E%%uu9vSk?^!RY6^6V&AhggSr_w;uaEWt6MeYFRvn=&(~}`h3GCT zmcH!Pk8_nhaDZ7AF>V!`;Mp{k2!0_tARk z#1f`@eWfi^jwO8VxuQKNUzN;sF{hDT zLW!SV;&slLLAkDZhhHMjsZDnu9g6-EK-K;!gBUoCjc~#CtU1;UgO&*4?j(z_`BAs- zUmEQf?o-A#uwvGtFG5J`el_KO#Fyb@0-)aFTTjJw`<79d>XGrRnAuj6%;kUO*adCX zK#D8Lz2D;k07_0F31uHNVFVnf{9-` zm1m1lQ?vA-tRN)Qq*nAq&WSJ$yV=|Kh{SL>kb!I4wtH(G#j|YiR{TwREoW%epDm>+ zj0|GX&xiy}VWNUmp{wvYkyGBv?BhQKjE%GgAMq@+1hy#BNV=bdIF1O^@mQ04y*ZW? zucN}{Gd8t^r18ITo|KB_RKF%#Z9!@A=0)&uf>M7pMDRz-#!)-yloH4u^A~*hb^(z& z@^9!+O1$~bTB-!!W3EwM=8CGX{{uE>Iqa?x8Evt>2PJE8Hm{tV@f4DT?RIBzphg< zw8VRR@d;xdQ#=y>AV!=0};B&ZvxHi)`B>1;eu zsRx)4$`m(CJWHm;Ty7ODyZiUs2)9t4_qis$jsX*DI5dQ3`#WUM|2g z!913gl>#+UQ1Y=~^@Bnhf#5UXiw!*1Q=T-^PCRK$>mNc}JpIQT2~Kt-Ttp3s zVh>TaBp;)=5MfFjh2$Shq9T%k2lgha;p&(mf0Kdm{b1UTighJ{O}<|ZZwaYBeyuNd z&L%Hf`j0KZB|7;B-Vk{QnKOf`-Sk%YLw4##6iQub zQZwa3NR$3s2@b zNzzE%RJpR_O|(W`>@omX5mIxL2DT=%ATxA4F5MjvL=amSHow#v@qDg}Evhr(0L62( z7fKp#)%YpsT4MO4lH3#i@5WG*^?}gsvp2bRG6A1qEQLn3CfMD zyZ4(SxqKVVR^p8evisYGLMfAz&ff+HQM_in!x(pq=%b#d?0vZ<_aCa1^O`1;X_TiS zAbP?^=6nMn?ut1SWkj-tR}*^#zGdtKWhoQ?RDqjY+AIS4S^IIoE@Z_`vNVZn)55$A z7;EIP$1YU7%8f)YQ+e?0-V3#StNXoX5^5d+?>M(4D?+&CQ(k#Esss?xX9Lu>V|0=O zqYPKMhleio8yGhNep3J(6=I@K(8=vU(>VXg{7|E1lk+M%8mjzUOAVY?m(FB5rVE-A zUnx3>OqFD`CY&%5%GF|CjBB4-eEPSH&C7ln^l@7Gk;9M9wNhZKsq)Kpwg82x&f|}N zoksd^O%qB?m%~Q=du;goXgjU+&F|q>m-i7aYbi8d(72N<8>-#_N?0+9aP0;1rMCD( zYzI{z5zt^qx{|7I9_YMtrNa}`j1rOl^ry1Qs+6m!{lBsaT97{FoVt_qdDVWyW{Fh0 zXqB2=S%tu*va8upe}-8&t(KKPm5>r6#Hvk(IcJrTQ7?c$EX}KwrHcHYFm1(WcC^|-tR0b z9{*b9qiBudrftMWyt+#|%{HmG_iA(L#{cQLvK38?8(2vT(6#&*9o^x-N9B?f=lcN$ z1E9 z1iRsae2lJ>TyO^+kO(520rdK_FR{+4t>;$tayG1-(y>R*YI3JhK10eYTnFp}Yr>hX zel^*N8S^<0~&CsMP4QXMOo^OlPrjN>?){a%LiL%&gx%^=!d(y^I$`JWzw6RDn9 zLHe^CvEq0!u8F>Fh7%zJ9~WG+0s8s0>v9L!AadAw{`&*V4z|kA*twe}Yl$Q>BmJ^b zC2N)%oAeSRc~`{eSZb^5Y^yxbgmZCbS%R?t2g5}Ao(=nd1YLeO|it@N?ysS0}?_)8=m}lE2`D-4@xe*^Fky7aR@0rI=|Z+&wTHc&1_D z1=3vDCX_q+)7OL9ZE*IM#-cfN#4hrhggy79a*p_SY861FL(HsHHhuc$6KT91M5ND< zeBI}dhU*(ScawYRr{$Q=?H;y^A}W66tJ~NBig~I>!?w&)7EeQwrB^ z@4E_XbQc&AF`Xy%x(g~L{asFZ&o}B!{gdUJzNE)qJ}Ww=`aRNDjp3?XO0{N4X>fu@ zGUI_WUzI2vPygxFO=)XvpXhDJ`Lx$BZDns|iz#!YT6=s)ZoiiL%+Mt6>bHK(4ABbR z7n~oJq)v{hO_G#0+f>pFL}#I5Rv#2KY!-ezYMbhlnUKpp(&3g&$8Zv@O~+f1S_qm8 zL~q_d-u>d>!^ebkg}Zfrj|fO*>=uV>5@r~%3+CqbreU5snBs#6l)7x1^!By6nl>6^ zYS6ovwC+6mf86i&-7|Wd$TI6cJ81Iz+#o6jYH=HZL1tGYOTL=&&We3JgnVy{r6K)< znzRW~t;PK-KJQ%8n1k-ntK+Y;5({tV%J5 znzzk`@QFk(%`h*T``!^@*ZbvV)A+r5Vj^p9oz#nu>~~t&RQAf z3mit7({41-YIm1s5DqednqME!-Kd+Iy=;2CXJ-}+8R%QKT0i2EBOABWSc<8|v+{(m zq+Kd5HT5-RGDlw`XCIFxCYxj^d(^DtOmVv&H)5vLEN^ICnB>T%Q@WEh$m4!o8&I&s zGC|_5$a13t)HCizkEmp*lF_!id6&q^D>$gumwPLv`*hBAytGO`fK84)!e@1%3K?;5UJT6yX-1##1Yg{v5VpKx=pE-(6VkR&@M;{(L#; zt~e{L1z5#it~%~Fr=%DsA5&eJszKz)J9cx_?MpZbEEvWM<3z(Zk~_7B)gVCsfLG~m z6B`(-y!|8UvEa;K#(RVlp2%S!RpB1+0Kx+)mvN3QsMU?wI11y^D`)_wgG<%2!E#Me zP|aOP_cG-Q)GUSw;qq;RtzZavuZhX5qm!xXwkKLt%Ko5WRZd#PU%}R_0acY!>R$f1 z0ySvSaPxZBLGw<_0g738<{bx5xy8dzED>Z!v_ZO1xD&6CzjX)X5Y)+^Z*gJt5P77( zI*3J$4k%sp>ioyDX2Blt$J2^Ss^qNd#81N6v2Fi&v9=8BvgmHdR~8vhHIypdj@LZk zDJ5e_EwW)sZ5X(E;Um&ppTwc3)a*{+=E-k(UD4Kfl{ml46<~k^!+k(kyM`5r0o#auWcPW*N@BXzzDS`)=my!?9jWxly!~q|+f;bKc2N28()WHuD4<{j z6G{NRNF`MLrANT;8GslsSi_v4Ea=qb?{=D+4ra;Gq#~uXg_6 zFZ3uyFz&k}6eoy>w?BMQS)L~2j^8jXj|jjb7fk(bIot>!fD*!k5E1;ibgVXbgARzQ zg72AJ?SLt21duz)+K6#@1`YO0q7=~|X5|*a7{dYAQkspVCpixB`#lnDQ z$^@Ez@ij$Zb&FwXGtM`OKRSKWVk45TKUEJ+RAE9HtxG?*3v4-+TcTJis)~=?mrQMo z>dTn>(e)29Cf2~Cc0OsT6{Jxap(zPSFPea~$?tO0)E&MBR8Ed*K;##>RqNk?I(GS? zdNKVi%naU#GNOe1max%ur{~qZJU-uYLirF%3@gp(Vz8E2pCPP1%BR_%J20oE*8M&Z z72-XwJ`&Knil>28ea`5KhSe9brqQOi1NI6Ie^Zmfc9u+b3w)?^ z>R5g?gHRG8*5vhyy5)@a}ze#MERVCZuVga-<4Mgk&zPxV<9ugj8_l zb~y8wWBv~$g_NkSNNe%t)+2faU3znnR?o4;d>ZhWn=;w!gwA%qkhgcIXcLG#onv$6 z1P$9I)=L1W#_bY6OQ8*p-?C7WqS_)wIr@z@1D^XN=5;9#%H>ysh++Tm&AQe4?2AYg zafx*Qzau76oH_KzdFZ_QFVKZ9BsUQx-AM& zSCOSuS)N5;Gg+b|YXam7k`wZ88G?qVG7Ib(g4{xPIADtb0I}ZaPyT3>IK#v|*yii7X&G30<$|P}BRr)6}&9)&MKan=i$I!DM z6b*r9Qm;XY;E&*KuE>!ifCM{r#037E#rsCrr<9lZLVDRSPZX2V9q*4g!VX*)_58fh zy;)~_f89?^t^Attgq3BDg)I4_yoX-~VV5wTJyxE0zt8-3v$0M$Rg`8Mz~;*0VSKpE zM>H|s&FI2Mb{|NsxR&`J*BkS>_x)QK_OpzIoP*7*LQhCz9I!y|2G|U;6cm5jc&_5U zaNAgafd@5qcT#cr&%-k5{Tq%=typ&aS1}e^sa;3+U7t3)s|6k$`t#U zfKp-RT}g#*W+wXp`gx*8XzSLBDEd((w&`9;`%;M@0iW_vq%zWi#4Dec-}AeFf4o@N z3%G%f;tdA@%iRgR9yoAQeB6L8Z*Fxx=Rt>ZI-OuN;KO{9gDp z)B7*Q4jMf{^mGMQpN}YQP^~k-RHn)@9Gmzsx!40z8+3~ zs=~r-A7+ThfMX)ax_pYm;s6qK6A>o8lo97!#0v<3~cdWm-iqD;S~ z6rryyQfcvjy%zbq&&|v@X*5b-wnl~~2$A2+6&U-*_`Ep8W|QD?<*~lJO;X{b zQfaN5F=u&3^Se_mMV=w~bzQXYEXPc^qJdEI7^boZI0Bdu&`*@HyxXllbI zJ8bWb7@f)Q2b_3U^_51B>KTdmT8#myKw2hOPKHkgfHb=|9XmJ4BK2UIJ8fery4adVI#(P7!y+)qD_P>6pqSSCwyM6AN$(#&g?9?{K6{;a28D&Lc=2@!; zklm;W&=wYyywGjm5PlHSYcyrJqbsOtD`QFH>3n;I-X(i(VR3E~-3g)o0tQDem(6V) z#3_3_!U78Pd&2V`DmB%02#2o=rs)p?>#e<5oBtjSMQ&;=reR1Ss@UMUWhR88+dYOX z74HnmEjxns6pW;Qx3}~UDTk4`x1qD(+t%g;7*39*)>jDesq}vjC^9~!Jo-bDJdU{j zxISEFd1^*}!Z=KGS{7osJ>OVcvxd+Lb%GNyHv)$v))u=Fw_yvfgSpASnTr{sc8HQ;HLmHj(?pvLr46i={o390pSZyTrqpdh}5tEX4X51 zr*HKE6MLfOe{OPkPzI|vLm6yBZ=9k)kkb{AwyzNJ&jf19M`Mh>JZl>i7N@nyI=pQ0NhK;M#w&l3xi1d9M z@xF0#JD!6iRRQsGvt2g6Sl3nDQCf8*`NbEn)7$O9 z$1_Pl9o&20KOh4SsIzpzBFW`vyL0hQaB2(?weh@e)a{VSO?QbI5T=+gl7Sl5bD($} zzJ%O_3*4Pnnc}fs0Z|e|+uU2flz16-wm>r=mKlCTl}EE`i5x%4HpNEDeJJ#Y`9~WO z4}y&N2|vk7J!$r+B>yi7o$}tsm2wR3mj&w*XIdli;Oj=^8;U7Dqat02EoF5gNxPvi za8BqkRj|>iC~}%eXe+J_UU2p-PLhp+DZkihKC zJL0>Myehp`og3%)tszx7?E=NP_)iVH&n4Lu+yL8IZu2)q$1d%U+%BYK z=J~aoy-S|ho_O4?9uGp&doRY*aaq+ z-iU+$6dy-(3P(Q~H;|jg(30?}=!&=5A^4cHu4*$HgFxG-li@0iyN$Uc75(6<*8!YY znj#TZ(l%+OfxHTXO7MB!|Vy+79(8i9&<Pe)_-`L6 z^_i2)n?lKpUIq0|yI@oZ1ZvqUoK6_Jl%E4Yf45%_`;+GfkQk8M)0)z&q%N?yny7w! zWkfTZo2QoigG(pZ#E=i{%KkaqNKRQnjjM3lQcjh3edbJ!#~Ez<6bV&>|JgJVe`cH6 z!>VUrIE*{m{F{zJeR>lQ8Dsb9(m)@w94s5y3DZYrwV?8gYSj*L-Gew33FfanA%Tl4de1(`ZJAGZYy9}As@pKZ0C4^2I2xD0Z1dHnCVD~Oy+ZWU?g%(OVRir*VpD;{?~)e#M90z>;jPJFmPWBXI0VLsH;atDbo{Z^DU0rWaIS6A?8TpcUuPp9cl6g6IUodZ(O%W)1g_| z;c6}*EH%(ib2UFyFvZd@Eb*nHQ8Ufer&%&om_jMG4OV{>^vrtCyv;L?^Bci%Lc8~Y zhR3X77FeJ&iFTZqA|)&(@nmn6VAu>U_v5mra(`@sI#xe1mzxV%AkbBwcZAd2s8@*7 zCT-|9MR)~sMUf`}y>rwuI8C;H8DCwO1X&PvEXWGvDF$B##e#ZLV}a?NeW=ypT;SEq z6KP4dl+F)94r3k&nJ!vt%o#t~*;{<}d#@BR`Mfw?dL&RyC=B-on(^8#!|Dz9UeJJX zBSod@^HCPADTvS(Xmme=hbQN-&A zAiW_-s#2u8N9ggaPD(42Ok zGv{~IB+Ry&^_f4_3bIZSvnN@z3^finJ#0N5gPxph<^p9#_`gjJ&pFw-r-;$6@1i)f zxNVJP%w6464uG+1Cq$&~ltoVmyiTJI+gorDEW6Blx8#!Q9}RqF$Fy)JWCe|3g3FSb z`fc+llVZ;-`3$Gyg*qO|uxD61&M1m99w5`$MEgbYFg*&#z=ch+>{AUo?$Jo6`N6 z+PZjwaVb6}EM*+prw*D@mztIL9p%jMru^yo-z&59kd$Groi3t_%uoicnJ7IC-F2HcO@ zmD>;FAP>^D_0cG%>*&l8p2FQ1De=HED!6r*$`?q5HZGF#o8)7n+HTT{n|WEeeCT!= zbzGXd0=z=+mRU^whs>aq&EfAA^7#TjR?wlh6I35b>m?)3%>c&T>T{Bh;fK4DS|^ix z@_7e|b88P&GpBLk=Bu!1T}TgE{j<#44W03els)sqqxdZ8LEJdy$`%l1+6*S|OzKds zyoW$Dts1z3l0?6u_=hQwyM?Z#K~VGLdV%=m<0nWBi>eXnT@Nf!pAgB2irVuG)Q?Fz zcY-flsTmCKAlK-zyG@Xv3(?F6nJOh-3w$>(TB1|5?w7ACe~I_ephHHmHkb--n#P6jiA=l1}+2w=(!;77SlP$zeUGxUxy*>pU44d^fDZJ2(_89M$x za^e_!`a2b3x15!`*x69Y%wz45r7;b7zo*e6)+Sy#30mn>rQw>rrdV!5e-GtOt@ya#=m0mj6 z)mQRwgI*Lg z`<*zK^Q$V_?jSv-n;JyDo++-|Clh{4uVl7rlQf9G8Oyv||FYt# z=iZo43p2?yAsB4t*eGwNcou&3A$!qJd-id$DN~?7Ku$p}T-R)&vh!rNx&GPCmifKJ zbWIr17Y*#4!@viLB6=(k2q3$#$%2~SB{+q*{>ECc3yiW90t! z7Y9)8BdG(t=#+FzZJq={q{$boK=$yC3PfYm2p66SSE%Z z!P6xxsqj*fe9;87-DWJY5TKSmf74OeJo@QM1zFMGHXlI2ZvE5N)LwESz=GyXZsXI{ zpI~Rpv7=|2-G*hxu~-~W|8{Om$ba`sPjZN0O0D-NliQz@$z@B&wFtI#c=$jr*kRqU<}GGcU5DRtlw0CjGLzbcfnNv@kl{2&N58 z^lk8SQy}hSk(-ef0Yom7TCC)-ko6oz33>_=&EDe9_7on{5;5QH#9W(i5PAtBIe&F} zNfP_*B(UH3qUi*w4!zMJ&|$(Wuv!1+VvWV>W8?;!M_gL)7$wQIulSsH+-nP@Szcrv za=-GH)5vqWt1`HtnRga^Ie&plJrqTjRC@@NEohUZIFltWX2^Rac;)eh3qRsnS4a=p z4D%u`4&(f}s3J`+P`L{ugp?Ci*;xEv_+J4Qn}LOO3=ib>R+dw+Ww;qd*5xHttg+kHe& zTZY2P>BS(9*MS4q`fX42i;Y^px7fonw5rZn&07g2a45m$vCv@d;ZI=IqP{2HMuJIY zgm3^HeVjN=zr%+3H$=>}yqZ<^@^wzBkjO4~qj`+;v1Uqf`hb}kD&ujtmv_wh;@P0P z*Js%j4X$`vgv8+EQEgZNrj-tienQ)+x|RTNGx;vDznGz&dnP5ZiLx=mo4BBK~i+g`OZwwEBIKC zYjF~Vu?mA9I#hkoxh70zc0hX#q+N2qYv9l7JLBz@yurb@aGy}mrUcxV>=ipie?Xhx z6DB{GXn5uDG7KNUf5L{0S58YQ-p`8)n z&osF0Ks86%L1O)to(8RgzqD{DT>BywcYmUXDC3q%qTiyDSbLtk==cZkiNojMV=*k{ zDfCr?I$|Bc|J~>`!g$dcJqP61=}$0u?-J4nwUXO!40~-A7;^bqx_)S{H0S{1dpmsB z3i+wbEd9kUE0P`HZ+%hdn{F+NA9VYadK*_zOf^6bDb-YwB<=2WN-O9`IN`ygzNnUk z>9%ElWc*RP3V=;gntggLiwiWW`1iZdqcJC&DWuFEY1|VwU<0q;8<2xIE4U>d+P&4s zQSS7#ek>_H5)$$F?|bC@Pb{I`#QFKsh6% zN0{2*=-`9w;w;}+F%X!7G)(t^HX0pd`Co0jOtBgtYx|dRIBqp8?c6vO`N!RyI(f84 zvZpnZACZsi2cdV{#XiQ1m7oSO)quPanT9&qjzvk;_{+VUfAemhVJF{q|JYbOF1?_> zWFGYY0aMU$HS>Ms+>-v$DDWz@;`<0#V{?LecJ|!|3F;CU zJ@s^>r@3izkHer#JNT{a=Kf$m?8)5hDOY#7EDH-NHc_ad+U|dv(;#TT`?=Tu+MxQ{ zZ(w99Isugk`eR!828~<$c9MhRri2v^UB3PwA?;)HR+qhb$7ZiL<|KrU;!p(-rZa@8x zDuFvfT1U6(?gyDFoSE~#Tu7voP(j_nS6PFsIooElYC5+Jk` z#Y?KBvScr40P-bbR-^t~!S{Lnz3=Uht2)Z@=1Kymajv#wbHD8451M-j4G|-BTFQ4q z{jNa)DhCo5ByiCBwPpagB(8bXWmhByv<2uaIcizavmeb0)EV(m0c~m0ImA}l66Z?T zlv*he=jJm(Vb83t84tcop|_;*-w7pjW;GnN%NDZVwmkb_7V2)sKX)SeO^gskp9<{s zg1k~*AzA_3Q|7YoB6B@z(*fy|zqH=HSqiPgI#{$3iztvS;Cbez8Gi^j*sGc=W^2OX>*jlqFjyj9w(`=bi+6J*HJVFJ7VnBW0zRZNm z=*sWJ-_S012NVRVSo!N*C1w6)IFrPabcxc{(wkP5wL%4=L`?B z*sM{-Kr*h4tPKJMEGG20=j9st-5AS7Z3hO6hJVS<@#3mhx(I+6z0U>34V6i7TEjq8+c*1mz%UPU>UD=2;$PDx-@{{%i1- zq`5d(c72{1bHx+u6ZtQcSMRUV4dvNrOrM+hbRp%HKMRBDX`gHvEX-toEoY?0){je3 zu1_`s_kFCj%s1X0ZV<+v!=~liB1H{|RyT$_DNJ$Lx8a}g7!^n|Toa>YZ7vq1;rszs z($X9B*1#)(GplgqONb%GTk%i-pi?3uB%9Z^tpZarM3K@pvhku_FL7%gy>}v9xXn!9A?5uSt)Z!^HJ8O?<$?358+UB@xJ)^kmw*~zA{l>Y) ze}w?@+Nk+BroBIJGzfp)hpbP;)#+HfN!EQJQ}qQYsMPMkkVkpemoR#ULPG9U>de`c zcirV!2yL$2sdqVlvyg=;cAgJ4jM&5#W4vTJIVV*37GF(Os~3Br$KYtrkiKAd!~WHa zP07hL3k4}ZVF-Pv%OCdsIw$fiih%Ahl910QaoKSuMjU02L291>qHr z$B!ys?6`)o5qT~CDiiL)a+Y)(bXqSrAv{A-KEht~X=nKlO}2grJDmRNKY-L#E?l36 zBJKrp=iW#bQ#r?_QMsP(b<$vnHf1K zHxxus_#mnC_%wc0lK^66{b(%Zq~BX_;u!6^3cQ(X|J`*PR^X$C&Z1=v z__ck>t=N10)eu(SA(tx|RZEv!<8$Ql;Z7@MM3uwrM6CKDbb)0Lz8oF;(JXL;Ce#@EFKfeCZ<`ht0~-^T!cq%ioneE??o&Zw(xy7?=F? zv5eClr|7l<9-sP5@?S}Iq_9t^a(YjW29lM+zAtv5fpF7O1rM_8z%!-6Sw>Wn;A>kc zel>^ZHbHU2R>Y%?WlI5|k!hBlW6m%?v0VrzCDc4V~{I2L@fe14HCjRqvP(G|)us;n-Nq^-mMhR*vwS@4!U zKTYIxCfcI#oai%1Fhb%Ewe;E`(6_YHp8Gw9z|Z<^tg3Lzy-?!AC^ zUT>4lb{7xOKs{Ak!eUo|DUQo?N`qZST2%!(sB~xgJS^5@m0C(L(yKC=_5B${`=7}a|vy^LT6IMjQA}*hC&2WC5E@Hz^&7ZIuXCK%i74!bfR|M9M)N=XO|NnkOoea1 ztZ0rO0+_q7Q%*nI{ic=vPosq}Q1Qe^2h#FU@poGQY2IXrZf@{(yXxnm_dN+l7jlis zSKVDJBC|t#Qr3s#Lg1-6lQptzFH}zg*3O!l|6sYty?`stkyMmE~Zmo;uY*>aKaQ5t~QTwX(w1V=)v+X{g!ohZO>0L(wSC;6K%Tnj%lrfB{uQX zcKZ}(mHK^p5-c^rAur^@^o7Sv?q0<(0ObeYyJS$Hc$|fb=yxmJ=wUfuf?u%p5?^q9 z=|{Cvo<&Ho6WOTd08RhX6@0nR_Y4}adSUT;hwiyM5n^=-LIcuke_$=A8pN;KCZ7st z_4WwbjBgJwx$W^u{6CJaGN`St>$Xs!IK{Puhu~Jc5G>F_0u*;G!HP?YyB7}uibIRL zyB2pS?of)m6}K<%_vh}DncSH(_hxeT+I#J_0+K6QO_F#m9=~86;PMSEC7T&Izoxqp|CoV`dM{Y5|LEDOhY4OY7W7lX4hj#8*OwXh&kyy~{%#NTUOfHwo zBEV9c+;R3uNG6gI2YR58f=F~eRh@@f-{)Z)R{K3`Zo$D(iW7Wv{@XN*@%PNmknZ9n6ri|1Dj2$t4{ zr}zu(ii5ZmI7(z=QlG4ssn)gH8lbx>3e?LK@CX)hTlivH=aO>9>aK6u+Va+9RO}Vg z^UI#}vsvFLXR2JL0TGAs{zl2V`gvV}0SpHRWbZo%H88j5eO%!?hy9n%Gc@<_Z&=H{ zlqG~>VJ~`?PmTO&4J7Mb0UDA4C`MOJ*Mt|z}qiS}SaLzvNJA;f*1k&lkZki8ZtJrvFg5Kdfe=+}o$Y37D*ua_nMO|^C zG>1C{&S>y3-JvN_i^G9}7>KT9F`1%geJQ%@s_UVof?F5JnEzw*BCic>g;}2o- zXqZRd6#sfnpNpt?#ZhWpF!iG+Kd|+L=11g02gN1R9-o91YWl}g(z)`4K~vTE3uOI= z5BI)JHg41bB;uC*N8`Dr{=!Sd-}V)tSN!Q6`|&Vp$jioHVW@nM_a}J*wkg*L->**j zn@pXNWEg-v%o;&>;>z_HnLSO9(3$$up|@{-jx_a2P$xv>f;x#bQaB(Z_Rp)Vg+a*s$a+DSaw z5fEdw_Ac;cWqa)Z&px}DOoM?>FGptO%|4-~Ulgby-^CKx~ZJ!#ObeiUCL7MZGHDWyXyCzn;4A#HbO* z_%MGvTr#4)-l4R$Vf*%1fh&ZU&Fv6H+VqJtf46O?EXLj7piLE(f_2eZmvxa`^V0cs z&yJT8vWY~G3o+JSZ?1Y=0k1v{AebH1&J&a0jUk%F%T21_8Ehb+{1o)>(y(00oYK@h z2P|=hW2}Ye33a7#XB;?&ptp-mBeb6E+M* zFtiIMR;8Et*qFG1+fVJ7Mc$2dW(ERpu8_667hf5I(5voxBEESB7tB?)xSQ zvce|_3M21qr8P@;0Fy0e1)wrxAf%e7n7z+H-@&p>O3gc@RR%$$8dxcxh@qw{tj zjc=l%p8DkY`^o6!7bbzbX`(T^tDz> zu~BVqn6VCi0>^K4Iq4B%V_N7MjCJjv4;mxTt1;|@U8j;sAg#MT{LzUlInuO)-uu?t zRBpg~uOyb&_I<*$42nz zo2ar&eBk=VEA9htW8|q*m+kz{WqUZ#JE5zgz4IDfOrH?vl}xtyh!nRYrwf zeVc*rxi~7WTeZmOG^6C}NG0mmt4Aq5cJ&Jx)ZaHxciM#%&htO*M>6W3hR8gBDmV7o z0}Ai_Jp7lzK!sUN90Ndj~`;+Q1(jZHb zZZ0Py(eJ&3p36JHX6z0$`lRU!&O(!Onw|Te`(i*2K;eTOH_anc(z}D9?IQ;Pep?sZ zPdyQVTFujQ&-vi)r}5F(yL2Zlz1Z3k)^a5UF3oMDbGwHH7!sPec^iIB`4eG$Fl{M( z{bWq7mp39(;a*hAy=Z$% z4cd;|Ux#&DTPv%xV_8;Nsr%bvdrsn>NMSXZA=Db1K2?9`AQ;zr13kFnhAVe8Tf_Uf z>BTu)=_u1We4Jitb&ee2jVE%E?0CdI=wHU#TgM!&dZXTo56G+i-u%bgg9buX=4V>U z)u;EZS`RHx-cqQZ1~z2PNP|WHQRK+g)K)liwW`{bNZshZf%ki;gbjL8A(?d`FNvPW zLKYyg76*tGp{qjxF)za$JX8=eEdGKI!IUX30B8y}g{Rb*BZ4&NnuU1vg`P@ckq-l$Gy8zL+ACCLN|3Hp1VYCZ3VbS0#BK)q1nWDXXYcc&gpKk03k+TA@_?2c zG}UiH?8YM(l)G%0hoDFi59iqPl$E9IaiRn3XGCcL6|4hnu!{T|8aDzlv=;iaRv-2hqa>tE5eF-saJQ_^6e12GD?0qV1jx^<*G}@$%CY}o-H#e|Z$>AYl4_Cf zvZ3?yYx?5>z!RYui!dIu*yzlB8FhvqGcc6HhZ3e30)c5~!`NsWS3 z7eC2g_Tv;tV1-W_#s5p)$fXp)$&<;C7N_qq_53*Den|cOp?~pP;h)SiQ!Xx?hPPV% zeXHQ&*t*geMWXYadfRn0!lAm!uO^w5tF4#jUm#pPUZoUogquvVt;4e1T^w)zLmT0 zmy^q+=+E7QEEfN-vl0xqysu;%o4sY7OB)hL=a}Ax+^!#TPV~;wZpBLr)#CtVOZ@** zKZ#^!lrN(2xbh)qP5`=@F1)mDDMn|0yVIbWHS5jS)fO9Fu94Ix5?Hg12-j%pU{?9% zq-$N5w}sS*AYye<7x@z~4u;kJo@Fg#(A*_TKKT*{)C98!;mv%H3l5prQAd0z`;hjB zT0(8u-t_xV3RwHJks2OPv=JbuR@!bqzv8s7oYU>+^wUeCr`}*0p!oSFX}ECzklNQK2uw^NHFpK5TaVw59WS5& z;+#>we?Lzuu1STAcA-1eM-1wT4$h@zaN?Uq)MuG-4{98V4aRH>)xQL4daV*vs5hm^ zpz8deXnsrF%oo`3LzeYbEWYS3Va1wRSbHsPB-+$1>56WOsVf}$t2xQPUc%y2NL%aV zteOH`)Mlv~Xg6$#K42`C6Lg9nq8;gl{dwyecjflK5PsDv<4D+|SVBa%-2L=pa02xW zc`gRg#xTRY(QgFDCfZgt*+B}Xb@gJ4Vi5{5H`?!FFuy%vyggF#Uk*;LOa1f%F7NPU z|63Y0LFg^~WgXb3-$ql*7nm|GK42Mi1@>>nSjg_hgq*qWeyrUH)YTpic*x#T8&hZ2 z)5S;7Ey9US>-q>rxwAQyd&%TMwOzm|@cv#=M11Yh{%87qwalKS8Hi>Yu#A1RX7Q&W z&?&RW)i#X$<0Q?#35R%AJ{fMv#D*@5?t3XYxX5e z%GHX=Eb7)VHRuv!p)C4qP88_19p=DWu8>^j5p~(1hkRbLJnG!km*-*3@wFl6x`hhm zSb3g=-qo%urbf$mJSq|$J#g#`*a+Lej+-HK+}F?=Z;hljAe}kZFq%ki$h~3{fwPVR zgU2h8XLRQeAbO$;%*{d}br})7t&#iXjYVq7p(k4!T>AabEVW0#xwQAmb|$YuMQy-6 zqtW7|3#-wEH(T2;!mz14;g(vSspEZoUT<7fFux8uZ0rj^2-BF&vW__;a48zT z7_ZcM)aP;J!ct?oX~Q#a^D|@g46~!#qjNU|x8u4Z z46mj3Cb{>%b>C^h+lSUP=L>Nf8@hy8C&T2wSr!nRp{6Np8ufn~zNlWfy%GCPccfN6 z#`fVuLtXre*Vufb*xvHkAg0vF4B!@Lvw1dSsKDrrLA1`yCwz8&3 zriqh*Ej7v7+|o9y+NETJ`#hbwkLN5?ss=hFQE(X zRQrT=O9peU3pEVv_l>PBkXzj3wxIDPQWKv<;gBxEUoLp(I{LFr?!XJ3`=1J@ zknQj*c+#J^5ja;) z=D3ly6bMvp?zhAg&bci0nJ)&Kx7`hpzc;*1Cmwz$e}XD zTo{iIkQ<(@vl@fn^o!_lBO-g#Hh?C>^WPU#7{uGgQ|Q-~LbRZy>xXj|%8ith&r{&l z>;8W|$&(0cbcm{-w{lc?*1_j{Dfzo8Pm>X4*f$3& z{2x7#*AoGG)+PSm2V*AQyGY2hF;Ld;&7R)}*gvhfCqHP^Tj1o$VHoTmAnpmtN}jV7 z`%jyIX!Tt9R1Qh`_)*4BEPSFs;Qao6L-*Kqv2WQim;Uy;FFTm7s!9j3{Zxe>s8AQ; zcjy0yyeQA_>_rV;m~`>?r}P&o=#!oFS0dl{W!ZTfI$njVO4$2h5T}eKEv-fOuzEB| zl83aRYHKm51dc6VM-c0N5BDv9RPIhkqh9wBy$o^ln;k9t=MTtx8oU&fLlYm`t>(uA zsO!#P%=j6#7@=wN%3XcT@24p4&!#L=8h$-eQQ^VFppxO0fX=qWeq#ylMvbn~~a z3C^3Ib@Fj|^Qjuh0|~uhghsLa zIeRMnAQmC|Tlgr*JM`{eeZ-12Iv&vdz(xwccp)Ds$VCqq+khDxZn>Usc7gCXZ@AA?U0Ntqs$?a6FK(@A?q=7z?dtd5@wo zK&Z*08W7XWyzLI@hsw;n7CD1YD0Yed`ry+MkZDiCulo5CQj8Kq=RoUEJnVR4nq}P! z4AE5HTr)Fxn0bzKSv%u3cR>F&{%^OEea+QA0nOz z+?^nAY2HPZaZ0&|&LyrT#xp?I*LTA^_a0+SJLz8g86Xlp^M5QX$6XyT$#l#uD{Nl= zWfLIB=NJ@doucE5k!2Eh%Gi1f$(D3_T%l9W*7>acqG-D@ELIz1?MBn<#M>>Hxv$(g zz>6-ty~JR5mG|uh+vUq8%b)i{?wra#^TV#e88w+3s#QD$Z0BwS%dT2pFmAhWm&C%!@1T$fmFg*Ngaf zvWX-_HGOmvgJRF6@bOHuf4nX|WpKHluQH9w-70d@FCX_k-3H7^eL9*44Q=?oH_6h| zfC%Rn{~il37-UK==P;*TzgSwX5#V)gT3W_}{A*ity~dEQqd`p)A}(AT#L<>+UzBz! zOTkuLAQl1M=;3g=cz5Fk-Of0r`r*<1AB9<-8ZQ<$#`t@ay=JKRRt+t2W)0Wg^tPnM z_beSPLfKc3m?xB_?w9$Y)5eo3S?>f^`K!yh1?a8FtFt;&}7sEDg?Yc99q0-fehW$$0%DoE9T3T`>kI5eflUC_a8 zoP}Q75mQVL;-43I-3Vx&woc)0I$YNRZmBl2z3dQ*FPaV|h*3#Uc{7h<_blZCp4&F` z7>Mduo^ee9-T1JBsJu`Kky?RC%B3mC+_<;xAA@*HdWZ- zStfT(&L8bmoS8)5qCYMWJ5_M(${$U2{%-oeQLb?Ti-8hA#WEIjdRE1BwTWk>XQFH@ zMHwv7`vzN29*Cal?Oqh}BT@x+DiCJWjNgtF;3&B(_02JXP z7f8y&tN6#a!x<*79~Q*sApgYugkm4vNPP^)wg=_1Pn>H!BI0%n{B1M&fOnaaX$5b? z+jqvdtzwDi*DWtj!P%K;&h7-yF?NOR_^Z^`al`NwvxwbEV8hPX$$V&?UXuelqV zU|X%sQtzK`TYbTsaEX$+vsxYN(k5#~x>&CwkI}LNs`lySodb_9K@t0@ti0)q5#Yoc zf5pkf4!%#FH4%{yslXMdK|~!T&h?KYyQS9(Uy$)(iI?aq*lH@qlaFNIq*%>~bb|0?a`>qCvO>WLmIy2b%5uZ#<^Ov${-b zLUL{Im`x$OfyW{=YUc99_7i`f`uoMgqPr4%Q!z3Xw3e-^%>9Y&dx=?fjz#aa ze$Rc`w3B-s<)AMYKJ*7xw07-5rs6)?qi(0#$~v`84iEcHbauzsBw{XFG-aw50_k8e z+vwYNpo8$d!g$>!%XV5 z(XEAzz4isxaVyqwqw(O;?UIx0k-MyPLifohmYwd*EBz4>`pXZtyw2@-BJ>xwE3nOr z*PFGL$6Ab8+5k)OLqgNd{GjxU={xijCB}I&Ga7V|i83QnYhMD4VpXz#SW!s8Y}(v| zWcy`%4tA>+<9;P?H`6PdJ~!Yi)3Wv`_iTo-*VC$LhNM?`nyJXdNGa^E~| z%OEW|pqU)xb~}#U@K?j#qTO}-QWC=AISoI}a^jrF<9$H+)DtVcsi?-cGA}ZTIP(X+ z`@XGk13bdA*Yz+=om^Mf>|@_s&nqOSp}jdBAgezU7dXlgiskVa%Gg9Wi4Po|Vx4X6 zYCml>jRwsV!i?PigQ0#hWd$n)7jzGQM4GzOm78}aV}2}Poiz9MYVoIF~71V^>SIz*aZ$pb~obs(O*=ZobT)%;#q z2(xF5wbw(3bh6o!B7=t+3VcagVI!*$QlS$GiLK#7!-iooM)NE3Rl5<0HCMGq)5o5!7(0$*TGhW{Zd;k(yJmnxV3soC(U=?ShrE8nr*O))-(e^ z2puw<+7cPmV3}5ncLPR(&#lh|clAC>$$Qouc4s!Vw+1Dm-HxUC(bxaHE0S|Ts5q?o z$QIK}$$NEQnQ~>9%%`CK57Ta6)ayX!=kU>r_S-W2kxYwS`GFeOLhlR9rpX;jWIU?U9x{9x}@=Yl9*LpnBJhZ%KQYznEUwIxwj zX3X3$HTn!^clCOZmTM zrWh;=h3}%8=m{Kt(U-8WzNW?zAGX+M` zAt`l@|0GRuNr7F>ot~lQ54J z;1G}2wgk*%eU$^4sNXUl!9y;zuymZw-si=p-kQNZkqNAj@hUNiaHEB~<5O^8nrH5} zL8{-8TKZG176A3ZL((IP6_0#F4%qLk!4@9oNX&}E(zgS&Ct654N368Kk!$9C-Zqpk z+yL6iDF>^iyl4uA*-tkNDB=5;h1CNsk(-^sDBZ(0IEMaHuL#WnPIZq>TLdo_fZj#W zczaaY`D@e1gYn@uzQJ$&+(MXYT-USBp?s#~habV&t!3pVW7frMQd*uXbG-R;Y++aB z6V@kIpQ0Q($}gLdwHm1(q>JlT|AV??;X*63FmzA2@}RJ990ZbXIwxhx!KicdV+j7qm4~X=a3x|)yz$B@9_ky)|o8$vp4)dQzJT#)> z^ZXyy%^RYUg#lHo6X0`{(y7}s*M$UwQkH)8o*zaZLJhYRNKvcN&u=(%WEOL#gct@! z6Ex{Ce=3i|E4MVS`Dwn>|iz zA2^nZx)VnG;PtJI(Xe>y-51IeIRNvZ{>|Hb z_U~qM7D)ZozCl(p;<7`Wp5-e7C8435C+kPLlPEKI%8BQWiQ>0**R@M-rWDMLNAgYh zTnj-6lXxFXfLoh3vTB?sAld9&(+-yxy(tc@W2FYd?4;DMQY=nY>FUiUy~7z6YX@mv zO(047;m>PV9C^lMzo8(pGjg9VncZ2Q2ND9~>*K9lZ&P=3B4VR7 zvgbP*EHrrMT}%7C<$yb*e<4X;wzbOmtm7R4yoD7773h3GKsRreq9+YC?_KKsB50rY z`z=(qKq%G7i^ZDw?KuXpf_aK9-$pCSVSEdFwLUW?VX#&BEty$AQv5r_6Hm&fY zp#JhM0H3C=e$mqG;D7J0o`Dfn#LZ-<(&U6hv3H7i8%uriu(_vJ8?|? zLM_a$<#A{*b#Wk zi2|G#Cp%Tw7VGC7QVWy_YM|v0hx8B)-NtW8tT}$6a2AMG`It>YIm(OLjRB%om)s+~ zU6r2E64>S0WxpW$W{k~Xy@54RsycA*3G>qROowTSzFZw`*j%q`o%L(U9Y?<}l5Kr}dNnfmwGrg|kED_ClAOP{*v z9IN*LYg3Q%BiR*EiA``l#aH_EU1N8C_5Sk`G&WNYZsb}a_uLR}jq2)RgA4!^t*Eb# z5NU?kH@F5sF^W2)aga#>!6sd>+JhHINpBeevKmm=Bo0=?$R%(Sg6#WGZy|$nc_HG* zhKO3UqH*&F*lWT`e-3h>A(+}(Fc3vIU@Uh*M3tDBOFFg#_FnNuH<^IdYVs2W*YmNU zz@CSJve!s)z^A50fXJ)KC=eNt1)K_R2-@U9kS~`2nlLAk@Fz>itAt82ZB`Uct=%qu zHE53zGPnSUyq^3{614dW0y^FSh!9R@M!rUt0O%U?z{L1ldjod3ND$FfIOr{q5G)FZ zg3oC;S&lsrt>}AQx*gPN*m^UgTewJaz}s>d;w#pf^QXXE$=CfJL1wJ4$MIhys{m*e znM~z2q@b=lpA!rk@nF1|fWA$Io12>CyVQ%^$DG3{A zKADhJZY{rTcGsi(()fjVDkVG1$DQn}rtd%QzOzGuBmca_r?$leH!r@bj|Db?5kDl)D?Fok}wa$vaUoiX) zjKnqn(LaQgx^wP@Dp^+5$N?T39~f8}b{u&Yv(l8*oT<|}81f|>zU6|YW)be!8#DLt z7U@cICcg%L{bY74s(1Ns5*=S$Gokkdf6&v}ey6!_){|UAN5?5S0I)ZdjZ)2uPr#%a z@nKLMA5H}OZu41oX_)evC{qskFgRhEd6FkU!%hDG|(aSp5pc>mlNd%KY%`#;?p{r3! zmr4DW=vHrXoG;5TdUe!+yjly+khA@3s2}1)D!b7Ni2X)Mi^7blAs8rU!eWD69kEn6 zIQR=BGO_&TQTj(6SW8*P@_@lXgb^z6rA9@uXP4oZF!`#Bw z^{*+Kd`NRvJNb#=aSEJ)@UDA}hwT%la!1uNO>`7v$0<>OH}lHi?>?E}V$;SaO+Ac3 zjDcIe1_4wRprhn}yG)M!pT= zAiK5*kzIfy0}Vt1x<{Yg+@?FT57|@FQpw;T-reFOk6Uu?6(y*qUfpz30E*`nv|QRd zuW-x-6(Ws9aW zf<$ZD)>FSr-75D?{0rTH^cmGwPdQ#Tq-U8i4;ZHg=a>9*U;A{=K(LIoWUz=PP_@$f&(3heQ^qfYLXA-c|#1%o^LA>4MUO%m!ZgW zK!ZS&eD*`A^2lTp2-xl0-GPA^Ys)W5N{-~ek~=1W+9AYJ%~-=3%@wJAJN}R)VfQ-c zMFa_k>3RQk{@#-UEa#j4+(@mCfGzsf*3|1MenEVl{Q%r+?(6D-?ym_S(E!^7sHlP6 zQtgf=U}A!Edbh;#O!1X5a<}SA2LnDR{x_$qK&ym`3%Xg@no#SomahQx`(>kL&3OTo zId`!xaiDL9V8*lJ$la*4CAxwZmG7cW3ZQao@t1qh>OjwoXa^M>b1+TPmG+LUw;9_= z)62vDZ5b}x2P>rLW2M9V4NqQWKAq`VQ*(5M4)ukV(Bja4b;)0lQ3PUbPNRLt7%7LA6fc*4o ztI2-c0cIN=iT$Zhy!etSqrFLm{(KUEQTER%HDq5ai&D}7Z^#^Tfrr1ok9X4-eRF>E z;nDc*lk3OQkKb>V$lc~U&(GP&c(dkK3`;B4&?a+<`*v%LC4AkPs1u2=y1l)Lp=-qd zggtM}khb`?w(7i^e15U#4NLO8-B3MWOBU$;Tgz~JFM~>B&5FxyuXHatj7|RhAxBHj zv65SNee*-prM;-{u@%wC&MAs}6A9n1<|CHI^baj8w>NOgZf=$5mqmfjj)GBB@M6-! z2$2$&kQRipZ@ZZ$ZDQtMN4=1eotNE zJ|N)&+r_9(M;GktF4#&D;<<#vc5FRwT6GXK&HL7zkyZ%C&QA8$m>~Dd&W8G?iTTF(oL` zq*TnfmU~s*XWTf>L6*;}USVlYbF&*#-hEqgtBY0A(~l?w2?*x%Wi@0rWt5zLI-uf* zzGYP=^ZktY;>Y7pZ$vme^*}9wRX7$FkM~1e&E?4riSDl>-vTbRd1EI#~)lr;Dam*mq5Tl;WMtJkh!+(&)x1!W&n(s~J_KC^^2^YpLL z+YGG%23_ZeR;9*9Z~8SdRdiYoWQw;RKoLzIbA1wEMcmcd7v@hVmHnZ~-@OTtUVi!u zu=jR#ewLvK)FujXJ$hJgHr6R!Y<_?G*7_#-sYPf;9=xeN1mU_d62(kwMbLb1J z@$3Jv7eeZGe-TbGQH^`j-7Wz83&k>Swt!TRLPrFy+rn|vxK7nrDiv8bZ9tBGy#?Fk zy5`ex;Pv%jQTHYXIWJi0VVVDH-sWy~*ijMTQ1%H$u*&~UA zM7~P}u1*dh&H*^jh6oL;y&*RoWGF!V*8S7zl+>lIV6xxpYq?I>JKPS*3u9=EeRs-{ zrNjl{drPfCOUrjE^F-}qgp~2OQHe8+z4Iy(-%+j-o{bbTw;vMl?({pmZ{R?&Z+F|L z@1D@1)^9*I*td8)a6wrQLcTQ%3^o~J@xJ2Ts6S~)TTE3`*;88iKcg3M-rC5132%aT zNXbP?ZIj2ZViA%u=S#l0gM!EoH0P|%B>z^x0v%!;=qx3j`lFNp^2Dr@X-#rey2_<# zjS#?W!fI($eNZEQY>CLZT>%<0Z-ko)WI@zYeJ#E4#(h5&i4kN4M6KT=(+6WYCUkt+ z2S*zcTaA+XEQTZFlVn#`dn@56!)nK5CT0PT}>LL1Q(}wi+-x`Z08yTtuCYB_kZ;#{u|HRZc;sac>FZJRVV|cA?bw8ys`%mX zW)RNwxNpD9xP~c0`sakSNR{HIZqE{i7HGz|r*7G}&ItBF4}0EdeU;l`RT%{r=K4Q1 zK2^t!SeqM#6kN#ZuZz#PW%A#Ueqs(QJV_r3I9$6g!Z2mSv*c=XLpH`)XHGGaT) zt!K6o6CNnoH8^`}14=#lqvvabF!N8Y^FCLWy(dLq=&?Kr6j>@2(jqhC@XN#9HlW|c zLL7N(3(GHi(%9fv2O016c@<04++hP_)}+qu)8ow{aDQ8PTE7=<){j9mp$lb@daVY^ zwCPjgDgbnA^R=unl|bl~nQ&J5AevT7N8+bf3*8MDpV=?DB2xhOH$Y<4q8EU5lWJ5t z_m^9#o@$e5Z7h;^i{O2&M%XO`*=zG|MpYt1Eo14k}m`+IsR?4y<&VW z-|nDXK+p2Fw!(XMiY~V5R|9mu@xlB@{gI8HtLtuG_&zFVszx@kP~}M7-v>RIDwY6D%t+lv$D4&MN{s6@;QTDBq;X_oW*N}TW83{wfb4{e2S3+ zF77|W3$QECX=QV6B!VTC&$Xe?yLCU76f_`^^pdh7$X3KL6+OB<$<< zhr}-~_qSnz(74~;e2OLLn*grhv>U+x4i2T=NaA7BJp@kTEE`^fD|53E2e;@{V>D}&Fm z7n)0|RpPG!7{Py6sw|7U@6B1d%!MLtYIuQgD=0);aYjD5Nwnr z4r9L9fLmAj+vFPd8L)JSvUsHrrs|k^FrK*T`=O?EL=($)P6xk=QK2HQWV{Bk=w(l; zJ!tzg7lS4lm;pM!0ps9#r=^)J!-sRc_Znd>ZJ^8vPn|1`dw|bZa{CEULIBFPkK<~uMXD=IvqSAL@ zRvVuy*b?acwJWkl^BmqZ0!yEPS$iRvxaQE%jvDLp8kLY-v_T?<@LZBX zo-P(-CQv41IY>3Lv$&z5JszJV0&5V9b^J9$;O4O=2V4{gVee+bKkj!v~%RJ8vSReF%xU4OqgDEN0BAPrv7OLn#m7w6+ll)7SDpON6v& zVENc}P+v}K%V@C0YePs+mDVR;5?^LEeau(;g8DiNle@+`qYM@?l_5YpYthq?pi#2F zP~qnT_-b78jQ@;=rWfUM6&zNH_1p0hxCD~>4Ea|3g^>UAaw+p zGz?+zN|!BxO1ABo9;*erTE6fNum~_A{T@0b)p}>m5MZ`y!{J59YZJWOt=bH-)mziy z5MaKglO37~RH`?k{Fr?VZ3mCYG6d!_LI%FFM7|M<{~GYN+{mT|A%$!u=*VgQ_?jwU z@*pa4D^SDlb(w5-)cYf|5O6)VA5!B4%Q7tA(fLjJD<~Vv%dR45A6GIOrN*Va`x9G&r3i0p zfdy}Fvwh3kh(=vUHd2s_ zTSu3xan^((bkk9YUk_ek3NibqznOoZ(5ahVDm);IPjmF( zCH}tP^+BI$TmElLlDXhR5|!zKQCtBwzL!gm#NvMK%n4ckA`T#HbAG^%jkFB1+OCvS z-w<`rC{*k1$0mla|E*^(>g+j3t&oNy6%RIHaE2_9^sB+kB5GX^J%Q2t|8%?QL-)#v6eAx-(8U$VZT#Q&Hz3&Gj# z^ez~Ee@ILK;dj0oZ!W!#1m|BG#v#r$I zBF%wfZr0nJ6l@d6#*y+^n{xp)?a#QOmWUXDN6%N}HAa~t+8~QoN`xA*r@J!Z0VV)l zPZtuR%>6;B?40MH7>&usnIEr_X)f;N+43H-kOP%z5c%50-d~<>r zk=%pPZeHXh%kmNTU`=X_NYF6JhpUr{TXwB$hRw&w7SofQ4jwD(*n$MYX8?|C4__zjhBVPf)s@Q;lC zVk1w6KswSGxC2b2M`hYBS|?1*c+$?Y%&;>Wf~ z-|Vzpy~fCllpJ|sq@VQqrq?XmISA@Pc~bn3LOb5<{PV~QCyK$O8Kt9r^j=fozOf?c zwjczbm2e~#N3x@m+bEOGA93s&hU^tD&OS44x+8Ut~B=)X1ViOK(bBo0amB~pnAxU zkyIRGjDwEd*}V_!_Q2ct^Avy)&d@E*z=tzc6^Y{D$gIHf#C75K3*l50R3asOnw*UT z-v;sdWH?)1TVAT@tVITmkRL_zTAX6DfD-zLwj)KLM*1dn{>dRQ)WN~q{Q4lhk_1Q37E;jb;J4Wjm?s-*rJtI+Ib zV;S)XF*-mqYCg$qo|1(Iry6>w>`d+2Whx~Ui4Ltt+LB?#e?7q|AsZ0ljo6e{YGJN| z_2#|j=I)}?@N!Rgmmx7tYEiG{;FT z-MTMM0I2{F?mX?-~6xdz5 z8HJA`S2U-!FG&?%cWa%zT)6?z!ilBfm^V zE1JcZ;CkOZKtynvPa4=>h|d_jno&3Qe28c(e}6(l4w_)0Z$Up|@}MkrLMrT?qt*>k z8_18A*f?5F`Yoc&!zWl@a59C!x)LC6z(fTXh+of=OfJwAnw8GMkVcsKlzLd~sNo}R z7O||zY6UH46s=+mEpH;8g{qLh8q4?AXWR3gYDkpR+^uSE$ZVf(qK9naW!p~dikZ`2 z7`qQi^}@n?ZBu{fb(}qCR@@N@%rXReT&i$uy5)M*!keV##tB0ivd!e^jWo7_vW1pf z#^e8ite>A6O|di@XNYa!Q8kxOqY0^UC7|#`ozhX^a8nNsV41j;ipGm|(3?Jrr*zmZ zX2zJ7*R7NqPP``mh?UFL@jT_xwT*~7{t2QZ*Ni~wH!2|ZZ(MV_ciCpSISlTlNOa>&A@mTP1l5U-P#OiB6_D?m;@WOc{E*Un=MO z!$4dHa6J$haZV1otCBWVPfq~;Q0Y+lk>1}f__^&f+4-O#Zdqy8u`zFjbu2pwpy{wLu`3v} zHrzCm4>W2xGQcQ|pHfeiZo7WaXxDu42N~b{BLCoJA~Q=0x4P%nKmASm#(6jTmcq^m z1^S`7!47Y^gy4Kldlc^=UsGCtTTO~(ZH&(mc&}>^uK#JC&On3IAYA>$4--YYV8o~1 zw%WPf+-Gl6+D9k)*WK~-US3;shkEtA9H+WKPbl5VYm_oR$-iD>>`pM~MDXZV z&NtUCX<|Nieg&_Ke7f|Stm^3;S`|<{Z~r@J&tWTZ!TcA{M5AFy){SOQ-K9D_(_BGS z%xHJPqC$}IpXqfzGC;G2_h0~fx_Ol;f?*pyg)+r?{1+N2=fbO;J3SDH|I(JQk_8-= zy?YbYD3=^lbOBL7eKl99cpt);=Ka((Zs@6hPkgpCv*56G{Dq$O>dRWD5tW`qJv?c1 zfEez*u}mqs8f;~8Q1E>pY08$uXqEW`BV-t!0T<=+&tmxJA?*r6&x)P%f7W45>YL$g z5$$A^@GNVW@|fyL+2r&}*Y%WiMzp-~>--y17HItpsi%Tlye}({+!I@{_bsWA|Hvp( z1x^-It3DHaQOz2~Q_ww7a(YN%Xrsf38mM8f1=gOkAQ{Cp@Z_ds+Q$x@^0~l-<96ax z(-SoCG({|}LVHS7Y%|X}YjYrH$jsT*^?S?A4_#+h9r<LZPXwyY?Vc*X28F!J1~7 zPZe6PS}?pe3126TSxlR2^&8j`?&<9c?MTb~Q9-as)e-N>EnjvsEIsfp-D>Fzy6Xb>1iYQOZq>L~QEQi-^KFZd^bTb6sCm)i}(Zh@5Q_puiJQFOQDF9N|`_Tb=CHcXI zDrDdj@Oaw)b9e$?yHjv!V9J-WyIx7I-L@x>H?iVn2Ao;EoaMFmdCiuW9eIdD2TX0)7pN4^v^71 zUh!7(cmMDjW%C3STTaF84|c5+R0)SJ;cIMEcEER@GC_U!;2nk)=4E`zgjIaFRH-1< zXW-DPceP^P)+3%ylt`b(&3~>S_5Qr&$`VPLxldQFzb7cmf2foyzB*TtV|TZG&Zbpq zKlZD%@vlp5dnl_Gq)~&d`s5Yewn=TE`jr8u_1j9UPB}t;l)Jp@?=Py8cz1!8t-E$pCNye#WoX4Pt8lZXvpi8gMbV$ra#R@a z?Xzh3>VRS+bI^f8Fob^XdJdEKa~-%xKTPd_KqRM<_lEkeo1^5EFyrl!%59^#*$5_A2> zvAbNf^LG*F8@DyD-`tHq7LMyGznJ^SZ*#Y-d0M-_h>SW-$Nt!q-V;^dmu_3Xw>|9T z%SHt^j66nD%TmL!&o@Jep<8D;CoDjo{jbLbV{R^j0EX%nzUHDnM-CZChB$LM~E_E4TzFuRQ9w{WcQMVXx@%nX0$@L36Y7Xvz=c;?B+F ztETv9>Nz455Vcb+Rt3zOJbw|C_!j}ZdVTGDL%+>UHsbeiqR6PcfTU%TP)gNT;_ezM{u?7&j+`DPoyO=_7Z;DT3 zQ*ny@8DH-+g=cVYc6OP&!Dd3Tv%!U__Bt+qn^64vMLbhS4(3IMGKV(tVBv8o4S$(yfM_|7$}u6fYCT%40-ox}YVhAZs&B{&@ z7fyNa_#9A0wvoX{46%XJ1g7&EJt$^&&Y+VLQ}o6F?SPX?=@{S|kE;~Jc%ZCFU?O6@ z;>TcEt3;Mbm>%ru%s8P=55oAy%_U4noY&oKUUx|6qk;vlAn!#qFsgY5Ni$F&7qbQ$ z$?orlmx22MPjQkXG))Qz=pDl6c zkW4Pt%YZz3@XNL~+L!^`O!91c5Ko1iz4)2T8;ATjBk1CS*C-Hf_aIv}y0L7*vGSX5 zHWR;zz4_1FCeSf4aG-%t4=h%%m{^6PZ3`othq$HFvRQiMGeig^&ehZc~ls|2*Ysy zvJH73yrfDMoP1_{5LbtT8`F2sw|t;85_9oZA+a+3j#1iA**wv;K$O{BjoJYRdITZJjaigWz z(3=?FwU63SIo5zAYz^Ma`nM#LAR+2S7`XIb77Cz+y93Xx8nOVP<0p(bxxXDjfEw%+ z@apB=3HPvDyEIxTM`kIqHgoxdF~NnH=pM{T3Bqo@`=1ZVGAL~dI7$1#%f$=Kz&(M? z@uq325ZtTAbpzMFQq{eaAz21i!mml{1XQcXVAt~WRQ0oTjy3EToV!K$EBCknjj&tl zSnYd@cvHKA1230pm4Cx_;A#$7qZ8l?>;G76%l7ZGCJFW(B9+bqs3(>1(!08SA(n>k z;Z^j-%H}}f308?<~8^OnW`lp zEXdIO(7YQfR*B06;)q|47Q=v$*UnvYva(soUvGsb?2dg9{Upr3Dm@y8)y$iCaw^w4 z+eS-0J|xSx|K+&DS|?_z$p(RF9!ST(ft-9;=EUH*is!dwSmDIrYXKWV(?{*|E-QD~ z+utvnpxugQ{>~HvtqTrz!)har-w-o8s*S#j+&VshREdLO2 ztbib@+20EZ99$jY15?@b_gt#<=%Ew=d-<(JOQv_OE=O-f6^A>`sVa(8jN2dLy=A^3 zzDdr@X7uGTcRq_lnbSEu#_5|9p(Tcgs`fNU+g0V)X>gK|R#b;I0IhGCO(U4K^@@Zf znB*cF6ypJ6kdw=Ck4Seiw1mG6BB}(!Yca|?o34h0z__W&gk$@5lVH_Mvky^NKjDQ2 zfoaH2)?m&x)Db^FMwD?ZQf6xc*ouU9;unn?f?4qR^Ir33*pqbLy{K<}tSZ{Ca0=*J z){d1Y{418(k_dExNHL@@Xa~V10WJI5f#qgVgl1a;MfrB73LN88KD^~Rirt+`L2h!` z#KJxJKW$0G0kv#wOcBkVH6xFKbc8mvVA#JooDjOU*smROoNv<`B!K=0=?DQ_(1S|2 z$uWbfL5l5QvgYY>LNvKSwgB)b;#l%YuH=hse_$@hWy=eMK)Tk*?A{YZFihbOmdj#2*2LiX*sXTy_3)eZ1~k@BN*Gu@pUGf&_* z2-UThQ(g0MEpOH8z*mLOz5LbvMv4+c?ae_9W<8tY&P%Cz8JHA_yVyPd!H5jw9%_Ua zpair zmCtZhEq<$N3Gw7$;x*n&momBA+oQ`j(VbeH#VQGijyAe1DJSPZ1Y{ zS93sLrp*|?ayq1vR*LQ2STIKGqOL_lR;RRGH8;8w9V*+!Qyno<>?32DuW8qW^Z(@s z3unAQ2=W}x?^p`(11q(DdKa}BhlwVk;)@cS4O8JB=j7pBb(zOm$X%1`o7Fk!01V{2 zy;GN|3%v1KKiFO@ssew7QSKCh0cTo{wv=&hbFE>G7yi_}7b>vbTWtr|b=X3>*=}HiuWA zIi38eGtTI&_h_-dOiT&U95gDjIxt{F(K6@`-t2{a5~zb>v7ebBapDQk^G!o!?s5A_ zR!#753hO)MePF*C>r;$+YtpA--#z0$-uoRLgg1$+A6l@0z!fomh$4B8S`l#gfE?LC z=g3#N2ny3`xI(nCQWS;JT#EP~*R?EDX^q9Igd_e{bDX2T_Sg%OVJV$dmoCk4_1|W= zR9(AD|68ed9F#`j=%K7q7KNMBk=L+9jJ~B1!_ZDK{+1L)yS_{(NCA!x5qMQQ?eh zQ-&uKIfP&F-pelv3Cpk4x_sSbm-eynu|u_3>}PddY0YifIU1Q^TAod_E~bgAXNxRw zDNKhCi1L+NATL7vX`TDV7LdX;+D&(v2itk_J2xj&vJHOv+q_wFRNqGlxmB{Y%m08cM znCFD;)m>DHldHjIJ=c2f)<(y1Y+|Cyhzx=C&6+hsx42)kn%`%=`BNedL!*t`GE(o- zcTzXXjnzT39O|SpK^49UbdK-71mZE~YiN~X|EucYhz~VeA$qydVnRKLD5sc^Kl~C= zn6mLfG^P)aYKJ<>;<~b6Jq@*_(DKxzE6n&EYT{~cE0IBK(aageO(;J&m> zx%5%r9}eY5z+aY>&BlN5$`)-F=HzhWaz4B>$cvWHB7txCIVso_seKWDI{0tz?vZt_ z7J?5w{w_YSq_(fdeQkS}_}Fl<8XY>)`iM#zoUR7E+^Q7KBv;`n_&Bgq7GzWN(#c5K zmMExURl<%xEz0nQSj;;kGF^;8iA+i5T|)*?_Nis|F=)@D)a0rb+ie(!brO`fdUz3{ zp9f!g9dl5R6!ZiY%l*|BwK;+V$C?{)Z~+?wFxd^(u|{fJ{Q@+3&Jx-oUVsd@xenb+ z!vLWze`yuJULi+;i=m`S-8V=fr16-j?1Jg=MHAwAAN(C$6iS9Jn18o+XQZgXyk9on zeaFvb^wimyR8XF%sz+c9yqVpMA_uHx4D)}n)ppypmr>3+AcJJd>i(mSA253-2kp$) z{m0n<$2UDAZnY+Hnn~TTC8Mwr%twACRTKdmBHp5hYxlfG-2eV9DZ=rnyC4C@Q<*+% z9Nw@JfRo7}_T8@)22Usw8G^a&-OL3p+oZ~X6N z^**x;c^v+JiN<-)9-tM{2n;`KYw7@ugtXI9xRTN0l7NB1 z7_@(-up_eeh$p@I?ZTom+^=Ua?vpKG9l#d)@7s)wGGmm-KRGwahTK&LquPWC~SEk z`|FpeVT0D79Z-IESJ&`{6eGKK4>7WBDqY_YRd}YuhhAAjzZ>52Ui&=)vSE8>?yUn` zQ+B2J<^F|t#LJELnVIe1A2Wn&RFqLUNj=muK1BR9ZY~A@v(O9gs>ouW+DYtR;n8+; zrG+0+D~Bx|DYRD$U+W`RjthHIYKks{+g$+xAxz+B@sN370`g}Xm2;XQPwtCwsy9Q~ z(9(ksf6iAw^qcsik}a$6z?TePo4#?_^~i%#=}faUlSp|kKK!E%2r+?-AAEM-N|Ns( z&Wmn}juJ5iYnhyiv}(BIG>$~9oV9R6teu@Qr5e}N+P_RMgJ-e zS`+0yK>V@td+g8!7*SEYvWKwt_3#j5YeZwPfC6j(2=nXbcPfpwO>VtTZYP?zQL-}0 zQ77X43pb+t8qwWH5SqB&=?C;Z4_nhldSj84wJ&yjf!Rt~Sn!jg=W5p^ki5t9ICgaZ zi)(3>cqJeaj;w%0RC%21HkIGJXm9$E#ge!;&7Sz%r5}gA_~p=U)lc9pGcZXh5eX>h zS9n#8 zNz>rH{SvWXANzY2Wc|HUJKiXb*2Bu@QWFNk*D=MpE(p`GU{*|VQth4sc6#pd6??F^5SSKB629cS zck&9ZM+SBYUuR-A3i%MzO>}hrL-c9!65uZ4&F$+%^z+4WYr$8#f9(Pz@KOag-$p{2 z({IlBH3Sm4)sK`yU;Qyiyi4aDq$4g~I~HwSmzA5my5_oLtwMck3AvS4F{DA(*eOr; zP+Q$c=J&Eef@-5OCy{pg)zCcc@*JzDJv$M9|K91+cGzSO02@E^xz?gFA46t>PX8V} zq&;n848HU>s&=QdzSEquiPQ9HCb(BTf)gQS1;BsWM#=*vmEXh>o-HqTcP>T%zH)uh zvi$g^(+c#*OC8#1Si2C{nelT?UjE?Jzy79d|0H-dz{ADG<&QLJ6}biHP-uocAcZpU zj~SI8+)Qy@Nf^u#7{gr55RD@Rbd+Vl!^7EVeXryD?!pM}bo56j|AWgjx`!WWyk*iP zp+BhVO)6U!TvIF|YOYLj=&Jfh1t3iw;5~Z(_YJ!w<5{-f;61*Xrjg%Dk!k4(Xb z=Ffcpyx++fL}jgxSE?siTxD!>tLaI8HfM1N3uB*BrS-&H&~@wQfcc6J8j(h0GQ z7=^KatIZquIZm9r|I9rR@)WyibzwQ`cRfKr?focwg83JSYjYta?z9kYUi8VLR zdiABkehjeUXfmLRT+muT`)l4zs8+wL#Re>d?!R48<6j(t-bU8i zq^jCQ|Bb7)*dkrrXHKRiuxJA~r>WfuII{LD++W-Rt6W^B7j_XY9{j$bYG%Sh=w2;dhPqjOM8(m z15`7^nv>ld1r<_vCqBxQ9GMD)6^lJr?!YwJT%hf^x@J7hQTkHsi<}oE?bvup2sL~p zmCHQ!%r$I4j5y{_`=_=(PePw1|FtXC_|y&J1Cd%Fbwq9!Y_br$yP558+S4%IB>-~4VbA}F>QSNcZd zLEy$hym)VX=8B}FJO;KmPd5~nK@Rtuh?h;BB13Vq!Kiow!~_FfhZ%Y&-)%f3KWy3R zev}TvuKAs|JACBdB=1)U&>qZz9jO5KX}?&pH{Hh;^}H1#gKPdOcirG&iSYg9b^43qQAr~X<2p;Pv zbx$f@8ysCj{W4Ul2<0a}@mQDYZ>UtW&?ZgMZD~}O^_XzZ8f%iPg?Rf^%E_6Bw#-Xo zAkCM9xf8{DsS%(MhB5EqhemU2v7>!Czz|G`4?cxHYN!>*ej1?kE!(CQaWNp)u!IQ0 z8&Wkvg9p+u4p4^C5V&0Wofe8qZg(s+8R78PA=9oi}z`(*;V*02cT5%9SyzMVEvb7O#m1> zun8dz9*)~2z}^Ql@^o?yk=|8l+nVLjIv{!hyfstbfo&=%eovh~C6EL;q=3`!aO6cuZoQ#E$P-!({v;Ox^6}S!V6b`%A~(|k2TTA!wZNi zI`u%p?x7nzq#+RaeT+}K@jd=e3KHlvKn%TByq;Smy(uaeNia+e^-1rKpf|ABnIZ-n zx;i1o0qU6|ygpI%MzOg-0^}F*A9yN06y&Zg{t$^otpT}}q5Mob;+)84d#zvTXn<43 zF>fxZp=p&jf(U@4p9PMnU<7Y;P*liBga^V-ML1Kys;QQW+&+X9RHf6$!S5ZMLJc)OzH1nG=~PU_5(kCo#djwPMgWjKwSWSt_ygwCu^f!mmmVpC(x!zu*zTm%wreV>{NdywGlL z0vgbZPt!m~jCN*~Afszk1-~G^5bSIko_CLh%>dK5oMUMjd7U!?Op5EUs%T@$_gzsr zi>p^Nn{`@@w)5=e@Zrm|Gwi4dwDeuL-nc?}DVIb-$CLPw$l5^YbFRSy_Dyj+*I2RL zDPqKX+#%5PGSB{tka6rwZKW^dQ&B>OjQRLuQ&Wf0t{Vd2ea8gY68$%)D%c|j*g;Gv z<*+y|ia&M)hLazh>2%`3DVu_bP?z>!YK;>~xr&M(fc@YmP&y-u>{+N_GFpr;UXswF z>~{sThU7n5)%6}k5 zj6>QA?+VL-xrgtu5Oe5ZZ?jL_MIJRR9Pk-BROd50dXM=Ji&{X*u)AZWA%K*jT2_n?t&50u9{EvGtFl0VdnYQOd z0Ytjiz=?=HxS-bRn*eA6*E_$KAr8BLi$TuEufG68T*6dodxjMGN!OB!5Yfff_|=97 zu6kO1XWcHqb@_=V#39G6EabfXX8`0Jjq3u2oZZF&L)L;-Anw);zZef7JEipB^dQ;5 z^-AOj;_&$$1LS;rQx9@(aZnAsrZ~<9Ua!2>p$)t26d_%kSc69wpL#+20)Dgs*InSf zJosW6aX8)20Xe6-s|SX}h3nCVd3A`ADt)-Y?^TC>bd*k!P@+~eK8_yQiqtfm6Fm?P zgY`Jx3lu_|!1<1!MJZ%r9}P=DY$Fu1fp%5*j#Uw0cs3$~Adm+_KkN>%S6KxcKE~Do zJyljArSH449m$535d9G$aHRdfJ%j+-BmM$}_J`{s_DC*-&^~ZcM8Sg#0W<^L8$(?o z`0R`7y$g|nWMVGeCSa5~aFLi6fL5fb0S+nO=aD71PsfVK+aU4*Du`=ppgCd-z=h}{ zfp9}0%(Kmi86pTD#0dTu@s(DF-{6;*&gW%ilh`uIBUdT`ytEeazvNeOmuJjHxGRcfO- zbGe-Z_w`VDYQ3Bi`|^ux1C>R4A?c$h74zngjQ(3B8R%pa`pM4Db+AhQEKWVXu>CCA z^gmfy)zxmMH}&!GfCHjJHg0V9YpyN-bcLvY^spi(znFK+*8PDD1HqP}8(kb+X?l;g zt{w)4JSlWVT|qaCZRq`CbFthrCMy>Fod=eV=CAn53upDu12($qr^Y)#k0RcjCg)Tv z;+C}JTkwn*r-BFCez=%g)Hur`E>w$XD{}9+r##Zv(?4*{@M}AFXP0-?Plfjg+*+*! z2zNVnNnSqx(0h&}Bgw$j(4Hv!J$nyhmITm@>e08g&Y!}ydqUAuWfpKT*33d4*l;Lb z=kJ5spWuupKdK7>O?mmP!?BJXeY0j?K-P-by`mR@*#d6;<5Btm6{)Rg_T$=`P3>{6 zVwM_Nmo2!9jg(7I0lw~!P@a*Z%z&IAE+g1rWD!)klC-2dkTEdv+OL2#%;L0w`x><) z@3NV3wfbNC_l5%E@s=>0B#iS=u(I(4!LJo_Aza?d`3ty6RFG;>IV=Wmi0y?W&xg=S`Y&;7)>}>W6)U^FlB084j zD__Z8??1HF)!b5`zh(UMm%%y-%3{WaXja~ zqU$~JX^YN}dKD2uJ{@EiSk7VMt?NF;1Y62Vwymt3P$R;18p5puKZ3T-NJ}UFw z$8z$FGUMV%>f{{@xbfELMvuD>2R2=z{0np7!9+@!-=7yp^)+^dBuOJ?7d0m^p9_I- zUq!LZ>xad`nKfqW^_{NXNI1B<{?2zjt$JlC z52^g~Zv@)FDGg!nN1BN`1lJ!ho|%1WD@b1T6Eg0$Pz@`Jt!~%C2wHt&H8Bh;buwhj z1uD&Cs?Ta+<|Xr&nvg4J9y>V**xI+*_R@l%dYS|A>YoJly&^K=5Zp7A6&>etj3s}L z1!eJ0(GA#wo##fTOgV+^GudGl?X&+G!b~}(g82haM{2S_JPlz)vt;F17+E#tHHIJQ zFT!J2*jGISytdFc-`_XWMar!<6qN4V?}a5+32JWyc|KU=N2yAC(of)McT{>2TA#9S zpdwZHSNH8Ku6*Xdsh;Pg#llXrZ$T!V@tsw*tfrPC?X{N8&DJp47E9OmG2CniZx!); zb60hIEj*Vg3cO*&R)yRF$>hghH6xa$8|tAu%)K1~HNNWP=+ju~sfW;1LmB2Lip#DJ z!(2xDobcDD9d>#()o1!$^6S+*M!icl)yQP)U@586Wbc4UYG{4^xFp&fF1G_sAHC=L z$x8w)4zJjGg#T5?{A?MjsT>)Whrc_uX1P#IF_Xy1JeYph^4cPhWXf9DWms}bMjVb* zwh^9LK=n*MBb+kzG%%eRUz?!dPyv&)s9CfhaLg1r;d%m$hjK9M0Zx2=)pl8GHrv_d zpMrHPwm$k-%5@feS<`Z)2FxmbEih#&`#Z9mISZVqwUQ*_R&snyaZsK06dmO)4c~bp z7~RlKO}q@2X|WA#$9lPG_98lK5-MQ2xR!LzoiE3wG1t25!rI1sWryCcqDMtUC!$}R zG9;b_PHOGjd^I~Jhp+A=lO5Z9x3hU~$lb3|yZfb9dHn!<(s5bCCNSLnyMePFaAyDh zva+h4LVsNOlp~8y)}TvE!u%$(Z>?#gX6~ib=Te#jS*Oo=^`#93hkn*!pFnMaIhNI> zE1R#}$`fJaaaAb-7-9B$feJ**fzu2jK6Tr9h)>;iM)4@%<1!IRh{31O-dAW5;`e$z==<;JG1|*v*|X1c&$^MHbTyuTw^cQXBak~yN(+^ z5F80DE_ZGaIty*J#L%o&viQ!h#JlQQM3Pcr(k%A?xw zayRV^xS#r~e&wtxHiNvcqt=ut>*x3jS(hH5R72xXOu9pwDyG#wld8_@R%i>j$Bvk!Qp=_<5*|ZTY}A{0f*JP@a>vt zF^F)3Z$0geWj>X}YV*)pk$ljEw?Ot2#BQ>P9_pCr-i^$GtPhELL{Dl1!^GG06jC7~4bx5$Lq7#wd|4U- z{!-EXB(EdRfJL%ej`8`b=vH+=iqvd+tE_ZjkFm{iUpn-%ROVPtb0Iq_`4iPG4xzLZ z!U~l;ycX0Jy)~(=`%wr)0mq z_Ma5mj>cEL&=t`M2(OmM|7Nh&L9@UE)CkI5@93q>WlQ4ht;IM0=tzttN3{#_XBJH)gGiz0`z9CcrQq?RhA_sdd`sw zM)UcOkA{7vY`BYSi33Zhynuf)`Z7ruDUJ<)dP*z>e|ZIkhG=X%^QUT(^|o z9~r$76W=-WEAsn0CUqm5@fqL2*VxxvItWJlsn==ReQQBFm9t*!=|VK=wpN}9_8JeM zan1KBzH3M!#NC57%yzugMjR3b;?oXxM(n>)oT!-f!ljqe(AE1rMQ1cfBW$#!Ary|d z@78spQ`<~z=qe5=hy{o*+q5%9uN2Qz*3{`+`!QDO5@oTQ+UH2B6 znT?dYhz|F)(Gz@4i+`1&W3IHfh3_7C#zW47i6~oS@vo9Wa;h~qI=pGk{OTL<`U=Op zn;ZpA3vJjA=cw$wKB zgdHE+ZQGO~J~S)uI@d&3N)p#HN(s{NkTS)s&}K^P_vYeojH#{}<*PcT%sw^3&I$6uBB2DU?qhd~{4}ofcNAd%K@(Rl7q} zyfpkUezJv>lbiS5HR#B;yngI&d?)I+btCKUQeegndV`NDhY=DJ4NNK){areyxjylw zQ6FX|Y|3<8WqvQ0U`j{p#de&aa)754*&68y!^b$r;ppq8VXywbGaX`qI^da#oahG9 z?q+Awg;-`49p^nYPm(0HqlN5==i$S+_dWDXfSl(&HC*<> z_m@1Sn~%RoS<5o-x_ckdiABCbfE_pwF49~>|!zJ-s;<{fT1ExF0Kc^ZZoax9P zgj)f1_yhzDw`+N&I=m9G@wQ7n-*MPrKY(*}n>T|+~9Q|!T+is-Cv~GSs5lSsM zs_%|gCT+3KiF2Qhv&k%pk+vZ1?gjHOLEUrc$?F`uSYSy%vc-NhB;&n)!=4)d?c~yIev$F*q83XH zcUbbsP#wFU4AXV%)TV{^;ij0^toN;kbah>&h7w)U&jQp6=UBJk%-{&Usg5Uh_m zYxXnEPuqCzSvXz)@tvMkuY1X_X#94oWzhDk-nZND(k1VdC_6uLuy5t(Uel$KFTFpi zFi8p*|5%>N)Z{e%mK;rV(}5h&p%M4UixJ9o<~C~~%xIB%pr2LR6=W|~)Na<2L24fY zJAL>>NmVx7HIDb(+4{GL=2!)y0 zvK9VUJY_1JuIE(I1iBbubeI)9F@um)^f^D|2*EkU6X zj&Gl*F1-&B&hb;L}`mP z0v^>n;n6r*YZv|0uS-)jz-+-cC2*8h6b1TMqKZWiFus`>y~Ua=PE!8f{Y-VTZwVj( z=9>4*ps&dUzQ6vNXbwa%Mw1{203Yg?KxwG2f9R2)1X;>qU*NR$TA;^IE1Ctb?70T2 z7ltX|Fnp8C&j1u5GSXcEdN+HxLQu80lnC221hn6y-FNFGY*3E^9Nz;DNVp2cB`)AowVS@^_L@`?clS_$Pc@N;ywXqqAXy! z2uYvr{+vRoNN@n$xn6Z-U^Z7`P4zOWzx`5#NvvU+5Z(w7wr(;Q)NW#%!nBZ-fBmDZ zw)DlTWW|o%5iFnW6axp3?)(&p7H7vY!FB6RKzMvW7JQ z=IeHm^X8+Fo4^}NZ(eCB73qv z%KgQ@n9Kt(aM;|e-;%3WjWPSEKFeKwZbZz~kjk;tT^jmuI1P|)-KOuAiXZ9%(Detr zu0+R8f@^Zcp8!VIIyzI-j(P5fat6VJ8xb0^5;jRXeNE1t^)F4ozsoTIoLEQfh8~j- z-#4R3^kiQ-03_L~X;~^>bQc9a_bX*PnsHNNU3y&DOZyJ1*kJHT`cuFpHEqG`Ih+7c-q>{~wvx(HONAL37pn`_;NA9q4454k3vE)WFfW15pX0Ie$d9+q7rhOnRP+hY^S-xA z-C*hIc$u~N6vni~is*evFOHGPu#W5?o$1zVcK-P)^ta>}$><-%w09lFD^WY4)^ zUI8v2trMHBA^kICW+)yn>PZkSgOKIvp->l_%ACEMlvgRa` zXKIDHQh|507u8hY(X~?`PIYW@#?4qBST20~zZwlJzy1Bzu`9{~%+p>`yWC^0(JSvd z^u3MJrt0{U#iqX&-kkjAJ=%aYF0+Ri%*D9?_?^~4rvJy9SJU^uO4Q{WEP`jQ6 znr(W}!M>&rHr1?-UVgwzVTFu*V_TZ05IwLr-}US9bvHS%qJtboWE5~MleMzu^Og2G zY_h--z)^QAG)RdpfvtwriN0VZ^m1B9=v0^Kv+XQip8>zom0 zL_!9ixsNCjTj=2>dH>z+kNC!pw=9*IXtfchQZ|)s4P12966)6Z444ln|00DpM!#&r ztSNmPxER{%nG5_CnKbbF_rp5XllQ zPv0iMNV$;)!9>1*a~uWh91Y>nP0upEQ$)PLbtEsT$ajunV4zopfRm#lkUJzo z#8*IhcuL>4#e-SdSn|8I>Z_|j_j$~eIh3m`uPw%4vyV!#nK{;kI9%-L5_DH5_+Rzv zczy!xpm8o{@8^%?X{QLd){!CT<|Q<#&-`Z$90NXZ0Bd(C`LE}%AhV*kwvwNzYJcmR zsSdxD1k=@{4wLm^yVUPba7!PfL|A+48tC)>assTqZK#Nno3*qffC!b#0;ZQ)t$?Do zNEfOrZY5At?bfd;*65P)&?<7<3s|O7Y&Yxj>dM+vy9dFPxuG>0cEYBcc88*7HL}CK zogZ6#6-}Uuo?A)vTk>KVO!RNtUPS1%Bg1cN0AGWn2YMjcLmIG}8&MfM>dh4`!Ws7| zQW6e0G6rd0E<@+v+x3Xslc>*N7Uu!bx19pOUKpwK^&kTN2DC$oboAv`kH-AXtqog{ z;M(-VeWw}hbEWcblSXKu3ny}n`ZOMW-q)6ZnYBG_JUS+zZFz?zYDh**!M=k6YJWr} zw9rM!e((}-ww4Kf_?{JcRJg8F9~r+k1tK(Uon511Co^qb?Rrv%^Tng=))%3+*gNMo z;sgjaS}^fNj{raiYi@|%#ok2p)ruh~uecC+Tm3D6=k8~L()RIES9E4-IdKwS#>^Sn zcL>2lUpn$Z!H?Y5KCLQ63H)qFb@@lGp#1%~W#10w;y+^?`^yL8LDVkMdJLKON6H{I z(SCD}$u%N76E^5L;EEN&r_DF`TpfU;ejBM)pwwcp7^#COdb=S&0wqg46<=|*!SM?`v04eL z(6MNZH~*$jsq!bigH0Wb4yp1$w?%{SJqibAHZMw)GPi;TMK+3m%B#Ya1O^oFfZ}zg z{lf${R=>T|I_9z`XG;4%L$>vo`^1d+f>0?NY`J=zEgcV~-XWVnj285Px{_kEcnfYp zLk4kE&(0R>o@FPtI9w@0lGTMRvN?; z*ofN5{{74uiocu|-?^%w8nz}d-RnP=l(J7W$hu-MZuw9mLK8kh{cwA9!IE7B%sXzln zwJi~fi2VX%(1c`sHtE4qBup|ort()?k`R>2v!r|nt<*-C6m%{`ZgzkgodcW;frey! zH5*epjU}@e3G#H|O=SfRRO)+pko^FyqR#IHV*g1isiBke&F;_%lr4CNA)u<{^#|_K z*r8ZhMZ2S?-UJ9CSW}(tfE^bnwf|xQ4-sT!*tt^zm_dd-gaV1AY~V}Ee1$Y&&NJQ2b6~@kA;R7mF?5Hq9h^X^ys;AbL4V?+7bS1eGnH5q zLXF`25e~aM98)3+IaEXFBkf;@V8==rT#T}AUTRy|Tz3BXL%`IV&d*VI9 z2|dD-LON?l4ncep@qyPqE5kVGllO;Wl(MSERh&@(BGKKHC>B%c8E6K&o8l_>#gFwP zzA;Hf4-<=&bil{B>bt*bi3vDMhtPu9tX;85ceqT!5>+-5N$+JbpQ+C#DQXi#}}5Xde&g3djnw5SrK z5^qGP_Uhs_V9o_!O(hNL)=!|O-BXwVjj%1eeu?iiucWFhiM^%F3@GyAM0EflLQ@PN z2Hs+sY^M$F#ds@7<75|zqK*Ks^v1#S4uX_C|W)Im7Wi(#O#DI+1VA+_DPFe=EB#N@rPgO z=`{WzPfgyw<=^zs0@GjbQBoQxsbZ+BQY&zaQ0u}k74i01N=dsCVN-0Sf{9Jfme%x; zB21@q!0$=X1SkMd0G;ruk2SQqkhrTHI2EoU`CCY0u2P6qn;y76T2G8woGvA zp3Cp4b;0J)J}(RlN+L*3)eH5J$v)tylx7ljq$5CS53SJ-Cg4&w#lh#wGd=HmArlAN zQUS0#V&{@-QvlfaV2F9fNJO!f4?v|7KJ6uf3Q+{u?MflQ;Sq?kS{A^ohOw<(LPX=@ z_UU;mpqr}lsZ2B&s~|4@;U}z5pq#bqm_{$9`y{?nQPxW1!6zais-1i4zc&))LSqcP z)_+Ka@vOOLPNV+LkAh6r1bE`+&+H>9QptzQiYyI8Tn{s;G^K3jwf&x5WADe6Q${M` zqZfiGa=rKnhs?Y! zBQ$jKO2}ip%<#@1n)c&jq)P4MoB6!hh__*>F4H^ZS!@3_*D5@cLA3N6$qetG=w=2{ zkgr~8p9Gj4OnU)Xw@=8VvK>|N6qt;90cf9PP27dHkV+MYsK5L8-Eyjd?Vx_c1vf`+ z%yw?Y+G>n7=cf zEh9yW!tYT|>MAy)^DhNM<2{$QX=W0R`e+-Y;e3+?_U9kyulM_>7=n!7oxijnLn$NW zX%k=E5SC5aP8Gbr`5{m(aUX}aUYY(~?{v|cDN8?amS>wr8S^=IH@^q~u$2Nc(c;h@ zvQwfklWFd9-tHkcB~yCX(C_}Mdy^Skbn^}zb&0y>CXGC6+zwi(f$a@*>>L{ly zQO>8C2JN4vgCMyaKCG?iWm*~pGLxOsHZIS+ z3^Hci_2{V~_L8%2b-&Dizhy>Ki_$=>OD=p?+5Bfqk_ctGoeyIYzeC>e!*vM&q{MpQYK= zzqVPfpb7r)@P7A?j^Bfhr0nYgS%m#4(7v}bhGoND3rb(0R=|hYMvD`v)!D$?AAt;b zkz#twqG{5mpu>E%ZfXSa2=FRw`dzl70CBJ9kV(#nZ4Yn$_}R$xp3rE{Yh|?Wr+iDo z5>vr)U50nww1K~A(9Tc3XC09?m6B$9Wp8EGitsiGL}kvT6DwCXs;NHJJQ>+n_O%}E zPo-unXOKCjnaQ^p$oj6(zq+gS@n+z>&>cJ&du2$H!yf;9CT)9^)%piVY*v8?N`NC} z(0VklHbPpek9|p?oF?BbZWwQ&nZ`UWwb9)6qCB7xX;?ub^UF|+`9{kAr0zRCNDRIL zNyzHefidTZj>3OFRPzoxuwXhK37TDJVy9T~^H0%wmY4h;Zp3KDQ6D;?MhseYUyr&l z%L&*~>27*FS+Ym2)xdIbr)iA0#7IgXZK+y5hBCTwIsTHnp&HPGB3bCOi0TY67q>!z zQ(hp`jR?YWtEJ7<=t(nL;U-LgFbcMJL?fI){4L88Y)^YXCSZ@%6#-VDP#S$kPscx$ zP;A$$G>W~b5=pO1FwmxrbX;B*a3MTQ0Fwy15Ne*s)4jsA9u1Lawdd8mjHgqnu+fmt z5KgK+ji=KVw@QctZ|wc@xZc+&+_`JynB>XQXMcJ$qaX&)eT=~>{7c2{Km`17RoPBT7u(u zxWVbp8!db6r*mm%Iz;9DEc3T~3kdTS&-__Xx5bp%jovi?~;eJy~|m zc!M>2%E)C9zgtgg=8R%b&6XF7eOnwU?3sT+1+O&%Njjz zsJDdqUp@hvyM4eHUM!PPA$4wjN|d89wuZ z2x()BJz>V@Lmc2lk8qV;R!70sHB&5SswH(t2mQSr@Jh=|x z{_kUE`IZiGVu*|Yl5ZJCah_12O{Q_8u!ryLU=f^ibvHk18KXP~T zkXn12{Pz3Q`}Q>W+sXLMa|nhX_IoAwYrC#u62WRU3J6SLp6BMN-8v2gKeV%)S!X&B zSSo}xr8gigYmJ=6@KcE|yfa#XNQQP+ltIT^NKZ*VClvd%(6R>?Hh^&7Jp7j`J53Gx z8XcD^3nfvHCw-w8_Mu!x$KXfg87a~btrrYnBFM%%&DVm&RyqSb1E|RVxq-S%Ojz-UV;vak zG*W(ne^c-wFMdp%7MO={hn3FpMMmU#8L6T@D*Lmb=!{a7!)+&LiV%O;fF(>(Pt7@n zlgkFJ-f z?DB{_%-G3_qD>POq(1!ljV{8O`B@u5>MP6WQ+6VNw%qA14ODlK?35Vz@!=W!J`-SF z4u7`}`nS%ep7~1}#Q&1nV=MZA3jZ|R0>5k&69NlS+)szTq+}_5q6+SkR6n5ez?P3Y zxPV4cHp5L=*e~8A(*N`F2t~|GmCVL8!GE#XdBq9Q){b+)VK;9PZ64lQ;fRH=MIWLZ zRtezvH(He9j}IbK%G`S@XamT;t+X{~`h_rv^QQ^rli2wgDza(3T0=TGw?7oY^BMxO8ZexECWZYkgK4iw z_NX|E=6TtY2x6Lr;zTCe*uWnCS|zD2F?CfRf;Q}F3*X|=knSGry}}M199uG(!&1&d zTWxBY!IX#)y6NuNX zh>O`PGn6-mDyTAdQL8`T2oA~J>?K0ckxxWFgdEAyeY8keWXUf^6tF1ssvYm8f49CQ zp297pWJjlSDuuS49QMZ^GIU#t76e5)x6kg`P+sq;332EugXN89UneX&%6!U#qtg37 zFqK3X|C#2q6|zm7V+6Se7$cv;-?hgz@+ZJWSt!m^Kr6r6kFl~p2`H=)CKY*L}R8zM{*vBo(=LcSGaz1Re7J4KRSt9^vNAhjYLR~Id;0P z2$@r+t%4S|_K(i*lt{nVR;5Kg4{ZBd`@Z#v#q)v@gt22M`Hte!WA6Rs z;w$;=cyHG^m7=^j8gJJbhhmM;lse+Aw+l2y&q4M889AT*0O-rvMz}59{6-%!H(5Xl zU%O#MtSKlR23&B0G%@>YRw{xOE7Rm>yDha1@f~`xre-kxXIR(1I7%(JfwKSWjM z9Y^FppXVvTdQenlgtN7W>5|pLnBgTi_K5uY+Ho9-a%MRRjOr6^_{NPDg0Sru6P83} zutFQAaHvE6^h`Rn?iCH>0qa_GB4*l?BM&Y&zWWPgvqOGLxLH#`GjNs)zhc=rXGPx~ zwRcZXJ1lU@#8=acIDh@ATu_mCHlbJGEuV~T)rqY}Qcoyz@@ZLlYlpy|9<;rN6lVM} z-r5EDGOevxK%uf;`2)vUMG);)GNE;}kN#tv5b;rdl+J>vj0+uL&MJ=%=`DkA$C_|P z3um}V2ANxZpblM~b}3o>NZN?K`K6o2PRAP@aJ)ODV;#)0DcHX{Q&)VKoXm|3yifmn z=}@1V7v@=3&{hNg38B`d*bFTg;i+dD$MP$+RBAKSJ^$VCfWP(KY$~49KLZA->L%@a zU*({{)dPpy=!|>H2%wBw!-7LQXKi$<&>f}C^dtGDbCZNSmo8lOL)PC(0VO0#bc8a2 zSjO%bm7oEK?|~Sn7VCB~#{m;0H|z@N1v2IPdnkgFpyTYS+S6zNpLBntd*yKTHSQ4t$tTdtfUOtZtu!#6jjA0`-;r`nz{k zcu;JY`pKVx$%}@8?g(jX%ZqAIbuS;t9eVouRNb+ewxLx+9*FP!Sf!#kQgWj|!N8Zi zZzw}ONbN?{AfAvdrv#4 z_`T)l#+i8!HD5A`)p7CGNkjdtqu&Q!-d72`1Dogaw)6-aD+wF4+|wwOwylEN;Hgb{ zUw&6VGKZS&YPNTK0O|Ur-tIBw0$fb<%Om|-Yq0le_3th{E!8InM*8E8LNtSvf7o7P zHZ-1qdj3$8Bj*j%Rr&_C4A30sew~J<v9aAIpd0rd08WSWSzLeZ*u9n7~q| z)I7;q`Jacf+6Bdl8I0vcH_4is5=1u(mW}@g1Ko+9f5bXTg6AvE!2{^~P3F-YO?5%a z5ZMPh52Go&K<@f7PpLDMV$^;<^_FUsdiEdZZ4z2~-eYoR*;Vpg@nmh)@O>4`(*MT@ zrMV1K+TMpxZ2Qh11!Byi$Ox>0=TcTEdfgWOk;!Uw3@Qd&Lspp?x@kYFw)jUELp15< z8){bzMBeJiw8=OvBK=_j)Ae{4o0p|lGY7+mYJEp@X)9?_GM_muw?zJ!%e+gkz%q)# z)Z%wqY`lRie+xW$f>IkvDo&X0-{WB9nUPaf6eqYQ1n(I);lPIJj2IHGZC;$;HZ$5H zEH#wHh8fb#5qT+$&Me7BppGAMObr@;d@%j`g&JUq{f>l42F2c@T8$cYwtrRhiJN32 z{q#1Y(J5l7E6AJ$RrKa>joI2{vKPCRVF5x-;fb4xW01Y61cIWc`&8!rcFHGlP)dn zS#R~Z|GDWl>t?jR7`!Y9EU{#gAQ6gAjC-=o{s;|z_?8Z&X==`}fi=PBX~TKc+zi$P zI7q6K!P8rmSkN2OF+zyt)_Xz`Z5yuX7qR{YzY-}HaB#zqs_fUgPS?ve@67_+@c}9QO|r42A~ot90POO` zi;5L_RAWKkv&^e@l|-a=X!Ih@2eM?0U{o1eRE@;yZiJ_7E9EF-@LT3V>F=pFiz+=? zRinkRSww>4=0$l`yo@M6Bt5Qf;)S9y;tk+HzN#sVzb((mpqJe`=a&raNcrD^**8t# zZSwQqtO&jEE`_#v{2T9iE$2oPH;HO$mp{~C1I?NzEsIJ$S<8QL2LGs&wk+6tOT#o6 zsdv89&0*G3&FV+9-ww>$&49Pf&EI8Ij%1)qHV0sP9s~vM)~wCr-vN;~>w+8=N;P6c zMpWEGBDO7+F>T3PBDS)(10wdq;PU4gGg;>U#XI%7y&1LCf_%~csjHo7lhbJ59z)j} zNxLzFNJM`+$nj>>$x%DNQCnDy!OobDU`qb?qA!QTK+{itR(otSd5ZvPhLCABDpxmj z%ceA$)F04pd_R~AvpeD*YPOYVkINd4jUWtPHf>}DomoBHVNJ)ioQ^n;Q6>yWHkFCy zhQR>xsti7p0@Zv{v0y@bfu8l1Mu#Bq;i6Q+(z8S3XDwfCGO#+sJVk#7{~X7=Hj(96DIZL?;)CP+NR+nEV) zTPTxn%!5c2cqT#o`%Nq;9^W*t$6&G2qCn5$5m{pFy=xv8}>9n+JO2^b{?}xDp9vzsd;6`DXBc zCSCl?A6-&+sfH9h;BDl6D>(mGWAXn_yWflgcK0;dsx_J0D)2_9RM5wmxs54E3TfF& zNoheFKp3QA!0Gv{%h|O;&+hx5c=*o0)Urnte6*=~e<$D>y>y zlxO59HQNKill!PUi$7>JyXES^SZ!9sqki|xKP8rjf!Uuwngv*9bbtI5sAu;s{k9PT z%A}4xCcSM?2jyDg?M>{LjB+^x9_0vd>#2j-No*M(*p`D!4}wdtf`P+8w9e%!&0&p& zdd{-IJAAQ8{Wf5EyjB<;Bu`ZvZWF$_-l}*?wbHT=>*m%(xjVz?%GENL}xp|vn@^>nRg4rQ}3x|u~ z;6m>ROH)?dbU7k&6*qg#Kk;NN@hgkxVksDA?zwdSkJ)xL(!tve=Qdk4e!K@pW&kU3 z%KthTf#N8?Ruq8c%-9?8wJC!4%{x%AO!x_gF><+xF!I2H(w5A#@Q#err#>DXIPX() ztHrA<(`L@aeC~%IC%W@QWxiE^2^e1)%OXsOltzWbD9bbz$eI!og*QX(3fU%G%SV>X z^t5>(0S5J=HUoO)H*P1HAj3vI(2~6gk?{ai$t)kxR+NB_bAP|nbhbOn4no)ZFWr*6 zX0(}adtLT(Jk6V4@fB&DeUO`S%j=2Y6< z1)O<&c5zir1xi5a%8lFxx4Uis-?l&wdsBzvVNnw#tmz}9a0!s%WBT02K+g3C zEz)ey%#lE{joUq(%Tahq|H}3l?*W$IrJMaV$KN55zuFp|@Snqp1D0Crqsv9SF1+@= z_T|OrZgg*?dxGrDb)rISMN7Y0nwu^fQ6B$&YejJHypA%kme^{z{QQOM2({dDZ_Ua`m3HcFOY%hy@XAG&0qtk1=KgJ|MF9>5_j=&Sn}X6H;nJe&X+FNcfJnq_$*dwe0eAregK8(R`Dr~seQRDR*T}L zD1G^k_y<~U>wUMkz1-7|m~Vq_yN>hnY=yE%S6AAMIV=5$+lrf|qs=PF;jhwWWxfFx zy43cWSWr~LYUX_;9orx4%^%X{WWGTSe+=(4{mkO=XmlW%#2(yft-i6H zU@ByWr`0B<$pnNz<+R%TwGFPGRG5czRtJO#*QWg2&v@bQzy0!D_HDgMJbs7(OcT9Zrun0W!O%{e%lf|!2lSod+Hqri4hxEv&ApX0p;u1~ z&BaA`at?+mC&=Jx#}~QUw(vf)EZV^ z84%J@`(tMI%TXJoqSAHEvn;DtlEjRz;#I{0DdcIErU^@Sm*vrOruHoA3*;P4{@P38 ztMwcinC5KWP_6OqEEBJ=tdF^z?h|3zcQOmb1?@kID5A1Iw%^%*8W%Q1(M`wpj!u{n z!9@l}C(PHHKhf|;vwP);FI7*?@G zhb~(Kj1+bmc7O0QJH;#uPZ%F*YUl<$wjBQCTMIGSzN($xjghazBCZrS;g?Lz z%};+>z0d!Z97JdAl#DoJBviGLDiajHY=^P5!58FzU|w%>3%*Lc`GYUV+1&F%Z{5Lg z%h=iUqxl87qG;czy6Y_m{Ey}oEuREx+e~I@7RVFY&6H~yEX}G@W=BBlegDn1P^lf7 zrGD^aR1|to4S0kISetXgr9puFU~|LYHw6qnvowLjk7n*I^F1Bi94tM8`F( zf0pUWj^bFSJXxWlt(`wx(HAxQyz{l1U$V$bEA^uIe$&yq)nvkbVbsGrFSvs`YQtn9 z8IG#={CnunTsuw;33h}=+>E9{ANk=b*^?hs=?yu60?kK-cH5PHosJiN&P)Q!9t9Q0 zsk1o(YOA;WosMVM&IoZ=amz0kU5tROLOyp%9nTMrw341&fU)>x+pg^wdtzS2-x_wZ z(ryHF7-e%{pw#y?f@vwd@%~4dBVk^6UPykhPL`A0Bn(oNy zLdYL+X@09Z0c(msB)gEC5SQFBzfaria@EBc<~z~^jgFQ!OQsGebRun|Y1EVttP7SG zI@kPCr#MtE&EBy%B|($Z{=zdG#GK-Roh9Oa1VD+y1ly920>c*q04_%XpnJhByb};n zTE>yedKjo?escPk?IKkzFCb9&rS4`1yBGEzi~kh*iMG|@{60(=MBKi82P-1czZa|floye7+$23vZmy$ z-|z}QZtO29BHysEJC+YPzgEj}0T&$0;H7fM&vj>(UQj5C4t+9vXxv7-!bs(?v08sx zN=aq%+DVc$Us?h0TJReO1Nn=U$yhh+GwVW43#SW2k!8y#p>rDLGHt#CE`>A!Xnv!} zJ^3Cb0f#MRg0iuRnI~!rw)^~#{OW`nYRXyl?#ob$ylT!}65C6%{fpw~j9*`OSs+S0 zGpby%rw3lW%bZrLEe`b(P9-#bBmS&o>(uK}x8;~>my1su+aIr_%7NWh`n>vSU|1>Z zs%v`a)F;)C04GDsRQ2=E85KhJaav4ScxM1@yZxro4Xp1==8;FH924qKeJ7(O15%uu zH(|M>0MY&Hlm-tomq`;hp?o8o&ec*5#xUDaF?aDwCAN&}`zlRwUc-Y*&98i!7p0?G zNRCexVr$W*KQ$JKo?fRhDUe^PTjcIf3!7~FpSNeUF?A(FKQ@w)WBct-(WtV%@%3j^ z#k|2#J7tgP#F&n`srhzx!1(7hM5LSxK01b5eZy`!9bvDe+ua_%i8YPbR!VJX3V)3| zoky+ISVRVpmou4^1G1YU17E#brXC(poOV*`U>m;p3jACt2fIxHy6(cMoVCMuL0)EP zKY@HP;|qCTyyzq^OeIuRkTV%aQ+Yn;f|Au&q|-F$T=zEC%+78NXpcqVJ6?H@Xobv$ zX{-y!=n?p5bA_>C)s7bKjbEAnkyqi%>em%)uB|5ClGB&f`V|ygF0U&n7#o#8R|qq< zD9_Kd5Xd+3hc;p7OMl+TGsVkOc}HCPHs7hXrCrbCb9 z9IApERO)&~dLbi^xRRvv#$dHb`l6QV?flv|$10zGE`R&mr%%g5RZ?ShN*9G?&7YW> zS(Rm6fhGQvIXN?FVsZ{_e|}Pbi@7LWBY*Kcf9b#VS8L<{T~y7)Cz%W6iv~-s?!W}v zKXjQ`JzJ|$ik!@+)o1H4!+`8^0r}p1j*s|ab}pI9+{OsRe^z#t@){{nLVK}ZXumD8 zg|o*?oPPhi`39$jNsEC!#<}Ht)8(=@;KgA*I%5$fjle#uFvVF-u~G5?MmLl5zFgevS|crnS@-x3Kc?7ahyiH%f< zDD3$GUj>t%HdG#(t$Z4fC_0CRjn)Zrn+6%5>D-VFUkas0Og{qD^o+X`ZD}u-fx|a; zr>?4fPUPsXhx!VLoJvqt-tvVTA%#=7A*n4mt10G}>?KZMU`MWmssxLTqXbatQ+UJ^ zx>u&Ge&(+p#vaz2Wm4s<-$dh#zgWf`Cd|qn3DqbJgd;$^EFEZpjl#yMh%dZDj$>vj zcXlcZ!dXo5V@|$1OgOSuN%w8YUC`QVf93cb<+?(>&q?8>ZNCXNrBX4>?Pk4lT$|`c z!?)M|WaC}F`zSx+IIdwrm!H$~GYLy*qSQQPwerv-c-@|wvCUWp)wE~JH}O`Ip=7y_ zHX~ZPX-^2)z+>f$Z%b^Ryy=F4i-$w5mCSOzr1NqjPi2CIu1yP_(XMlJ7LC~I>(eO3ETP_MGgI^I%lkrru;i6_V#)}Bzl{-=vveP?{lF9Su>90*z$M( zCl`v7202X#AGwMjPy7t{%K}9l=orJa>^=5H&aj2#Ju_zLb`u;qd%m~i)z0QoiIC^V zo0m0(aonnS8%%pWs#a*$*Eq0`RZCPmLcP?j$EqFe#*8&xN@hOi*Z7ILmPxoc;(GOJ z`0>u`D0t3KKkRxbJMi7V@|>R<-W73urJ7Nq#X|P@N!U|ntx)N6#fqS_yIotjx%L&y zFjPO4=-i_dbnCaR>_4O_Js~VUHEjxv4Jc@fje6S>yF>SfLlQ@ARd`X;s}kK)dM)0> zd@VhSXZsoWD08-|$Tk%lu-z7W1aV+fB#fkMiM?@610H4XaO7C$F3)I+^ocFi6%{pF z<~jn#mNZ@!pW);+!2N_jf0jsTCX;-?+-!&`?fY7}aYvG0sC2L3@aFXlWrRl5=;P#d zPE#bm0;iq!wOb;eSM>JVGTh1QuhCv#rblv`5`REArwo1v%`A)EC|7$(-5a94PBE_7 z%@Vb`nC=DDDyt8L>uB!KoBv~1NQ`4ZZE8|3|=7^LFx z=)oy*loYpAm!wU3-)wnkNO|AAK6CZz=u-{uY}>mm>KBE|jO7@(wzGIyXLT(5g07WH zj79k^pV&mON~X&)ZQe(is1|6XY=VeXgs^>%)rtd$!StcPpCr+@camBQENU1XVH!X4 z3R6r>IrsRzGK}hPpY8zp0(88!rnqs-&UV}unZrEe#H2nk&CDQ}UnlR;`EL~ZYfMZ| zf-bTOihe=&!7>V8m4-Lcg%X*$a9#6@Zi{Da{G*s+b^mQkozH=pSNcVYd%)`7=5)l> zq92RONYE@x`HxjQmHh zU*L->-=x|X<@26NwX*-{CRJ{6F+SyPBD1r5Y_q@mLghYrqz#OJZX0eVo?plQx%jIpL2w`SBuGczb!PJo)j>VcTZKqLU3hQ&wNSW4}!2 zjWqY+c_+4OC}@9j*rJluif@Nhq;j9-XY z=50&ulq%nucRN8oqr&FJfn;E{gt#NGWcB4pj{Bqu=Uk5abUEkTr(BWU(gg0Sg4TmJ zwE)L)KIgpigs8O}z8gd7p@)|86|an3Y0taJrXynWs;xGK1?z$Yg_ zWH=3UST0T9mM&+UYUvkkS;OZ*vgii;cyVyk?4Y+@Av32{%_w_kNG>H)W(;i_Tw=We|aP)kZ_^kz1A==Ar>tGV=R;p23P zfcEL3%*)a)B#$L5E?Alb2xQQi!;rrXuXbcg_MiTq_>q5=@C%D2)+mLbfbBh&sx@^) z={z6g)UR3zu8#NLJrQXZSM0-!xdhH*!%LY21%8f?kv6c)A*GfIE~Arp z=hyhu@26(!h~X00F3AzS>U|-lwrMGML_0U6ER~CIfi7=ouEgQ9Z&T(C=)V}a@DSbN zmelsPN#hnz*RQGi%O6}`bx$|;sXn!Oof(#v#Hb+jWIRk$Zn`PnWSj60j$}pPb0B^m zA+K^ZC);hglAUdjfPYfsy>dqa?-KijLvp`_9lvqZyt8 z33~_r{;<0D+gV-q)b{8(9oB?_>Y<$|0eJoU&lNbj2=fIKfk7r0zqkh41a(Sc724vs zh6z>st#@!Cxu=UHK*s7}hhBE097j=YwG8%U&x_`TzSNqmZG^R5i44`UpL&D;lyhX6 zF%Msr$N}jg9rJB&MwziHddZc;4p$%gb!NA;zN^tYkvY}7Ds_plH4Ve z+A5<83y;SbM?puaoWTgXE5QHMSV8Tf0~gPhZ!-2@a)^G}`;Z}%SpHvfsIBaJW@}hG zY+)+}3LryvTj;6ONT0RWDyKWd){T6^r?Y+Sm!av&UEjIe%*;{ePi2&S;Jh7I(@w3Q zGS_h=K^@$?`U#n1el@C}``X&I6zGcL@iKWr90O(}A|JzvVxscDwoDihDwaA-H(F#BZRUOmql^%T~vx!V% z)}y9q71=94J!PVCRrCUfF0zq`O=XPM3ase}{TLc=2327WAi#J6C0xr+(8Dz$kjpFi z2kUfIGbttAy=!=EP-{9a&@-(Bc;3y-RX+UU>cz9+2mM9G!Jk(`^*T4V01&0cl2q zNW-LS8xqnbAT1$XBPA5+F+?Oby1PLM1&K*aT96PJLqI{8#9+WX-+w;mdG2$!vvYQ~ z^Zf3;-+LXq!5)>3lpp*?rBx)JM!av{>6ks(9z0tsQUw zEhLUl+rzrUn%;ds{8?KqqPn~{sKR4q2b!3rJ$^L0;h4Bz34J1V#KAgSUz+0I6bnwe z507v50PA*V#y81<>9+zp$=zJL$1vp*lHXV$gcJKi0e5D_#HX3C83eC|(&c&Wht6ntMTp zz9*RDf#xZB*gVp}hTB3mDM%5G?hALqm#B z3m)?e0B?x|uzs%Rt|IFhyYrmNH3UXtknKzsp5*+U(z5Nv9T(M&V*iI^&v&(7N&4IW zp7+H@+XI)y)-Qwd*2F5XDNk>GC8yynWp(EK#Ky<^fz{lJ+o5(fGUyJd`GGhZEJt0U zB9O6)Vns0neBYJ?+<(^@634e-Cyo;e)<|X>y#LfRCiO7!t5C3QfKJQ#Pg64A&JbkD zf{!?kw=GLg$zx$dv66Bp8|H1i6Yk#>5Lrf8Gzh1MEB`vQRcUI zq#lNXE$-Gc&dg~>%hfj%#xkw6o=BK~yrOZYuwjyC3o4V&daeO?PYo<@dJYzd%CJCh z|Kf%l>SIE9TpJm{H{@wgB*?~`@4}Q`9^~ADx;E8-sR8_$TeZb43$}n`{j{Eef&n|8 zoWm5@En3;^NKHqVjJgErh6K1$4XG2^gwk6UNV@YO*@RnF27p5%eg4KC}CT|4oXO6Azl3#bD3I99OGIhDn#1p;{B94o~UfcntpyWmO-1w1IvRqHI3aX4qEuW|C z$TOQeJ=?wJ8H2G5CMCb=54*)DOlC2(tw!DC4VD`)^HG5b4Z*&hk8P?^w?z3FO#>AB zU-2}BAj4mB=De+4}%!h@&TAnJNXaup$ z7R5)TU$8RAVP-WT6U}JwD~k*!q>~ETkI7a5b?YrN`Gru){U$H4+*Sx|^v4s|vVxi; ztridTY*?|CZ3-~I02WTmG;Ym93^dxg)HhRu>m^_qw%r)#RU16{Opq(j!n=8Oqz3Yy zmkeBHoE`HJmgiMGcP1_;eckGX5oq`0^4W8H?k$-uxerMbnMI8sUi7R!54PCdets;a zK0}&vD8XNFXUVm%weq3Z0j2B?^`i?79a|JXy8NLSj<~-+TA{t{GWei6kQdq)ke#Io zXP?7&e{DFg6``lz?f$LwG$^B11Pqq+VBu zD7nPJYDX#D7+`K*O7Ilvr=+A9#k`o(XgiJa8_-X@u(4O7i|pJI3)cY~4n(!#h-ff7 zDx`Dh_f7hN2|o8X26mHnEuP?9m0?4jZ~A~+Y$G*zn`2r?UfW?_>i#!T02d{2Y1NDH zv6qLuVVnDIVO{#KXfTCrHdIBrAsgaj6rGJDt$7KEw#R?S@3WK!ENg7at46m3gMpv=e)~iL zLnQ#XA8!H69QNyj;(&B11uzG@~IEktT9?Pu)(u)=n0VPtM)7pXr#EA?RkYlD-} zP8$`FZoen@_6kTvR`-jIyAdjsG*BeriydG?F943~{ke4D4^w~a;IBdrNtiqQUL+ja z$(#iT6-wVeyOh@|!(`-UChcofi2mLEW}Wv$N9smB)`VL`_9~|Im_vj424vu-BLHe| zpi{QlmLYQoepI?q=Qz_og`@uYqY$ zy6=oRcbs7oW>Brtc3HnGxnrQ&mFBW84@*f*5Mk%Hf=zA~c}8SA&_hMsf~uzKc~ zcBA>J!$XxdesXrZZF@2i;s|(8;)nf(Q}1!qM0zoKdaNk15|Aehp9k&_(l)4ULm)#StIHYM$@jUEGd@9^$Z z0MGo7G4U@o&kQ8(?jnlBIrc=IBvmW}l5iP6zn$BKyE1R#R%(t&{$yF3UQ7R6*K)?V|Fqu%`3tP{|eQ2Lw+%5;Cwp1Ui(fFcXqm+@KIPki7)6-&DZGQ_4mf~Op9ZjBz{L4fey5jS(H)2nrB384@zs;+rKNT@!Zy^zi@#rcab z{&R_>VXCv*y9n3WcsCthsZX|mzs17nbZ3)DNbbQDnDdht>$Orvi4zD%0duzq(Bf=l z->Kt=Mu7F9dcjPM-lIKY<%#t{X+fEj)Or-#T$0;t{+tpGumw2k_N)&20IqzR7;taJ zBAH@cb8>-AxFq&eYutU*ttd0FFhA!xUKDV(mnGf85fWuo5({mXn96CgLN0&mZp5~3 zm3@UQQmulsQ3O1Gzy8{6L=`3_h<;PBVpz&y94HELrvTUEW828&jDy)(Q!tP2l&QQM`u z1wMnKHdJ1urbiNYEmZ&#n_ZJ z`LBvGC-zRKq=4-njKb9*!UStCuab2rEvK}gi2R1s-Arc|NIOwZYkC_{n3CwLT?haKlb~4y~ ze8j^lsSbbH%?mF#+%)r{Yp8Ou8_Ro^a~CJa($<`^#3znLz%20`ds)up`!4~V?X`-r zlzebM{L8DHQIY~1U0A1TjEGGW>l3p;H3{#%woLOZo%~G_qf&7+7HvfPt07f z&$|WTZPDwi!+z8H>yc9ZqyX*#N#a0>Z**!{jtCz3cbiR?Je+?i-6C9Pi_+eCX!Q63I-zKT z$}Ne!=NsDX*~E1fF2v0`OxD4*)pA8ryh@-h^_y^b9HAD=zCQW$%~0R4>gNJa1IFlt zGz&qi0LGIOxbwWKe?ARP0BlZpQ}dI~JFE(tc6j|K`z<#XEso7;nJpF?(AM5H%Z*Qp zL-X9w8zmm-$_)Z7eMS1f@BAODuu^e;w`B-&#%4SssX||^Ic&5tZN)#|&@au|&ogIB zrl3q4u|_$`+6$Tsc(p&B-$D=qivKZK6YHy2+&aA(=>IFzb6*j;0t%YI{Zg57fA|=< z1r;9e`Y2kQxd57or|f=-eS-P)Ghz<_I^uQ94M;rEcC&v$XvguZjO#1yuDSF+PJTaT z@zhky3JMC&*;h06NF=;G6D3@OFYRwi%z$tk;ImI(Qy5!GCm!Lj*$ZSQc3JYV-`pbuok-UgvIbV{t5+Pp2H zejo^Y?kzQa<;^ECb>94Y30ylzfHi=t=k6Fm%(m!g^y`7?r|}q%@pOC&rWvbIhsn$5 z!pWj$l?+dl7(I}J5sxTj(I&kTF9p-DT=Giws<6-@pHfqt(gxbN8j8eq2p=fDR6_N5 z!R4}Yw{Fqs)nTEZcFWBX*-N@5KnbWN+bndDrpydsL2$I5OlY>6r^(K(Pg^Dz?Eqeq;g=@Wws^VcaX3Xft9#?jF9M7vzx{D-^5i< zSg42>>_lwR;Z3*hMZ@ibdJoWeGr_m=;+4Rr?f~^!e0Bn(5h5C2$Xkt5kKvCw>}Ny~OHGv$!rt1aFMy?0l%Dy`$75WaKDV$L*s zAlYACnKnIQtsj)Hli^Xl;n`hZ59}RE->Kek8>_AYMhzw9R&V$OHq-$xb@~>oGe^KS zpdfly=uV}9<3^C}EX0dYSp$TmygV`!Ol&IZ-2up+$(kZchu*!a&Kwh(vJ8T=X0g>6 z_z(0|?EvJb##;k2FNG-GVsF3f^ z(v19~P4d6|WRz$D@aS)Txtf3ct*3uhI?JdeXQxzdM?TYF^=5p^!Y(C%3}y3;YY~t- z$&e_-53w%cf^P@$L)=pQ8PI7$J(AjuEhG|<@ydNhlAMrbIrb`Tio$XYZP;Dd@<@rVoe{mw)Qy)HfEg-G3NgPBGP zLYPY!;A4191DT8LEAE4u`w%%NIXLq;0OhU4i(i7k*@svGP4^-GY-m{PZ$ZfY4F-7E z008wI;3E#vOsL(W;iH7dcJQN|-e~(jC`tL^Iim&d%m?68%E5$cR3+iI=AmyF;8sc# zcrWTrX<-v1Wa@^LA&(OmJXjVW?DYh6NOf-a`SdlQxCNk1wJ)b|XbN}K2?ne-?hmG} zgN^TG13p%!V`Pqd;wNvShUwsMWcp#XLz6--dLSv$SEXi=kS{DY-zx)3YMbsN zSaV8E<~qw2H&eoY>T!szde}^ymMX>!g#=!D#QF5f8sDxmfbu!P0&_!RdX(~oH&Y#R zO(unsC)hhd;dczQOB`Up0nvNv)}}5c(mF1$9u~5^uJ(%O-tMNY|E^Ze771Gl7llyq zF+!p`J#l^ek38-klTKWfyhA)Msie8!T88kqF;&NC&oW|z9!isS_EXjG_9 zF)~H>Cu7{h!i67yC38J;&e?vqRrczHq_ABJ*uq~IgsFgInTb7*4*$w)WTb?OqPU&J z;FB&tD7w**S8OJ*JF$G7%=r#F3UJ$f0J*d|H_8s8lPY(g7t*8$jAreCEnRY>6gJ4= z>uqEU*PV+G*iak_v7i@va=pA&XI60c+wOvpvsaBk4IAlH4A{Sx4@05Ql9~c`jmiQn zjifpoP%2Qq5PLwu1EmK2QHE*jxC30SvH<;+vCgmiYJIy71mS(dU&74U^fOw+04TN+ z4)~F<%S>2_D7>GctYz{CxL!32FvUU(lKR+1eX;0~LTtO$`$qK-|Myg3@C`d~^C%gp zSs;NO-=jl9-)H5Ye{ydZ24jIxvwnwpiCsG<4yXA1jcfkIcbi?_fE$0(2B=7R1YWr{ z5`~cU=I!cye7xR$zyfIwfj^O2;U*U+wNQE{x_BDvyiIR88S_LsijVcu4xXn|{50s* zs^rwI8fijWhPb89tcd8Uc=Yf{CbtN;x+%AgassY+=jOv|Mf!934At*_R-S=s#>`Sz zQeAwWJ3HyD~+It79_rdk5}Jik=#-*%TkEo4pM-2pnrgciVOz2s77 zP1eol#4<8JL}0$F3Lvjfcirc9tHrQjBJ1mkk8ckXLG;qyal}7KK45763t}zoG9(C| zlLdrS2n#xMwPuZZO+l1_sPU)bB3%nqC11wlS*eXs`kZJ*D!@y;B4-x`plzYGWv5jB zdx#N4pvBlC%UO2S6Oe!}&eQeJ6a4U9>vFO1f?c=)->>hQ@%ekih>7oE4kY{=rjjoN zZY*cWiSJJ-+);*^XLs=FGMgo#|rlO zV$a!+ICwY6^yZk9@~jcn1JRQ=CDyF<+(zdSF@Yd@oO&;)GG37!Lj5kMmnISdnXbqN zBsm}ZTjf<4lJd@>!p&nbp6QGaNxUmHUdWO+T4gXe}mztMSbvJ4o+h;LTyv4KD zI5#WR^CZmFKbtdaWi!#5{Q0aDjvIxvg{zJetdZ|siN%w)Eybe&sVxmDLE~)X`Dgdh zlFO%GgMl77yE&%G)o#b1Dmjxk?=-kkPvxJvz8jThXjjLcVa3D)Zc1w;dpxc8gVuK? za979R(?P+tc)nFA3h0?P&0MHwGz*=Fz`8ZC!7HA_~EBtN~z;C zxznEs@^%uul-~fdW{7fER}qfek!O#G$xBPIGSZ@j(k;n>xjExiK(_JmG;7m<7C{|- z3BG-uygUJTQ!>B11NG~>E`8diWs1a`uMeHOORpOJ33G-ymcf+)ZKGwK6aR?*q<+xc zRZbrIPUz!mdZ+n!Km*{a$D%aLiUiSllGG|CT9lcs2-!f|sR{5VhBtsk0|e4TT;fZn zzdXSbZ;(o)o2RXE68=FEi|-n`fGX;) zu%a|W7%TAx!{9t2IeS1Z#ize;vgdv=5?-k|vgGp5&MEWHZdlwBT$mXV1mdS7)@zQ* zX#94EO?y2vBcn-2!;TNcrUvNge{=rz$QM_J!QJ@UiF} zxe7K(beo=ms%c3Uap#>FkyYG&d~UxvkwYkEs%Y7HQsF?0VO_kRmW zl|O|O)PV2WmYji*^wJV29cmW*jqcjE^V?l$}a| zbR8d$4_YB6Wj-H?4Gg?7x$Ry*$DZBAiYU9eSuu4V7e5D-ZFpuh)17LxK|ya!>QRoh z0F15~R7=vjUTQSo*ekWZzUEr2;=wtf_Z*ldkVm_L%^BnoB1Zf|sH)WyRclItL zau!#U4z&g*9%7F9)E`Knzso+ab~E9^x!MQSA4?V#w%{cMS;>z6O5#pT(B&$w2T>lx z*D;+}UF!s!?S%R{0lfTUJQG)flQi@j>ur8qkZe=)=(VyGCi9|0tJE$72 zKCkFwUABjJR*YYa3tpJHyBQGx7Ui|dO@$=(K%F0&qO>h4tkaA1FGg@_K4yT9(MB}`yt9Ez>qgf!6O_!BBFQsXsomi4SZp>wt9F8{<|U^=bIx97_RSxyx7g|&mf zxJMb3EU|4mf$@f07G&v){b2O(=Y%)cn}@~}SAvHK*-(Vl)9zd%A@okHm{Iow+wa1T3YF&F~7K#qil(z;?faX1pR6_jH{MfyU^ z5UEYuwkjrRgcY6~Nv^%^|F!nvWacoX>%K$4lvd8L%IfcyA3vi(jW%@lCxT+b>tKrW z5XBC4`qb^I-(j!V9t7Xaw`qrKd4!Eh1wuCeST>HT3o_L0cx@T9HK zqog1>sjE2zoE>Ec5XV5B=ki6i-sv~rggV|H=EKJ*$)58POWN;}UppLQS2nYiN9Hh0 zZc~Kk?Ral}GYz8ov(#Oxtt{{3IJ1V22aIl0VltSIrXp&zdt~|?X9o0qCCHxl$V8T} zv1aGN4Aks$Uc$(}5xc9=JG~{wsP6yTe$g#Q%nDg+0e!{_F(9;;h)g{GXULVF@wX*foYkX;h`_^`~ zVu4=LMD6u>_6Q7#l*K3k^#sZ7p{yf5e(U0;(SAC&2z8$_+PhC+JS!yC&%w zNrH!WURBzfg>+y&@Rj|zB6xj|w=dTw!&%}U=sx$_(K>kSiDETc`aEOL*Y?sQDz_$$ zV1bJcn9aEIIE#N&vF$6!N_uhT5lmqLx~y3cee!$WB0#TmvB3v>?%QU+I`$Fo(bt|QTFrUzi_3_ZI~mBvrF37;qw%!5uF|IC}}RVh3BQ~(AYl`bwr+NvLF5@ zA9J6LZ_oSognm>h7urC)*RftA@3A z-5x|%wy8zs-D4j0bXf|g?D;GQ@Y|RBOApEJECDBd@Xznjwv*2>h*CP>d&r&MA=IJu zyDI%zmzFZnK+-*tSXEaX5Kp8dIG%lrb(=8q`Vs6=O48%>mnJFc|2U?xwZ|=}NOq*~ za@F|AQbGGmnSX&VV|`r3vcXyz(lZmWKx~~Z(ttdk;9+A|HS(zfP9$ozl=+)Bgg;!` z$OqrCujWL2c8q1tvK;$ZSuu;5goqI}culde@UQ0de&(Z@rb}NB0ZcRxJbcA-1glPC z0m~u~c;c^70QseuwBX(A;7bd&xqOWo9pldOf#0Q!&)-(nRnRa0&pRdk{v++ii4NdB z^cz5%WwRcF-2HQ}%Z?scR7JwXO~d-Yu?xsBMbW^tvy*KOuq&E~Z{?k(2ofk|va+bG zvA3Rde@Q$~vJ;)5m`;-X$Hd70X(c*KT#saVyxjg=|35$dPt-qZ!Oi|L_kVsAY3u*X z>zrln5S9_xMx@cxf23=)u6xiU)bWp%?f=Nq^N;U3|IxCA$hgpdK5_5bb%?a=(CM*r zrnQ-?WOAkbF#nIB`O5j^JN-U&)(*Eb9RJbCnMj?<$bZc6M-XY`j0g)F5z=ii5gii} zssBfhI+F%!*1@qLkC&{2u|YfdEF&>{L3BBSr&0Q423jb%-UR(cZ~ZlM79{_ZkaS*z zgt>sN9XKe6AGiJ@i6cw!&`F)#|~dC#^*PsPtO85sd4 z7B6OlKd9SDB}eS41fCb=Pb2LXl_-I+gDj+4`TsKK{4axgX9}Ru=~-`Llw9 zG6J&`lx`b8a()eRd_fTYvTyvoTJUnI%-qsYX0>c0KCBoqwh=}84zyNez)j;Pv4CRISsfHmnY>W1n>ZUsKpW(skL_b!D9P5J|VxRgGp} ze;tAK{ZWxAgHQj4W}nhTVz21Va|V#f22(nx9Dl~f0vc7lM5i8Uyc)o}WCj=K=ZzSC z_|-)xra@gPOG^0&h&245H4q0UoK)pJ3wn&e(f-3HM}m6LECn;=vUA$`{s@J-MC>4i zJnN&Ow7-1Uz5R7{GR&NMAXePJ2Q32M#^H!PdPp;NV2kFU4Dsv2p)m_=12Vi%*8FA;`RPvD!9ZJfT=Suly{vu3Rwn6?eLCDd5<)X6 zqRTnWqkRE}JIHO*mT_)!7K7e|k%Yg72_1Ew(4LpfY^-Rq&+KgTOlVa(ebaoB!2}<^ zRkY$3yxXy%cx<&`@>!?K%|(LF*HT$DJTV0{)6$$R6sdK*?j)kx&mACPwEa4a`j}oe zy;Au%KU=YMRYB&RV359Yaax3gu)6< zFL~BajN1BX*P``^hcXJ~<}AF{>?TB)A;~t4?8dYzruSNJH=66T76?n|0o(QT4G-n} zMn5~P(;vOj5tJE&G~4~XCH3duK1HFPGbEcOg#ASPfrNl^O9>L3pcK8wJ;VJH@N4fJPC~yKUozFv3LA!<-ABBt;7>enee^oG zVs^nZ5m_-i_V$6{=-9sJs86f4BQc?U53{;)!psLF>AO5||e_vNB(1hJR z%xHYceyOw6bx#6mYb;Ge>mz|uBK<&nA`QFVf7QHK+AW3<_Z5?q^}RvfS=%nFW}0OF zosD}3R0F-8gq@T!bRUy`{O6f0TJ7MnI@hg`d*0LyRvD}rbUSfKey06)a^bz^y4W7F ze=^Q1?(J6Pv?T-DBY@o-WwtnNR31_YQoS-$vQyYnol2nm`>B5>zsQjm_;T%iR9G#; z$n9}*rtid5yiPllNE8oG-Uj%UO_=F~%~a0o5;hSr0A7AD!@Xlh@($C!PmL3c$Oy+Q ztH9KX8Nz}0#J25dt$4(CVGhCLZ<>(&0N{2qoRLLd%saV#0|zZyy9GEl%u(rRgq{D@j0-{-brk6nlLPfiQwFN+QzW;zrfG0d_G1648%;%>(Oio}kW=foM9eZ$;ZRY1h9+=o{WOIcQ2?28GGR}Q zD4!$xMHCSk7+F-G;1rM7cqr)fQ+-@#dqW9YqMtV&^ClK60jOC%O@Ao~eZ-?gQaM1l=B_ z0e#tI;&&!^SHlVlWf%S3yfrR}bXcJ=?9V+pc&U>2BU6fSA@H|bzzn$Y$84m=+4;fKCXIgWq& zb1F-atHE8K{h1s^+dH8Z$C0mCE)9;AC2O62^Wg4C{zkZMeVx_!?>-@_lU$PvPmoGJ z(x>n)#}2?H-F(mMKRkdZ?Ah^8gg3O|uE)3NQwW zUd-<+wd9!w_J`e%NX*dbWmUjcAmMHzvDx_l$DO4z=?gQddU zy8dWRJy+)W{-TyvxVPF!R9h#oU+AAWzVs!wmj3so73strNG_*D(etxopwt~+XVum= z9rmgGpmhLH6F71bQ_IjH>(&z*n|4tr{Q-HzJ1XC{e^2Yu$7ANU5g{){S3bFOwV_x2 zjV4@42cBA7&D;i=QQtCuh%X=3cdW#EF_%ob)9i-qcvEu+$OsyX=~P(QZ)+v-<>Jy6 z;wF>=FX{H%qMp;KwpNPw3!3W$-QmWNr0g(fFhXAX!@ZbioAxkBh}O?&SnQ|$_rYW$MCmlO-CumJvx&cIb~jC>B{3p0)fjr@*@%NyCcXCK4PfT>Ulc!W9N6>dI* zZ}3*-vGecio^_(gCs*__^1iyy|MCkC)`yl#!%TQLC20JvD~ii~=6m!apH8Ju*_j$f zj7a(fnWD)zI)K$%p9@$0O?^&BTMqNT)oI((4!2fPt`n8LU#?$m_+Nu)PYD}kYstwU zXxY+3mz`x4S0DF^@4zdowQZTHS}RA3Z|P9sHTQb&Cw~HmIzZ}QlgS^jpFA@Xw*hW; zf|AP@Ot-2l^K66alL~)T2k6U;7XjzBw%Dr!Y)Ljv5xcyAik&6e<$$UQs!56Loh3$d z@7XTle*c;Yamk-Fvt9f{7e&AhZA;GCF7fhBBg8{TW4qZdK4z>L;)A2P%50aYImQGL z?&uIT+a)N6u|S+VYG0r2l4xgoj39N?RG)=%A2XRE5*%%KW}!l9%*F_iqrJl{6fnVT zju_^3d$FU$Jh=23=X{tbwEHh0DR{2B_9TjThr3Dj;v{_S5i;@Z^_^dl_kpC9Ehk-M z<%VN=yAUQ zs9WWYKioeEfl2-OSOa*J282L;S18Q;Gb`j^C%iNInD>(2aT0iLPGUAcuYhaNOD@}+s1T2MZNmHtiTjR>ZEE%T?)HY~ur74W$xIa7&5 zFfphk79dz~nlY~iw~`RiJv`?0!rGs~XXXlZ;iU~2knv53k2bGxsAgJ(fM{bgVBg_R zKuqRBbpjxW%ifqB%qF8eH>zF6}Auy&^-Cz2HMAbC|b59E;$){n)OYT z_i`fW{SB0RT@^1XZGWYd2Bs=jPz~35juR+(f$8Y?0Q-}J|LO}0KSKmC;Kip4F1o=y zyJ>kT$8Prd&JuYwia|mEKBshsM)M?=YL)Zl&w>}SIKAp-DB$Gw7Hl<^rie^P4+omfyING+7+sq zF{(OA7N#wk)-+E8ligQXnKn)jgGak9*w)r44+B_MbI}foRSsLVL3qt;Y-`7tX9jLH z_1M7nTz7+znh)5(jyvPzP5o@dII3frNBnL89oI>hW?gaWjF7jPXQ_@~vU{5Q%fWyt z&E4`gn*g!hl()mpQF6wfdro*c^OD<^Iczl(*F-z8cbdLDo1m>B%Hun%Jtur?GO;Pm zXU`^tJS(v&ZLS^@mYzjey~g&UY0mtmA9{_)?i0?tu~@zK`|`(Qf9Tc9ts3st@X2lT zv8qTk(2$e3y*+YckPYaZZB9%{3h1v(%We58CF52k`#6BN)-RXA;rG{krnvp?8u_QG?2uS1h)~j=uQMzA#&Dy{ba?!XvrAIQ}tq~!s!lDU*1WoT#ScwreH$HB2 zB%CG?u2RzT;tiE~`k-))Zljwi>3ibyk0QKNY$?z1)tsRX75~9m=*R4(kW6tf@S|NZ zDF*1ok(Rwhl7eR4egAf=Hb~HNV(hwG1d2*NXW4E%Vq)J`rrI+np;l@UWS$dybfC_qNmqes`v}0)9Gxoi$cuK?OQtmYwA|p zsDs{02jonDzrY+LvwD+(()(8Y^sq0sGtf|U^|JQFfG30uPf@p;{9UrVG5p}(NMw!C zUG&aYZ%vzZ(81q}F`4fUwn~v5C7jmfb7z{Kum6Fu-L9>$hg0E&o?0{a6F6w@4xnoV zeE2Ol9iz*ckf+r2*8RD1o7_JHKb?8wA0K)Yd`hfhl47I@>bwJxA4w^~0mX)$kW}5zDi4sy2h~N0lDFqCXsU z$joJ7Qq=A(+e$XOhpObDmdAU{s!!d>k8t9^&kI{iH;HxM%*Lp{XGbb}e@o^Y zP8^udYsMaF{@A0D>Z3XDR_%%Ep`rY3*kHdukXz`w!cJO4seG*BTy>B~zN^_B4UOc7;6ya*|<0?WoH(6`1g}Xw_LV= zR{{88*A*?W+yDtB<1i6Kr{)Sw|Ij=9nzZvUKCLQ~hC_n`h;QYYDM}WkDx$WHn0T=B zbg?EuZ zQ0f{V@OhsYX1ML~6|;7-tff4f8k{+m%RASyq`-|2l}$CzEttQGZ=IvQ%b#*hu|@c>%w5>dWT=Uuzms?{XyATz6M_Ny*(v!SuYl(>#-UVxo$nS>acE%OY zvoKjfi{=nJ%97%zO+JcSBvT)m&5}BrwX@b&pU!MHtl4#yF@WVIQrkSUu*MZ1%vn`* z|1kDc;jv-&2Smv>72RmsdcXX6 zEN|pyz3bzGS6W+u)b?d+`r&iYpdFrKKFVSo4PrkcSm9PCdVuM56jsi~~%yLIP=^R~gH}I?Li2 zOfpue7^}u_>WIS25WGRqOUZ9x651M21^D$irYdv|p>U)Cn14G)2IBzMO+9kB6%&D) zh7labIk@#hH9C3KH<;YNXbw3tSuna!+~szEvpTGAefVpGalytUV~(gca1&>89~}(U zMn=_uAFf2k^2(nHPsRA?7#AXGYDh}?R@0rA$hgcY!GbCt#k>#owR<-OVflZZyr;4Z z@pLDD5`A@UOr>&ZOdY)ERSxZgu$X-v)(<<-1mB)BDy5N7vdZA8W85CqEEn-Fui?GG z2LQ@$pEjDS-9FTqW>i!)&iK?#4i7J3Wc{+wZABK6z|1;vu5aOtPESg~oMfD?K90u$ zRYebN&L{gLT`@of!>v4tE}E5B*`2W>l0?%kb@G zLk&I99y%x_({|K3Z&X(k_~Sqq_?s|t%cH#Cyd(w-y5xh;WisY`-uhN7fa9-pk7kI@ zgM+@ys2+${LPS#f%uzJoWlT@1B;aN~IuiGpmu*20K$F{xAK1cw=heVrW-4Jyn78XoagEhQe6rv$a zFxhUr*P`lf=M{;wx=o83-Qki2*}9}*jL{2@r}2va>=hG57R4;R*JS51JMiBA zQ0gA~!9RHc&&nhTE9^@)f9}dTo!aENGMwbq$hd_F6Xo)Ge`{YC8+(~oz|Ic3w2MVxiUr8@Ie-@0l?z5|5^iH3|hDdOjX>OQ7 zj0X3TK=fL9AD)T>w$V%rsGH0}Ql0tfdB4`P?tYzI7`KrqEMY(k{?7sCsma7GI?C<* z^exK&*Q5XQ9`lqU7nNz(hA?kMvk z1GAATIf2B3I_2@IK<-DJczG0kXwzVz82zbR^1;qRR+EUZ0k^$)Ir8MsN^;d!PXx+w z2P$FT6Mwv8*BhPaA6gAdKDwAA2e^~hIZCLu#hW)}R}_{XhmwBCan+u+(XIJ5dQYOv z?AK;pcD0DXr;8t}dzC_Yu3W1rxkZn+MZf;qIDb2(dxD!OYn{?UUfi{I=k@7LG0z=2 z7ca>YICL0&R+jk0UPn|Pv-WREIFKTGT=}rp@n%F@mRDQeFw^UC)!uw!P^0is^X;?< z^S_rFxCR$X4xRYEj1ECYm2x-1g0}=6wk9nLhRkj{)2R;tmpi7>)hxL zIPr+I!PKl9|F-GZUL~vCIFAaKtY$|)v=_lJA^BYrcufO;QnSdwFxD0Zgp< zjx*|OD1A7^6Sa}qzURnD=_ zx&iU?jqYiOk7u5cn^+J^y4!fU?8|i5dyF!N$wSaT{#dAd(Z@D(%5#X3j7V~}E;5+i z9r3f%pgaD4>#pYwjQk2zwr&@26(xHV0H^s>8B~=5wEDZ>(A`}8pICVcE8Vyd7)E+tSsSJIZ`18xteTEguCEFDus_GW{0KTgFAjHP)^lpJxVG7icR1VM+sBKls+OYm)|A$4&Dv2y zs8M@UTg=vMY}MK$iCRIdAa?D|x3%{QN{zONO^w*&Nq>(&UODIexj)I}a!F3kdEfVa z_71SX%r{IbPv3vxqn`9Vq`oc~KB}a7^_~r6E4{zF0k28z4pLy%7EhAJvVOJPOxboFBZDBl z$Qfw7(<*OyqQ6Q|R-zJ3m6DuN%eTj^dGv}q4W|$gvHAnQ>WU)PZOV=)^r$acEa@;? zFkAFuPd7K2DY65Go!zm~<27F407z9|v}CU?{uYLn5t3jIDAibN?WcSq9jz)W_NIQj zFOL=)ngz`)_ggoX90_H|AuH;xOzI~oIg7y}bv{)e-hIgCn9J$gGF3ke4FMt=7kaPa zXQ`lnReYW}pVWo3MPkI*+u9KJSoRNTo(EN zQT{o7WfSOkNVZwIb`50luM|e=?nyE<_gGR^BxU+Kg(Iq(XpoF&-tKlUt*0Q^`sF4%5!sNok{EXr??_lSegI1s0N(Z<5b3WZi zIL6AA^wAe=EQ%{l{-xDC)CSAMm9VB#7lh=U5s80ZvUf5J&Wl#j{H87s4*vN{^?8=n zC16upB_2}R-U-NBI+^(LnLVKQ#w*E|XsOPx+D0&ITkd3Olc((bu9YF7NgjN~eeE4> zAzo!7AC`R~uvr@a29RS#Yi0OAEO_oVVDH-JYlOQ9RX($TSJi?VCFcvXV#g4-3&Yi> zbHDrj<>j@yA%Z(em^DTpYMhomX3*-jYIQ)<`4fuBVdI=`vPHI z!FjXkzX|2mY0+#|kZLDhour4OFxgY(!$;!bu0Qp$fpG&Rbc85K zfevkif!(BZaNb4&lJa+FRBFt)7B2cwUEKH+xce!11G#BKaFUnO!?>LyL_xe9f z)LXo|mDWzEX3}e!2&5{rEuKs&^fCi+f11EAO)UUz7ks)vm)Mo==b(GeOOKl()bMP`ho1oGH`)zFXJ zpt=n39dkW&T90o|VdwyD8J#jBzn;6hjv0)q(?@@rrtkkN6!QgphpTwb3a&es2p&m% zgRZS-jduCMZC|^NqC_pbOSVmmS~gZ{LdfGD+-bqtBIG)M`lCzbGA}KW56Q z=2`%bl3-NZ-+NSy(Nwjee1k^RQ>zs}2l2Uda23m#!ujS%04L*K27>QWxfPQh6&EHe z9qc>+mADAPP8kfL&Q9TQ*OJn{wK;EqiVMiunFao6vk)w}BMAt}U7I7^+`rzGK;LKv zpImRMAiVIa$OAp?3z~kvbt(O=2=okLIX-q9u{7=#Gj>nH1UJKmQx8np=j+>;oKdNyu5)+ zNq6_8*DF0ic@&Bk=^XhcXNE)=Q4T6CSE4arjHHuVv9qYv1Q!N% z{xBT#o+1>qvaK07%&MnSo1KaAo=k9n-II5fRQ8$C;ySC3rh0vQLa8Mb(8lN0Fs0WL zvoh=n@`p6Q1>AEM6R~CiQ2-v^p@)rsPR6f6-?Jvz9%)%hZ? zYKOo*g8FXw8BZ>#g=UuS9jDK*vf=I@{$uyC>fDg~Zdt^`oaMwcP$S44mnpccK;MtO z9HzV}B^r~kDuvMdQ_PP|uwY08q#Wj&V7E;V`#mQK=DRBGyIcMzgDp9=nYmN^PaHGep`7>oa^0}En ze8o;x-IH1?H#hPfF_rlHpJoHP$yf3O)ty7;^3cb(@<${-$>=z}b{>UaCM8!f0PhRF zq}HaKWTN=6ZC7Y00mm^F7$^>hbHzPaqvR}yW0%VNoZNU2M^r;s0`_tB+;Hhj#h*@t zm*Mpf@^`0nN8N(Qjz2)kEX2%PU|_%TDpP0f1yHZE8zqLV+R~6=kjNlzN}4UFW!<>^ zf~Yw*VJadQ_ZpJ}lX2eq-}DdFn^D`kaI!CJsqY$+SJ8Anzi*X$XZlXki)*z+>Il8G zO^K}Ufh4*i_vb<|v-3$@&)&U(OZ^l9D@p3?#g^WK_PFfK+sU_dOm{OArDO1f^o+^^ zjp=$;G-Z)f0M*2Fk(26I!L1oC870)SIXb|kN9huwW6y$0wL=2;WSy89ifPUZ8@MlL z+r~M1UvT{)+vMHyZ7%6T(YnRR^|TReGpn!B`ToW?4NaLcm3M|ZsTTo!4$iielRBtk zO<4_9Xd!(V@;?qX*Z*w!H@B^&2Sn=zBO!F6bs3QcbdD-7P9%+nu-8=(2Z-<+FDC_C zR*}((YSvujtSRcT`eDcJU*WN#Y4tfVuiA%Lw5^$!7)gKrRm{*7&(Ay@gc<{->-j;` zC#!8{KRGlronL5RzyWAb7)R$ibZAF7{MC^*!?_$_bVj^iHC0 zY}@D`K0uPr-N|ssrC%$Uy@&ifM`X4YTbopm0nHIoFzOg>qaW6RTO20^rrGlgt&MsR ziZ#X;p@4u)?$@=hYB8;^jqHjIxuff^V-250J6wZGqjl;+9JYy-ukxl;X--p37Y1t! z!AR1JuNlA;!dqS1yXHnJyU)|?{offuhRzmlZsil_IS$m@5{Zg6>MS0UW#ff;4(q-> zmf;TZ^^E;^%Q(%BT|1XLd_9J+t%F_JeQ*=-=Qd)cplTX|_T`VRn0zXDWYnycUu)L8 zE*(EH0k>;qkW=S>XI?(=zQAIL)C~mbPMl0;DM*&nGIIZ7NGeWRC}T|Thdo{PUR8nU zB~I?gOyD?*l2sss38m_lpD1L8g@jtaq`{g7%#NeVu7x%JfI}#NbxnwOVdf;ih?j;#RN< z{EI#V3x!=`{jV}^1?AJKbl|azh0xOjJU7QN1uWe39E24!(DtNsX%ZfvOLY1y{99wa zaO9S1?JhVtMsEdEKR}<1E?3p;s0^I1oZ^A(OAJ@eDPo7#F=8Fgj>6+rFAFW|Kx~ul zw%E|f61?r)V}RM~^G5Bx-ns^GiMWw=vzAkEDjg(~#i8-t*QHvGR0uA~R13?xTVUxS zT|89>(Slgz@%ZIUWKKl<5bH-qAl2IpDtTOJU6GS>wc35Gam-jVd--y?Aq5n+>( zex&XBN5@(guoio$s06HLPR|T0wIl9~Vsbu4O**4>hoORE29WQX1yYsi62p6QAF#^D zy2z!vaEW2kotMsqie}Ta2NZM3`qG8Z<}A$gV~+3UH<#<}QE89=%3hIa6Xw=g+GwNT zYrBLSFKqYQWT&e!3|L7IApWVsp`i;xl zJ~6M$ZGh%rNVml^nbwE93}Kh~I~{pq@gAqu!9aEwE+c~izsiehq4=!rrs=DaiOgFz zp}1uFNaSRvxhoHB#&pxiyl5g-kPK0=)1erEZ}a^_i|`CTJ`C8IdyqWqgkGdOv}}o7 z0hE0agq?*SGxoRP<95itAKk!KT#Lly&&dG7AK$W(>`z%p((Q-geTbs6Q7rxRjj9*4 zQ5}}7{bjE<=?o$*+0;(Wef<44@gBOPLT%5S51#y@g#?vp(&pTJLIN8*PO0YZjTy~} zh53s)JDlhvfpSxY{ph7v!$iem=|`Cj7@iu-zbUGddtXSvCK){7%8$s*AVwED8~C}q z$cwk{(>g8;4g~yp0UoNSEmrxXc~mW{>9%{>rbyD5Mk|(`v6=qrt-*zrw2OBqeu zZ#0i5PDNn2{eQ?Ma`1cU1bt+H+(M_Ja3CZJ`85CH3G5gcv$fFH=Lb|@|IC4@=LuT2 z2@3myRS5Yt{*JTYsNT}*7<84#AVrEs1oy_GZxxr_Y=J6Bit{e6cewn*^ryT& zz3-UAK>Od=goySur+7hQLZIg3^sSpD6C5k zW(#U&C?-W$w0Fgd-PYB%+5?&1BA@aLfKvk7$3pPj3!&H;i_p6)#}`md4ft$_E;!|Zre%-Hc8jYh zIp14$#W?447i6O=`Jy?gNToRZA{Qm^GxpOTQWlWzair+} zrzv#lV@FFdJp5`sQ|zHC{T&%VtQa_3lR&GW=qwXKYsW6xZg(6>72{n~_1Wju07 zl&$RHhh5A~C}4S{AYXoix;!tReIIO4;T9K!G88=MG-_HzH;je%lV#XYJPd%Y& zdcAt4l^t!jNCs-&&;j%4AHPr9_2))7Xwq%uTGiG~>2)L^i88B@IUB_awGjV}n>?P; zw>`+v!qnZ1Psb`8a$B^_Q>vpE%AhGL3jSMp=j+|54>;#!eX~w zVm~123JBOqyT`nL{40pDzs}?nR2yNhez|jbW;1H%kgmkOhIQfDpaT8pu`dT7%u~69x@!o zbRLPBu~&3dul|+}D9qEM|19^=bj@D~u*Oh&(&+4O3D}2hF3cb;Z>gQ=%DdvcVn4~| zr~9{tC{?_De81ZV z8q)?R8I_dl>bB|Gf0qAChi}!Lans?)b37mTG_Ll!-f%O?viQtP<-SBj?t*FFmtP=JY_R~Vt1c_<_F;MXh;6$TTDgbF6bR>7;qVvq9jj?5}$lj}*U zEvbSu+1$r6S_=(a$9@LoZ5)`^)sY@gvCWgC8#HTlI6fgkx)6!Y2tlv7>wG~zl^dq~ zLO}za7w4}4;nt(ulqks!ewZwz5NBN0PSk(R9OF9e$2~jFUh({49cc7Y1)fnAN6u-6 zA6*=qUOpPY6wjEH$G&V!PwkPWcALCtie6K$wXjM6EE66)P7QZhn0WJc{QV@)MBlxK zGRTnmxXoNVJJ=^&<%mJX(T@9CvP(9tFS?=FSY6vHYDg=_kNve*)vmf+dK z+1w@NVYbtTsZp6DM-NDW3_i!(bVI03O}gAWb@wL0u=zDra8b!u`4?;F-?{CV#?}2c zlK;nCO#f+cy~TN)U+sj&`K2HBw~*W}n@^)z$4!FteED9WHrwv>Xj>7b-&XNnap%JM z@Co*}yWEZ(A*Avoj1VGu4J3pFgyc{z<3CYhty?X-d4=CIRyL?0_DzAU@;@}M?+Z|` zc!uO#w2sj22U6;Ad`2c_D`9za3Qxgg0Ys=}d_Gt{m{Lb!m4|(F|2zn5_d#ncJm`>S zl>A)KYEw!vBwvgpKwR+zpHE491XS33t~i>AjI-1nBRkiLBtHlLQxgB?Q=Y6tg0a8Z z+p@!@=kvASjae?_3;R7)!1I@A-`gI4%!WN=4@wI6U(6@G^rAU_gHT!Bj11qZdgA3T zTPmBraJv%sHRWWT3tYBv%D{PXBwdfW@_#I;vlegEnFX9{>JL2TH5Z-+>gUO0HL+)F zI8I&}jA~BdissA5VK^9jJo6UTo376~=rPS!+!13RwcIp+;!=o~uf9TLm$djQ2?D(Y zw8`q_yLD#JK~Pl1Z+U8jH6|0v6a-U!4)qcK6HiH(_-mgoF~wIy_dN4oUBjt zicl;tM4G6nAQrg#cdJlHg1GPIXf}*Ja$0m$=6nE{*jb!&_B!$2(Mxlpl?ry2_4kb= zeR4roIlb20FtYP>LI4HudfJ1`pH=?W!J81e_4lVlVC1535=d4X#J<6uRFwU?-Iv&U zS3!-k)TbjmaMm`+nrHNqocQ1-IM zF)#nnbTn&rxk%y^nol*b4Ow8$YB-M{^7fv8oS7!FC^BO5N3+!*SPkWVzfD(uN5A?ts`HyeI8O~G_4Bbc{rC%toz60w z5A<`9vt3^VYN={sy9o4((lc@5z&)C&{&4<|q!#sBU{w9&uPiqg|3c?s46n%sJIbib zAwS@Q<$Laox%ee|pQDGQO5N-!x^5 zCR_6ieVbiY=^o76(PS7Ps*-kPhhb%q3W5We&=qJ>{V>*g7E(Z}Z0BnVAsT-|R$d$W zP)eT;-fgihQELGFw3d@h|1imOOr0X?E>{1t{~LQ_{s``$nCkT=lCF_XjYyIf zcsjC*rlg1wDDB-8g zE4o+nVWKA$mT!iJR+~_F+I*^Caf_s``6C&?)YLA6divY7AUe7tSDkNvJ_?pJHkO$B zC9P9yaca|%WAuav&D+!8C%Y=*mpTX4J?*BB104{?7L1Rh8=D0Iwv6257X1^Ccn^8V<0?JR{=&i>6DWLYpImFa{f_y_wpZ;FH1s9>E2g8 zd;XCt&o_83k}FT~f0S~j)O`0f#-kj=bOzywh&nqf?tEA!rQl<%)3sVe$sf~0s&8h- z-)PK~W=jVuCB|xl#&d7s^>n;dHCJ58O0TA4ObtTMi=R$2s8dtugu+;F486bdT!6eQ|LGL_OF!*7WoGY~e0%c|a8Y_GrvKx(BX0cu>tNXCE`2 z_}sOv*c7n9s9TuWBR04(O7NgyJ-X|_70zSx5aEb{@QDH3;9?BFKVyxJwRwUHPpeb@ zsBtyxn#LMQM3$5CmuZnEd!5zT%Vh!Y(H(!-y_fzo>Mg*qASf(Qkeebvi(%I&Rk=)1 zI{@xFIH{Ofv%2xrmp&IN9eV}RN6F1*xxRFgjvWLM-s^51ls6i6C9OGfT71rb+NSGA zD-|;_*Ah((ni8UB@A{z|waF6`04bANvcU4IuLV+#e|?&DDA&aVBIal@-<=Wmk9rN- zxWC6$!B8OD8VOb!zKMAG!_=uQ5@Q}W@|Qi&@CCuylw>wppSGr6O92)hZ(=MjZCE#n zJGSlmCCry1PX?}^;on+<-g zrs$bcsXuWUfT{|!%Y{++dF-RO=Fg*5WKpHv>joa7AKt_z`~vQOH=F_Pj}Y+fBgBH_ zv(@u*mz;NZCY$fX{P)&$1_+l+n-*7Ip(yluKua19vFKEOM~G-V6(Gpwf$SPv%v{W* zlg%no^xtYLsPpQ|E2#gtm{~klCi@58fABN2Fh8oBDu^YjZ}xsMWSIJ}xm<{gXKoW= zgX6V>JkKiCEh9H{8Pide8%+N55TWM7_>)R>{vj`H+r0NjB~ar%EurmDkI*fqCz;)J zO=sy;EfjXOcLlV5GC%gr!42+ivdXLIpG+8UU6G9!zO>l;ooDgBd9kybny@=x^nigk zb`sAnG{R7{C1-A~q}k&&_f9AG_P?-*427%y_oH&GND%Hp3%>_!n6b3aK&+}=HlE-$l6p*_b^{o0f8lR@*wly2y z{vTIVhL<-ekCSCKe~Q!^F~nNh%eFYlG!Xi-j|!c$!3t~~n54~usVNk=_y;g^3LIsN z7gw=SHIS6(+gMq~E@O_qRt-Qv-C|`&k|4up`NLZIyJGyHt5GMEL7tSevAlu=jaX?H zeFnig={8wL?dXd1`7`0@{h)&O=0f@K#Btzo;XE!rLUyaGW^_GGB_^lZTO(h&R%J`y zMwlIEkg8;%mpAM_& z(DuU_3!-TDn8lr~joGRU^$ua$n{IlHVT>m6jF6?i5YMNJU?sQkLFrDRjuAt3#rKi>0 zK8*&oWnhB5!>=1@20Dqs{x+;C{wHsjt(#c!P6%qotE2D+gYT-{Y}B4e@BZxG)b5K= z|M28Ip=y9&O%8BHvi*7PEY?^$yvs8K&z#NWTX+`8&!5*3xuqt~3sXskpe*u8o&RVi zJEpFO0bCW@iJyFjdE-ysugwb58x-173;*GptO7q&G*~wVME!Lp7+t#ZoV^WrqS&U^ z*8x#M|KsETamCr&n?|{GlfW*?Daa0ao|%vKPR#uhEf?*F)KhYGH$CM;ey-5tC^4)) z^T*1CyM{_|#}*MVBch9HD9bVN>1C5+{Uv3MeI@3aFfu2pw!&Uy)+aw@4tZr7v|Ic~ zLitIIPIf@a*W>K)JYP*vu=8#wibx7@K6Qk(UzHN@<$h))7aoXF^DFP<_7a>sw}zLd z#0*@=Ctgf`j09N&I)1x*=?6N*s?!)aL;Z&iG65+w2S;hEXKCQ#osAd#n~iC2RN?%| zK`?CjYf%mc%}xL5ZnHiw^V>6rWw9E2ncI@odWkAok7Tx>=VLL_&#EK*&v}KFpTz3s zqAcqUGU;WpleQ_ixHMLE(QLv;Cey9pm@r(~X?LL%?{tK}X@kmI=1WHPfa}(m_Oa5! zLT|ALPI#%|!#~K>9@AuouF^Nne0s|9!s{g()I|6V0t+@v@yYKA11|gqvj+9l)}(kE z_bbBQ2|-%^-=uK5$N(KRiZ6 zqVoI1U(C|`SSX9-7??AZGLP}ON3lJSH89qZ>?X$=?+unyrF+DP0j9IC9)(E@^lU7A zHVbMdqQ4WO2nRIL=M|@Qxx9x1`&z!*XtASh1vjq4pchSW$D0k}6_2V8IFcp3<-FPw z$R2Z~f;zL6(xBxUrt3cyM2qP(NM%LdL?sMw$OZzqk(1CQQ zyvB>3u&u7yyn8K9KR%mwAu2xFjY&btjEOW`<`1(c7P-;qsUdgTy#AEGKMv$}HZEkL}o`H%L_ z0n+qgo@!+O81O%O{Nus9|Iz#(MP?-bMdo@qaoia|EMep`f6z{^%kY;hOV+N5_Al0B zG&~=w1l7T+dLJgMc>+Kwd0$lUhkr-OwAERO_Ghb zS&pZ~O=DTdUJ_7)I{dho#My)pc#${OTbiXJ zhBT(a0yiomxnbO(l^S+$ftZ0D6oLIbavR2vlCIm<3H;W!eqWep@HkJ-O2cp$6wsb_ ze+T6F;e}K_!_JwFXRz?**R=WhSn2yI@7pk)Z_}|E=j18VqRbp}rfM@^JSp-ozzMt(#WLDe?!X@Ws#}2*&Jb88b!w9H800sod zU;UT?st+m!VcF}DXEp9X`6O*vnZh4ClF%>71?>${=lZd?buESdaxaJK!?=Rv?D$|0 zq2FVNh;((1cZx)`BZppx=_5K}nF)Bu(lGs$-&e9aTVeX}i#9MTti;nagld)qjWpi{ zCEO|&+JnONfX?7-B6bAvikC@WtT~ykp5Z>XUl>Q_bY9c*e6oi(}Rm5JgQHWeODCv^iiXUPN4gB1*WG!Li@ z9y9KI(z!G7hLWXZ8f2InK6PgT%)seNhPVZ|G3Ip*Ya}r5Hs$$z#5h#<+%17Tp;ay6;z_JvX8h6dBR1-ipCSVjgj36?D8ov+ADgr zI!?SQSKF(3XpGp6C3j^tVS&BB&B@T&+o1q2B`ZS~aLBBt|0R}8fdu_uy$Tj@FPbRx z;~`T5dRkNAWKl#}tG-TLxuUjCT%YHIy*qh&WWU05?JE+Y6ecnA>*$rWc}hPAA&wuW zYX?sdJYQ$*Icz~~4Rs^-I^p#d{pT^KSHwCNxjq*6u*Nfm^f}ZA3Z2V;1I8FdO4ay3 z4`|LAHr^M9nAxtLfJNq*d5w^$A!gXVXOUX3cV3+2Mw-@_0Qh#>&Y&IPWB73z^!TAd ziftJP0S`ox`kHVm3_Qx{r@$+ z)m!DRe7ZF!rl}IId!gOKD^oZ~n=d;PI}3w0yULrE@6OklyE4Jjt2q#*Np$J_ym7~N z2}IRzMto^~daGFaxS{u>eR|*D?V~yCb!uKr9q3S*46-f0RJC`Yh!sgc2%lKF{GM%br`p_sqcm#I+vl^z6D3{@ z+pnSm`E5!k!+u5ZJ*&TtRAFT)gYZjA-d#uFbl=}-RB2PPV>zps8az&P#T25ESM<@x za|Gbe7xm?YcU(^qt#K2LGUK*id=_Ju$@SQN>e;6LJ6_5A*@+b3tY=3n51+AU? zXIaJRRHV`-*~D${$w?^>oawEvD-Rg_k9a+O4xz8Xha*{zdyh;ZUo_HR@yDld=|Kv{ zJ%5OqLTWQ5;tiPvXEgJZRR%RDoe1*9KY3o^pRAxkkYCSun;O*)Nmxwb`R9{e`8?p< zlMst7`<;#2iU%Ur(&aAUnX=*2b&3@z#jQC`TKJ>#bj6CHHwKURc5E(lN&0Ra#?&SI z$V8nASXR8S+nKnx-`;H8G2#Dc*sLfKm1E!vTX^h5$FlnIu4%W*tUXV;P5vX%;?8)H zKpvk)9WA69oBJ2)f5O4G#^$^HR@o%!`KQ^VXi8hVK7q~WD(y%RTTkD7O>rlq$p;A^ z#>cNm3Msh`T?v;GGBw$Hz+V4EhM_`A$^MmD>~Ef?x0F7OYCXfb1mTkuL4dydC!o@l z*xV6kINit$yQ(IF%p{#E9hXc&5UNB1*?k!KQ-|`s#0__mMVGZDzihUCN{0bP@=><- z6SA99hCKO&*M#rnw+Qq4GptwHkYu)hLb5ncZ#2VxK5!FSBTxtPUld>wLZc)H*(o;8 z=LC8M^eOZ2wHRyutueW7gc(+uXjy?ve+V$-@a)|tqwrC+u>3dm5Yk^uQLs9zad00F z|LpA%oixfYu?5Q1uu`sMcrW7gV#+nCIJVd!qt#>5HTC!FVuzMX=(B}Rzdq3G;%qk0 zRo%K7x5{2)$G@#gyI(;&U&!2aWLDqDNt+_7y22?r9o>)?2O`cRes*Pp(Ad+PS8{uZ zwG^GvmX&yWu~BzuNczB}$1U5$&makbBB<}+D!&tILBxTyoZE8OQc<*bkc9v1@t=~I z56~g{WX_NV(33uXM*E-|n~?RY+h+;@A1@KY#v%I|;jpJNFak+A#zG?&z}13ZOIuz` zx-RRr&w zG}?;zh+DkxU9Fq)?q*B1n8Enyl%r$CuNR2Wqs+~|34@9*>vK{ZpSRC$+uNb78b?NPHRkS6eKDL3Wmwm&81L$}PwhmKh!DciUza@! zo$sYys4_9GmNJ`9_>M66>1i_u&)}D*^IP{YqwP-yU39!#5vw~-r7imp$elB7ryQ3M z_IM}4wAxb4Crva-G6sB*Wv=(!;XJ2r3XE3`$H~l8qAK;8qS$laZ->=fh}RpNsT?7xJcuj0pdWJ-TE2?ctgro|A2mHqanOSE zzt}XnZ%$&}R@Ap{EKSd_noD4+-CqX+S4ITA1%&#&%+@cP0F(6?)adE$t|w=K6l__q z4|eFKrBl&2h6Vlq#90@9g6R3naPth2*_!O%E^y*efD#_WzT7;k4rEtlvrO4|kNs`G z(GV})DiB_;6PddDpBq7t@?`P(V4}4|=)5}+<%YE`DQnI;S4;M(*Hb92{_VTTYap?t zb%h@2{#l%@-{dTlMPBTA}T;BfAtmRDz6J^ zU5y3Y!tc$fk=-8Q_<@co0!dYa9q|S2{!k=DUJz;vXf5y`U@|a8{6*gm>CT9w@!qQv zFqeY`%I13&gWNK5E@$LU6@w2Y_b=IJADF1Z6FcO6l_VC_XtpxgNdhgl6U6)`s!m@E{ZQ-uQ=zf=kF0gE zBY#^wzX=(1e{&U@zRIJ5t+rs+T09qoOgAi;Vv%;k-!drz!&(kDC6%*{}$o}UFr zA2WT{(SfZg`dV?C!8AV0u6mwU_lhhM%1oXwop>d7(?Xg1JFd*P71G+Y?eEdJg~b{S zY*Vago0*NSkW|X9=Julchc0BHrnkZhglhc^@%vB5PwVbxpHouFKW;fJd*9h z3Hdr&(_p7n)yGLlIW!A?_V_v9%khl_|7Q%GXB&@A+y@VJd43+WBD9akgM*(;x}mJp zZmvpcXDQa1968r{dL*p*#0Uad^=ePG8ngYYV%xa5vz^7bwJnSsus^!aDJtJtr zj{(y~$&SQO{*1>}1c?sZ?CR*Um37G;jfbojYz5`Ek%P;$`8hsfs5}dXsYGp#OMUj~ zcc;tWJN8fl9Fb4|*lsUrS2DD#AdI&1t-l1tzpft&?zwT*3GP{{f2#0!p|s)&@G`zE zS}d{iX&U(OWt=Wyg<~MAEEOk37))7n3N6C~wL{^TiYSYjQ*Viv~TBC ztMlu)!+MgGN8_Z407>wR(22`Q{e=)xCR$ioGkTHwk)64cXB}D?!AwS{Cchr5<3*_( zsn~N6jR$XwrwIUzOuGbalwSX@(uP}RwEMrubENkyMLNOnGcz*dtk2IB471t?`fq zG2`^k7_uAALk^bDKeJx#ZKililup4obj91h-^~|ttjE@KF9@(@bY8>q(4eo;_s8<= zRRz^@0z(xmy#zbqtZlGQ5Bpak53GX9Q(1hB!hHPOV51Vnut5QhVXV~ZD(ZniyJCx~2@jhJ2M@`Qh~!5=oes z^!V{QSs29cX^%CRFz0LiqkTxekAe7#2Uc6$wwh3PLEb?0yA~f}|EL)G;y2oHWGTF@ zpm{%%n+R$f^n>U}oij^FbAMMTGf=3xe+dJf0k*{!C+y!BpJi#DckGbvF~hC|@4OY} z^0MgM`!ex`_|KLjJV#I6s}+%CPog{87mq9j9<-?aeOC9FO>T8i{T8`6GW%dVI5`w6 zIlvPDw%~jaFXV{*ATGOXqZt+mIn6d$X=v4&W&nGIXB{fX--6aLXV!SK;dSD?gcfv2Ks%^LQ?La6RYN9TZt!TPTzrcHVfVxaX5WxE)gqW z3l{iqsrwF7KI}Ft-Y0S6;j$zko6W$eEw@J;fPcG+i@@Znd>1G5S_3wYpEpNhiSt+@ z-TlF~oP=(=#Rs)cWe%~B%Xq+ynUw_R82L&v!x?j)3RCH|{xYg@aPRS2u?^Jqn29-AEF2kG=2KZeO4$rYdIK1rG#Pj-iqTgoSO); z74#!LpOW6XRoNyeF|v+VnQ^ZzZ}HL%KJS<801YT=F>+-33?CXT362g((II5S)zIKC zjr-_g*Znrc-Rt+mV{96lpVLzXJFs}UBAa?>u$fnPROrRL;@SKliNlhVb9p$H-WLNM zBJ+}p*uZ60gvT#eFS@>0%Txp-OOI8(Y;1hUb7x11#*ojL?j8z&=5HJLZ2Ss1aP+$0pk{QSJHTC=xW)S?-iN0O(J`!=^oAI~r*fld(riNX_CtiOxodMz ze%Iaw%ta~dl8%g?g}OffcCp8W9FhRRx36koC z#y_inC%AckTF*BX8Tw`4DAL1iu@SP`12l8v}f|dJ0e?raW-#+If0C?#Ot9g`9q)SzK?c)#I}5t z7-Sq*6b}w0ly6CS5Vk1YUT`$v{2nu^@&2Gnx%zF#5O)t8VPNDX-i=9E>5z^w7h~pr zf#mn>cS=Aj$@J)Q9oiF`u3#^ovxK3UwK^QTkxZg}Vm?md1;0Ea6 zlGyC<=`jTLBwXW_ZuPr6XH04v6HInOh&3;!mcvMrJ{!Pej;EtD@djY}WJ4s2$|Hnn z>=#^N6_c9&>z?a7o`XLUl}r16bO5i#bYb@|LGT+UD)=L9+wBLipFIHpe;E$?b?+(} zm0wFSmlhL|_GAaCaJK$0@tZXke(~SI-&sUY%-cM^M#g9)>aKX?3m_ic@F5&(l@4r8 zI3%HVaj!ggUxQGLrSPGhoIcTIaYRuY9n}3c`kAL!6t{3ZA2>n{WXY5TKVmQHW3gpK z8>PaA0#aZM0B0yb4v|B1SnV<0UBnx9+%_{ zB+al!*jclI4l=kB=}acn;U5Y2ZCKDfbG^R2Z8Uic6oV{<2Qn6ezn-zGp~hprJU3G? zSiy80=nZI`8^HtCo8tN{`E++8xb25&!S3|B(1DC?@sZ}{m``bY@LG>@@DtJXcI3N)<%2CZr@?55B#D5t|zRV1{GH zDPqmpOY)r42q!y><$Y^7GXQM~Mpk^7&x7u)EQz~rNW}w!n{%MR&NKEI6B&os4O>fS zvgzeGNY+}?i}?(3xFMTyqZp=Xw%uBw-i*2RBvv&4jp*;T39Kl=DgNg0q4RW5rC2VG zGy_L*$me|g%FIXc@blSpVX?<~0spWa7Ar}}V`nJ>lhlwRpjKy%CzuG_bAZwL=~tB; zh~0=*QF@0ML%su@ojVy)c=!q&SYJF8KkQPE;lZ(C17{PfEOQ_>@~?}G+A4=m>M@lX zYch0ovLCBBehKU+r{meC#KaHtc&f;hCjQgp@rNLr`tw4!+yZAgo!W|Lr!}!&;H^h9 z*h~6oJZm)z42SdE!*tT)ZkcTf4n23hTD{ey0>shd1kLnciw@IIO#~+Bcomhn_`Mco zQw#e^Xt{8;#D5Ur)`K*#DXUB0ksF@u8Hz;y4rfFhSTaXuh`pyBqF<#`Q3DOhMlm+9UmFU zkjFUojKXl}kHU?&g+DF>Z5OLSLAHy%m=5()tFh~zz>h0ypcrp4tJwo@kt-8TAH$O}9yhmwg;S9%vT_A6MfNW+8*J5}K% z)WO^Au)U%0;25nFN9{0g$^0OFT1_Xu-IK$I|BT()!>N{N8W@wqZ%(RWQo#4XRS+|AI>e#>50_x* zkjU!~1Z%fLMqL|NlF)oW!V=8^Yr>uUvvxxZH$e9}4~L@!oLem`JgfJC^l8a8{$i71 z0wQJ~;7}la##L*d2R*+GTBI|8$xE9Ys$_ zndeRqRZgF21q*SGJ6y?HE>qgIG2uY!B(rbj_qmfpT?x;FCp^y!hu+JQwGK+}uMt3r z^jV4zVs2qwNNUR!GtP`*GfT82Oc0k!x)IzswY|xMlJhE^y`dfc`_Y->qN=7j@u&01 zSID2CGYQR1=vd*b1H0;Q>o@h9;mg6oS@&z(NmogVM|qTfX$2JH7&eFQSA2Z0HRX70fKX8qxZh6c91w4!(Xi_(PYo0~rKAGSAa`-#e6B zKb@E%?HuE6w_W7l4(y@RF&cG{yZYhW=k+~vgJ<)03rXKI(dsD2f=kgK-?TEMVw(>e z#UmBHdIU=EUf4%&Hg3vv~iMtMlB%T|tJgQNC0Wv*1ZCvVvj+Yt6saS|?<>7?p^RviCQ-|2W>Jo?6 z4PoXIow4K88sbH>2WX_%^G&Htc-c~smUt=`^iv32wGa-4gGOIR7e@ z)8uh40~f}WfUJJk+sr6NZ~}loDq3G57ng84X8K6Ne%k6g;ToE}iJ`pi4P#l6L53oo z#3AQygD?4yY{wts`!2uJJGA*-?5tmNf!-hh%DU zun2cM1D7uKKwMn)MLpA{tflLTYlBR=>h5W2E)GkZb#{8>!l@5S^7eo=NriVyprsv$x-r5@*Ga!WQ%*1WA|^ai==FPW`!-TfF)IKQ9;J z&9~bx0^=Y}q__*3I60@cj|8*-6AQP2j<*nD0$%_BJ#=&YIKG~q;Yd$>iA>qKnsUNlcu zz2%s|So|4`%S*ca75jf*gf?u1nbPk6A4zu}57qZK06Y}QG9e)`NwQ@rTh>V`B9wg} z@-15^`!I_&DbZq&8M|Z;*^ONxV~LS{8#}{{ZOryezvqv6-*eBsf6UBl?wR|!=bX=( zEZ0)DyuKZt{cC1&cZ1dV`gUt`()H>TX@wzZ-Dy8eY3)b%@17!Oj9+u#`D`hCWB9+( z2OJrH74AH&_At7}SUbuxvanvNTW``b?t0N-QFeNsu9JH0ACi=@yqvjCc6uYLyProO z;YrwFnYLs>Us>&i;(-#-!L$<#@%z2c)|=PeGeDTrE6}sQ$IfRYkUVxEwW1`P1&pBg zZ7%+1+)+NZjq{@!4%_pvnBX;f?_27~twS3VzUl|g=Mrvth7`y052-$cGUl8cGKjtZ zE#vtJp~H4!SUC_R-kKEj8tjhjkAJU98YXEEkCR{-4nL> zpO)uu`@-4;11~Dybd|`+o%~N%=?6z?;l(i>t{hvTyVY{h&k^T;Kkn>#>zR1rlgBy! zPabx$Ljh-Vf6+^yI`_m5JyN*V?|&tF#pXPh^DP~j(f<$^+z0HDr_66g7d|*^9DC(b zA}~+;Ty4~*U3ZN{qMgbb=yP5mjI&2I#IHV0wIfkoh<;DQmFDT5m!`_C7?E85bkagM zO4hNv=5ONg^g9o*_5*)~@-jsHijzZ$h2SwXrKk70FoYlL$zRCu(uIH8oz1A7(cWS~ ze6wYaD)H>Dg~Sw#T*Rgb6l&ZkFO%ogxZxT9u`l!BQkrp0aSW*3Smv%A<<)lQ)g*uR z?a_aFKjWF7mWjOyymjqHP8naCG++EhH)lgndnVVi1uwR6rFXK$l{2iy(%YGB4l0V0 zT#r1q3)|vtH(jy_q3@Ahju#ZSzX?;zbj=@pv7PQ}b96hvd{IXB77skD-G_5#zOXPO zb3Q7+@<@io+(dSzmovf3bNRsPW>256&IDy@O>YoaD@jovhb*153j{sCN-jz22>oyG zQX1n&viQ`MGSSf~7WJ<}~@z&F0 zE-Ksa&ktmuA2>cgKo(0g)l>A+Qw+PSs4u}@;$duPmT}3B{3)sMb&z3hae*Tv*PBPO z(UV6a+lJDffd|S~mtNc;<7N6i+)I%^(8@JCx?i+Q-$Zz17r>bnh36v8E8f>UU>+r@ z#Uv}aBZuXa3o^gBBa#YuRfnf>Z5yiRG+*R$72lC~k?UA|$DA=9t^A)_{2t#5?K0k4 zwWujCdz9lox!ZYyt@AVOy~1S72Fq$Y#gyIj+{>efy0p(IC&!kQ#(WI(@?JMrJ_?#l zD027mte{da;6|M`?cxeOD_X#DBh96Zx9&84&Z3EeiLN=ExRv_Jg-qOF73qe@jr#dJ)X9k;ntwrLuoO>PE>DiKamXV zZEq(LnT6Zl56}L7eLh1(Ou6^2`ylJEvitf?MKs%R{H^~)D;hS<(k0y?8zUBtHx>;9PyivgFCn_Z9daoiKHKu?WPZ-am5*)T8yCCI z^QS!ke|IcXs1F7O|-es2SM%w{E&(A8|gm6*o18!hR!}3<` zZ6OB=`OS+5SyvVECV(udyf9I_`QIt>WHit3*V?$bUn?(1gBBUBse#hRkQD z`-aK)eZ>m;a#3(mtu_MI!U|(>kd16*H%@lMOhp&=m0SBV7uQfk$GZ%Y^}u7NLrWTC zT4=8vMPbj)J>^IT>c%+*mBvnV_lEG+Lg})syP*zB^XBtB$vAjd|G7=}-(R)vA8`M6 z|CW2A7`O5Y7OIp%UOI_2`^I~MWsV{wjROpz$RSLuv(Lj!)X>cD9EVs{X4Lo4@f8bK z+=1wCk8O(~vPw~=?D|rHMe=?(uQ5MN&p#uK9~PVR?HgQoIfh_?^)-TeZmiq=Ow$re zJ0~aQCT=PF^=R65x-|C5+sV*I)f$I`eM4_46l>^R;l82>TJpV71JLDru7?fp_kFgn zR1mARUR1U>R5|T2W+9wuA-qd6RnpeY^(d@P4aejT`i%R;xn!N-73?)KpTG1eZqghw zs~Jaa+)=L^MRBz^Pe%|uio8VJceW4oHAgHIHcexkkzDOHJ7;e#8Fu%F21m3fzvVu0 z{rS`93oN7%ICxxj_EpiLQT0jY|v70svs)EWZ&r%)yyQ2pBH;=U53Kk06*f`~kbn ztn*`Fe%i7El+ib8>8tfW#oYUZ38jRhjNAWq5pK%KMJ26Im6KQbVPozx7}?PAst?!) zdLUu0!HTtp9y5s3Fh_g=p*dGTK-sZ3WI`43joYsFJvN- zbwy>EF$cGWRFxWNxBP5|MUZHdwgEm~lRy5(m6O>%&V_5wB=1b=zBk5to#XTj zeC-5we(Z{0t3J)DqG}En?SiDWlN@2OT_hOwO&5uU`n8Ls*D}Evpd;QgdG8(ZUKH^~ zOD|*Bl{y-iM3g+CF@&}ZU+aTJz&$^8lfFb+T*a}jV)hB)f+rDbI5oMUq$1g^#jUe9R7=z5ZHSD#)xiz6e+f0B^X5B_X z;gi9s14)LO`wvE?R=ye4SEEYQLHNo{Y!n| z)O%2|YU8Aw7@?kn5RPuZ?Ea8ESb`7C*IUJEzi_$P13!1H$LOS^W}Y`A(D56}{&Q5+|(s396vpk+() zqMJW%S)gS>@*?UME9%`zKkBhgY5wUw661W8e+Lxpa zYia~Zc}#^`_0N_*XvRjy>`R^PRQgcUU=fuN2s?yMDuA*2H+JnUoI!)xwx?Ql`P5;h z#Zz539PWf|Y@QI#)D*RrSMVqsv4+}k>2++LpgG)4VU9;~`Mge8qI^E@>`*VGJUf(n zBbQR>d!v#KHEYRblpeVTR_wa@=ti+KartAHpj2yUt;oO z-RvINM=&zi{ZqiCnuQD@0orKyAJ+8l^(1Qpa1>7{{9Lh2t?hUTNxV` zX49zR#A5EP?)}Qi$ydEhSHbstrsr6{y#kvE&8EE>-|yzEaigeUcQ2yfLwfP}1Fq)6 zD=5{^?(OZ?Ky|tMm*=W8Q?4ceQw(`}N8t~QczUa$4{&iy1v+_zE@CE_oJm$hsyXRO#IMR(J!W4bmHw;N@jWx%%GbaSGJZ1F%bDOk2xtC%#FY=I<0+A+mi zN5njodD$$cg2kA!aJASnAfP=x3)|LJ zR#5vnxyaGTOHvji<34^!tdyf!P_ZMEzxrY;3IabSC)#sJP#vODfz^IT*5Rc8xLomq zwUjI9`h;;0RobdXpQNzc=6waqZP)7e7JoxB+qU45RnJ(jYa*Pr#}@ROk3+w8UWN|* zlX6s1%Hh1^L%QL-{a=- zFS4Iu+E=~*Dc~Fasa3=+oAJ#kZiHXm z^pEbM3$KJD3ccNK<7j7nZz#4VKQN`fOU13ssF`W6F1V^P#C`dnGpbJ*WmnaR9#PDe ztE*io*Fe6pMG1tY`Q@t>k?=S2dH9YCNT}dve}#9h-S2*1U8e{?9B$(|A4?s{kx^|?41cAiN(vN_JMypDStEYRK>6Q5r(rpSx5dP&C9L@t% z+$c5ob9)5j-s5$K9h8lWLks=|T&Uq+Ud}$}9=$skF5Qvr`*q+x zsTK{6Scm6PVhujxn}*ZY2j z8}2@wdrVDQp7SYy8t&!6<3mK+q&%c){Z`+qMkp&*eGQz}Kc3jbB0)9pCp~SEUc$9w z-}jTLcM7xWFGz`fv0Ld*`Ltrl7C5j|U!9>d`EGegEy7CNE3(ry3HHmQW8F zuw8@n?YVx^!X0}&MEX&3ubHYN-87SnE+bz2v!W`i&m4)JHNi<^^nHp5NvlhB=8!(3 z$5gQvjzs>S(hrdYiU0#GAGYMxhqKTBN$W7#utzRe;PZ7T4{3)cGQ`i&jek;FvMg34 zNxhoI1EvJw|A`1TOGhmOc5-i7&jYsqDaXWz9@>Rla}M$!8#R5^;t#<(S|HCg$7VNp zhoC`}Vx77BxZ*bKb}qqUUS9$tLojP9*5ZfkXtZbcjt#Nnu+%sn$ z9TBwDVHAnrGb;u@sq`~-jTGMqk~+xsK4(U#)|gWUc2sNBDI4-LZ5ZS-r1g95e40jG zIz74WHMFr!>&YKnukzx%)6bu9wP|&tXN}|*Y-ycNp6u^QaV>v%FA-(P*{r`IJ5r#+ zK^?pP_mDhTO^Ps4HSz(BZ^zGf05qxZ)o>GBnbx<6gy}qkA_k^AAm|getp&X#Z!(AmpV9HeD(Y)zaQHv!rVvy0-7jHZ- zM@fr&F(dpsfeP&*-`sug;>I!>UBTWFpr)v>Yr*#Qy$Y^@`xNSy>9D0_U8*`h6^Wy-oNs^Ci9|E5Xg5_GdZE zp9C*@0fxT^FHUg}n*}U}0d#kgJr#fS&QHeywg0n?d^no!rok+z)iRg9s(sg^arfMu zd4_y5?I@{G79Wx{5`de0Vn{sai-;d-?g+b_r(8j}2r|pChG2oxzr83MuMCNo=&QHK z9;hKVPXBY^w7aWiV2FLCFh)|5-Ji=#`T55g2u}n=Q^hrw>wU|hEXP10&n|37xcQJh z!y16Rf*XsfJKGULNpq5PFWLH4%U5H0xSVIAOAeK-TNwMEp2l9}F1+=t2$kzyDT$JE z{|+El`oA8~CIS9eZ<>{R>uA~9E#LCB@0fcI+ z0OF2wid^j2A2mqvsItO)YaL^fd-D&2gMN>CG2^B8`4$?CAb124_OTE8nxvMOuL1PS z*hnWHnV4%It>96Gp*z2;vkDmcqyEY9zp~N)Y|8vsGk4nvxBj~qSwPrdSQ<2goa_=- zziPok#{4aiI?aRXGNwS}%Y?qs*hC$D+@1h3p$mRk&@6TklUr6%qDvO@ro;lRaO|KY0bdYEeT-92Q7;bKe;mQ;-v# zIk^Z3ghup@CMLGt!L9eMI%E^}SApPv7Q+h}3jI$2?GbJrL;Rm#=>N)K3S&Sx>WG@& zrxXr2{wMv~F9tXMA@dJ82C0-7#t{&SBiZc~Vn;v*bBETUV1bOF^n<@@v5;Q>&maGj z_CH|)#ab+oo_CCMnt$Gx!CY~oTupX64+{R+r}PHgV1N_qssQH`I2X5g8P$lze^vy< zF%GJ=+`|bC*gNDBI9G%e%pt7At<++zD9BE~1+u+)_n8dFnYQ@PS=_B;H$`A5<2^?w z)<41tb@&<(I2Y)K3}$65kYZXh{4$vHPMhbF-Ol=kFg`$ZaN}K^P+yZ%4uKQbRPh+{ znh<6ERZEX_^C2>a(tHi`n6_&vgL&*UFO%#hRpFQ1rxb6EHpB__j5_8KIG1cIo{qSMkWDWOq)T(B%H$^3lCMKv%dFxo`O<#q%8m6D6lUJ5=0Yc_3F|KXVE3qE z*erg&4_|XZJmlM)2cu>mJ<6y7P)&?(Myk=WQl6gnrD-O+oyLa&NU7ylx^s9d!wcf`GbxO|V65?^AK2IP$gbai^ zL)QPfN-Jd4d;d=$)fgw#FF-M#nzw1C__{}pX>=m{ZQ#qklYVoHZuu6zdq!6+DfjB* zj^yBuxk9~k9_4N)<>wN32KB>K0%lfqlrQTg#~Ue{J6W@_Ic6{ zY?+ke0E{Mfflorm{8&?0FcDaN_h-~IRG&3FX9`RP3>NGQoR%URiDD=Dz#iBEpUPU$x9hOAJRtimzHAJt(cYAFO|nVUK>zD=7-SGlLZF zy|`b@II64rIqyqs0kLSqEU8cFJ^D$K=Zi~t#|!(-B=a7^u{oE#;el2bTCN~tuqe)= zgs3$B(?BH)#ha!pAoRt@LHM7;vC;Tp*Hu%Ud%g5@7BNYPsEu= zlmRWBpst@@7tyxy8*Uffx{Kk@_ine2=E)sgfP(geY6tM*ktpHlsLqTkm5;p19xOvc$H%bmZYRPBy zw@phK(IzW)Jo9WC4qd8JMhPr3&50pLTuJtTynPZkWA*R`?>%qJx4zeogWuN`(ajf$ z-7NC9Bxu67LcK}#fK#wh&ZO2;N0TW6q~JbhFk0nH zC_9a*9bJ77ur2lnsibrI7&BNrvMwa@0)PBS?M>aR4_sU3NbHtqN zX>t;@Ui2wwN(i7mO7#6<)0@7;pulXQ?kHIFA_%$jy)1Yi)B-&`ywV?cGI#YaeVZDN zP>pJV{eVu+(gRX=`<2*Xsx_%@?vQV$Yibu(`k&7smM7M$f7ktd_-%C)z>ES=C>E+} zWpTmPk9Zxu#K6`Mxoe7^nNeM|xxVF3EFSF?;Iw8;Ys)}4FpcXLXqyW2YqaE6wx(gD ziGFj*?r=xKsni%G^))pzu&BRUg2oT?>LMx`fc}o8((zG z;6>{59*y$|)UJYkw9a74D?UN$wb$-PHa?uDs8g-liI9gnf={(xPYTYfl>?SRu&mT* z$+^g5%H39kCONV%r_%JaNS|hr>Yve($qtjch&lI6+x-eql+Hn|6IusP?-PzzqmW+l zT)%VN^b^ooxGlCd$xaa7`!aNNp$#Cg&id%pnV563c06l})9Cou>g4)|f@^AImS(#M z0&RqSxn-HDiM9DsTYo?U@~|siaEd}_|Yx^o310I1pWc(N(3+fz6~i#6G|1YPp|BlX`xbu#hnBPHDeoietTpIQf^{(zuCLVeam z$FoNcwbj-V;cQ`+Hi>W_W<1Xlqzg16)aPHt_p@pw+bDH#arEc5nApC(yoGEgN)GF3b{;K`^w^ZwbEtv zs@9x|#KN+F_K_i5yF6{fcl`60TAM}sV1%X5v&ELJgAPO9HP}|S$_Irm*{e=myDaJ# ztV(J#uI^5Uz0BQ>iy8ocKL1L-y353bZDyP57(&V1_-!Kd^{c#DsdMyuV&aihCyzDcKU9LY)oATJgIJi_N{&phUaKx0UzC(3)2+~0Kz z*TMHleM>e)L(&M&sag*1GKeJ(u-)5lQ*mCVv`0rp=w(e#hl$DIeWuvL-aWRC8O^`# zp1kXsgt&{o1O1@giMAX+F76uMU<<(*`$+cbZcmSXoG&R+uDvQx!w&y_Xqo$K+C5a>MqfzJMNe0s=*;yRO@{n(|to5H$)(s?=6Rl)>4P>28} zfS(DH+UxCI_`tQX&(t%IF^(*I;2@S0C&-oP0}qKx9l6f-P20D7QKZBeeOeeThGv0` zU1&CN0w%4R*MoV`JmZ!h5WPpv@RVZE5Le5o^;fMCK@kDBnoET8qYi{rZitR{Hp^WA zkS|{pJ%ruuR7z~(1aidpK!)lrnJ26eXXNRxr70|Azr)1xf<*6Vj(QMXePHsEIw3EL%r*y z6Q-f0ynXhtL27ncjb8cb?BzbU{fDc^&W$|D zabnvbJwtEdsNh&%;yC{v=+RqK@pj8=^?zJ~AGX=r)f2x+?y}UZ*7a`e4ay3ZIrZ}wiY=V25k)30~ z6@2YEDi!gZzJHB6<(~p|qm!ell!KF*u~~dlR(|qv|MuiBe0J+60h!YI0I-GPq^;Sg zB)5G?P47g~XnMtqRQE)#u*aG$_LND)v()c&KSBjlOM&~>%7YSEFjFZjMPacDHc|A> zl6FyaTfJaEQ<L}k)cCe|b?(p8;t%@3b9hXW4E#gVk zWfDvhgjpd)-Zh#FzT|UttKy-(CM7HC87T2Mj7CKw)D|)WU0S?5!Ij)8JqX&=Zyn9@ z2j_jWOtS;VNpqewJV!^&c<_V6O1>7ERz1IJ*#bwNU1MqWt2m%He7KLVxb^Cot6>p` z_25g&=P%%V9HDYNaBEAp828q)(S7?`acBz8s5sQnr>V(&`=(V;iW!c>t=H*CeVowA zgyy#R-j|0lu4P3w!!cfSRX&K1eW`zf(*GRWY^oQN@+}a8B{XHLr8h4RL^gwv(Aibqn;K&Y^+wnUxI=P8rVZxb!G3zOyy zq|sS_;ObV}nhnICHk+V^pbWF1j}8by*)UTdG{5Z0@*((Pt#1+Ot{D|tPneY^8~A|I z9MBhK>B$agfpWO(c5mK+!0_Q`>6y8EvcCC;q9rFr8zIu;+gGgMYQ=~A+q8+S4E^qJ zF#Qr#5~1Xw$WfQZoK32NRj7#%f@c#(Tu#v}pbTb}qYSohPWnk;eXrFb%{)bRO~`RJ ze~n64NL8YE3G0OA!Oo}J$T!K&zqavDpIKLZPs~3V%^zg>?5Y28L#1I`yx;`Q_-g&8 zU}n@1!vj9)vAM2Eg@PpHQ^z^!WStSeUOVtZoB-nsz?ztUn|nV-Gd7$W%lbZ*pOE^w zu~o1n=<@b4-6XO9)1;I5Hr5q3d&}w&`6u*Yu|G^2cl5Lt|KU&2$7vF@CiLM(h}1az zTER)WJ4UjrQS|c$+H6uG|4)cUaj0oI%CtP|+F0VfDc^gWsb-VD*T*mqWUWidWj6h& zk%J3fj68V69QR&W)g{pNqss=RQ(>h&iB&)F%aadF51@6UGt##UCS47QiOHaZpytaS zf_YyRkGThoV9ly zVIc60uI=0KVpM&h37T^+n(l0|3tRa1CRnov=)D>gZyK+Vq#4@!7swoThUSw3`SR`$ zU?e?AkUc9av;9DFb*egbW0h@PE3yK6lWwq{wI2h$S_WjK%rU3Qhyy&?ns3R z+AcJ2dS!O8?%R(q(ZoxmXfamThdEei}284i{ zt{xZPC<@VMc9zv%(Z@rqZOV*1A8V*-s+dXasdqP38B<9Oe-q9#*kSLRrM>&lIa@w!|nn5D(Hdh!wLt7k5WXN|ZKu_W1qpAlI==&M4+!l=deUxF0V8O%dyPJTbdpogeyE|-!Xe*{;ZbP<%qeCkxOy#08 z@D0L6HM;LnC050nPa$<0l@6cXf47D=Zgjq#Hal=MsqRs5CMovg{(il>+4`#?f|6!1wp75b zVb`&<_D@``ETaCE%<|{sW7V6atPSi7Ks%xB_AhluvtEn|DYn{FQ2(_;?B^DVv7OGC zg`ULWk^7qHwt(9v$$Jfq2%~H7!RXuJ7A(KC;|@R>3%NLicwJv(-!(i{K0apD zQ4SR!`>ZtCdR=?+*&YlqyY+uY(l>HK1x4J|{T z((wnKYIytmiMPv8tcn7=KF}TTv>6o=`VDWe$i~44d_sHoe9vhm_jev5UZhO*L*FI8 zS^LQCe826RAiCaWThAE)eiMx0I2)1?-p?M=8lESIX%g=y`^eYHm8PC*7@8fXb;Njw z>QU=9Sa6+3@VyrQZ1ahPt3$Ig7h(eN;|J%%Vvir!AM;2B|F|(^avuGoCh_OyY0zUp z54gtRB0axd-bzAyKD7uSpQ?FBK)&^}6t={y!6ZK_KuBc7ktb-#tTfS;{7#c)iA4SE z+>#C?khXnVq>f(qwW*m}&Wn>jqwgPAevozgd4}T1GiqszlQ;;+|6tnMGJ$HW^XNRpgqf#E9&VpcOe3Zzv)&vCvHdrjw<}E+o{m0`gg*Oq5~G4J zwnJ}T&?ut2U8?zv@y1GKVkMRXxiVul%cABrqMLPie6-s<99glBFGbiGQEB_SHqS5A zG!#eBOcusSuS`>vX<6cBw0220HY%g%(xz z{g{h9WZD#aKnsJ#MPCFPRGfv&Xs#s&>t9B^^nKYpEXpAjw^)Z^)t(Ov`x@H_iNZQ2 zwVhl^@D*lnX%EfqpxJU0(l$R9YWdHxB3L&yoDO?sPzc1*&@KPzi@kjV%DvuuH|!(T z%T2l`5zb|3nOxd$YT+KlS%--tH5*O8x*22Dq;~LMO6McDL9ilB5oo@1H+4-zprcSE zZT(ed^nrt9GF2n#vPPM;%LL`k5xwO69H~3ldc9enAKoc9S*2ep8}_#tcg~}tel|Wt z63r5TJS8$Xx;x_paeV2<9WIu2bwn)di*_d4%J%gvb<|o@!iYE;?b*Oi3GhC5l;XSw z%yLO;GL=>PsA+H9=azHYmshbF>|Nj$c%N%1eR~CyoDDQKq+17`Lt904ByT&#!?PWR5qmu^$2Zu$RlOBQo;o=DaY`UkL;Q+>G2` zv7O#LFhYW39y^djzB*j1f7X~Dx6O7eU7BDcNy}$H@Lxl`qMto_pX)gHvDco3eqmEB zaJ$z9n84bggWNGp!Y?a`iP&>d1`b}B0|0P#s%5YCH!xuCWx$AM~4(oxz<+b2a2Ld7H!mzqV~4z5}jz*~`yhFEQ8!)xF5FZt-zY1I)BP zd;WwP=7I)}G~CxnG+57Lvcn?qO+Y9?c{OeCkK27f%3 zpI_pKb}(+5wyzXyic74O9hM%Cro)}&+19YKed~OOqLTZU750&af97Dhu%e5k83lq7 z-%kK${S^3qKA-}PGHh>^ACit7)S#aUKz?1%c33!&7>yF8X*S@4G#cRTP95Z5%i~7* zj6QAOmztl5Y}z5wP$w5Pot(tmIjE3!wdDCQaJT}pvvco4`Iqk_PemSNg2Me{$7$PN z&6Gtk(tWGf7A}`|$R|Y-+8gYRd<|m#=G7Z<07%r`7?pmerQKftHuVT-3G~0|A&01d z5cmd9l~XKZeuqYS`cB@=W1oq+fGWAbJFRkI&cL(dqcbl?uDp1RBzw$(W1v}RthqMIOrkV*|GjQJs~q}OW?GluMtGs5R>m7VLw-UJ+9!zuOc`< zg7VF6OR&?|L`Uph@N6#d;by*}Rn1kgy(U!_v~(>Ksu;8k+K;F@eu3^92)lLmA5Jq%aX(uGZRq_Ud}oP>1hgAVJFZ2H4c)J?*f0R zwBa|I+R1WOA;0oIo#<-nQL|gL@hsX`Iahm<+H}D6Lmso2u`x)!?t?ia@SVm^&Fp4C zQzXt}!k$C7qTjcTqPBE)^KuCa{2;N6+Hq3cw=;E`NZKc9>E>MBGI$nqPiqiWm36Oa z_DTizDT({qsabf|)KHiv5AqaUy*iTD0+mDbsAN-<9gamVbsnDHli4I*Ta(@P0WPqG z#2jca1^B7I1fE*QRgOLQxw`S+tJz?MWR`7CTzb`@zH_?hT+#1^m{92vzy{8&dBRto zjbKu7XT1p-eL%X=#BV>5q$a33#ne$qZ@oT?#kt*)mqN*`%_QtqViqnk8j!4X^h36g z;V1>itjyXqd>oG zk#q!}J92gkA3>tF#%%EsME9%UzwqjOA}{O;^%i?#Xje#A6v%Ai%gpw{m8pgKo}|Rf zceSNETHpKK$lhk!e?EK=c53a8s9G30b}B`b+GMWrj039wdRye+-gb}3h|WjQ4lozN zecUe?^PLV-I!~AzfSpc+U&%zY6Hk9l)eoB@y9)ZwhsXpp?-kjkX8jP|SCcGyxcW@k zDGFK%OzJ%MEF9zO)o${V!a|PlbaqJk;~#6Pw)-LIjo5thsdy?+LPf`3;6~j5ZSVy` zN-aThfy^Z!tk`|uc{*0f#or+@WEtDSw@mES6CFu-yb~Yz>4%d-tPNZ%_WkB!J^coP z?arQ+JF-G~{lTNxK?g>XzPTapb8p{RGoHwHkKjTl^+wbebkP?;bP%|IbfJ5 zW!hRHLhCjrG9(YNvr_wBKkXecj1PRKF(-EpzAa&gIHY8f(t`fm>pU!}JX37RETGMO zV7GiN-VFr}?KIZk+nSQJkBD`#GKbxe(yV!WP9PEsE zEe6NOiY->5Y&3Z$(dMAd3xMrQ)Nj1uqXkTm$B6IH+q1oUtQ*2E>7t~k8k|{#f=ye) zJ9D?dUE(d~kpJp;t}z}pou*uh8M{Me)U^CmJa&x1ePs^q^^d8Pzjz6-UK;X8j~v>D zDFs!xq#w8?G*wZ)>wNM8Ow2h$I%>uLprLRsvQo6`K^E`0Uj8aQb1iG+m!GSR88nqf zYBId%w|Jypzmp{kjIQ??ZW8PMvPrP|TB+yFq>5eoeg4GdodO)pnbRSf`Jzr|^|__%P(hpld1qubc%?7Cs03EYpNK3e?}6OzOi#9Vw{_ZbDFc!31q{SS8P47>y9{P z(GCD+H6v7sjQRwbjz;{jRRoruXhZ2WI||3h^$1Uy9Hk|>+saAAm{*a*c(nk{K0bDu z0n3EsuUEpyiO^wzPw2m`Uqpg=wBU0J2DAF3By&ncDDCW`TCbl^6!I_`?Pja4*Yq*6NE;L<;yt zx`0i%pmpyi?-eJ7#W%v66LINCzg2W1^PBXAHMH&hNE!r zqUe;wi8@5vYY{&WKHz%{lpG8(plotz<%{wHlEYiX;}7EDTzeBV-2QjRiBZ{zK#K8d za`w=MB$Z^H99Y?L=jF^;tfc{J?MXx7s`j#kBFKxwb zoufDG){NNRjH~TUS}xh=BE6MOtc&KzortRi)IoD6qc6_kXDy@d3RP6zB3syN)GP&} z%(OPx*S#*s_{|(M_1S)pl05rk*K(!gG+_Ng%9H8M*C%>fv-W12zzjx!a=kJJEbY8i z^b#6P4I(&?fpiE6)S=?BZ+-CK2K`+Ti-z^}UE+B>&%xren4olGP1d{ri2|#^(c8ZtIWuWNhle`GctSN|3s;z$5~f4Wl}fyTk78 zB8B%k2*-aOCK^~jIgvj#)vxr_DW1lS3FdTQKRnN@#?o*ebT1}IsS0*2U~q5Y7^}c} zAZV*|E=;$O;)Dw2jx6VR55(n*Ah{CEx;@&1zJi_9ybmxIz8KR%Qe)qGg(RR@JF~9RjWq`V|vOL-in*8|4@^}C{a7?-EIAV-j?r^1 zz&zt>^R4qZwdtjfdcC*aYpVYP{V}xOT|x3n*TFdlUu<{7dor3Z*)dNq4Rp!WzZwrW zA7sM_-1`EapKje1ugARIoU9j32r$`P|5MR05x4HF_N*^TtCP-8bohu-dkSMedUbOy zi|Z6R@Y|PYykpFXb~Ee7ncbaJ+CAd&Vh6G1=MjNLROO8-Ou(?|qllN?mJ;78@7ca8 zf37ix{}9mzAd8(%Zacn!Fis1pP+;9T6thad`)D+#FWI8;qfO$|tfzGo7{t@! zPuB#e+U@qJ%+cd;5#-UG&>BGW&7>(?Gm;A>r$JfNMIGh&6#banRSuIcF^@WsNHXb( z{R|#Y{p|3o4Es{?wd-je8)0*jC|15Dj~C@6uB!yA9(-isi% zcR0PGGhxJC!`kpmFOeJCtV^t!iG8GelF$e)?&z9K?4!EsvZu1B8&ip1QEx%gqt< zN%B@F-EiC|Wz>5Mr{!2u?&Y6HIF>(&{h?ii4xREb{EMc0)avH)NSaNLz^gWK?XD)4 zy%491=)5lYo!3?L#0&H(%OOB{*n>$O1kd)_o?ks7IM>F(@j#yW)x;o)OV=$;FK}y{ z-iQqmRi7ldKz8=)pNN8TFY}p3HLsbzx-7O-)mr7mcu@mFIW{(9&Epd5mLWrgT4fzG zn29InQRTkSsXd@~)bYdjGxv0g{H-qpRRx2%L|0=*7HIFFgDFUkN&=T!!upeLBZ6)# z;r35jb19$5{BMZThMI#$bTtPkdi6$SD{hbXwY}TjH%IxM!E573D0j7XT1Tlu4c~Gi z@kC1@e5U!vPD_N}*9bqYRNKrYe!NOf=9!X-rHBgqQU!azJZd&H!oPJf^V*3EgvOoI zv0`b}(Xm3>QfQLq!KsCmYZj6y)})zYXx7R@lbkKJju-;uPZsblg2}Jp@683Uq4wr= z!cz@RvdWZrVJFcTkyNsqVVNv}7LTrMv>`^%jX0_-pT;&Pe%Jy)oQt>=vI zTk_IwlVTB^rx#F3TYl=@r9L&RzaFeGK^Ne`E3qH|O+u>)Z+2=Bvx|ZG!5#f`VoYGm zwf05&Prys33;PSiO}(4@x7KC9SsN6c(=e(a)IV@aR3ch(Hb!?JE)}cYhb;L|_OgJ2 z4RqFmy|$`>6)vQ`%R}+&r~2o-juR#lv5)0T!9{y%qrre%%{bjPOiuz+D{-8)E^0UE zRFG^cW`t;+7~;Legul2w)A{`kp6~5hO??f@;3@1uj9nnn5gndg+K|t*Ekf*e4tK zFc|x+_@t@!Z?Cl2V$c%tyC5 z>u|jI?oRe?{mD=vEclT?3?R0@5Cd;?d_bh?Rd zYtrLsFaL1#>+4+IM(tj67do}~{FEkA;qw$|@l_VfCTYkagB$PN_Ug)xwe#(umc-~Z zG}ITIAHdbE{Zf51@^a$aFlnBi;PhQuU+1C|A199dcR6HPVRV@6cz4gJTNC&)F_E`k zk{xe)m-_R>aD&kUKrB4HlXG7XAAI*VV?Ne+BQ~zX)1VP$-RQl3J`r#Di_yL@9u>e_ zSD-xWm6t>4r#g;(ez84mxp35A=Ur3xZl0_ZrB_5g-oj_aXZqGF+BLB=`X?|}gL#aE z_9cqpedJf#b;j;9VSL=8M?BHHv-KUKKX=$89k*x|9&jn^vrhj<(v|o#`N03A5@JbG zIaWy$S>;>qEhI@R z6PgfL`Is7ONJKSOfz~+IugB1wXJL*JaA(Wmd8mdj%A-C;EhXEJ?0|VQHMm1{54MiY z^K4EPt7qi{&ZZ`JZI_Tx$L4ohxHN?*3uXRo%1T`N9Q zF(WxFl8TrA)7;m;C}r5-g%Tk6)@wz0e`rSn_-i z@E@)5OQ_YXGtEYIro7MFDxy!J$%G_g&3`~!tb%0`o)@+Jme)Z3ro2V04s+W0GuFG}#Hi_fbW5)7G;61Pl z^HuA7M!QacPO}q`HzC`VJgCe3Z}GpvcO&0jqu=#ARtI>LTfOA{tSG|;BIH&{!LS}? z!rGNzpLaNX+ccel|D2RlwxSf-aGL6_3V>s}lA zKVE_G8$;Yod6_{K@k({A z_u&d$O$Sl7{?)2UFC(&cJc7iC>P}#W4&9^w#%>@qlvgP1rmH=3gbe-IGHvC3a>Co| zyap>E;vW{)*0_KV`m!O@Y$74&3+@^uZ2$wgf|=yU(h}%7&M(42r*y??L}jm#lM|*d zM8NltQ*^t3HdX;nu8ixfI*6XI4-Hx+)R8;e2d|5T-NnO86xnGOnw>h8p;G8*7jh`nm^fnid<%o?N+y zJx0AeV_?V@D1|b}2WiR@4)NYjqd^`)S!f-v`V}rjBu1vzua*57?=I(t7Ld zBlEfB!lYfYFvomYl33$Tm@0RnI4%3cG4t5sWvA%uw3R)lUkoYR9ED1=9F9IRnL*%==_V^rBhv9|%)Qsu zc&sVJ*j5}AfZ}~g;ChQO7iZN&WRc1u%)X%Hp!K$lbJvOi5`R_KWy;NkuE!tm?&IKj zVd_4**|$PucEMluyL9H*ry4 znWt}3Q`(sJLJ)s^V%pYqoa^HtPQuKtt-TP#G|J>eXZ3pbqPiSo9ObbRJfI@^{z- zc|xRgGN?#drnaKzc6qn>>)txI-KwJSb>x2Y#4T)j_=b!ktUC&*-w05|0_dup(GNA& z5r=+BW&lvd$4)0WUXfeIfv9_nTh3d9*9k{-T-+%fDi7_YQSaVln!cfb)mU&XW zVa^T6&g*($05-3Ef6>S-*;H&Gw#Rwmo;@2KYKqD>Xid9LaMLxU=FZ|~T7RpHCtZ_l zRl6--(Yif!u{Cu(=7zu?s6rGcZPnT^!#Z&Kll0WzGjX|%+a(_}bZ1iLQ-5F$z`wN* z=NUtey4|zfrU~36vS6pY{$n-b?`VjV0l z;)Lf872`V~eUUQ9&Dmp`d+gX37kFP>qCCrNoz_RaY|p@BfhD&HjuniM-Ox{C`!G!A zCmczs9wj$rvpAE)(FH#PTvXsJZ;(iF-*qen>%t|s#As{4-&EJyvkY9uqJgKS0rnX~ zDTQ@;BfUL!ST#j=#+G30Hnns?t+>7LdGz>!vY%JJTbGBl9qaN*T|hJlfO*3Azt+1A z5V%H*6R@U!w+0g3r5(73R$qTC%m2SKEF66}gLUSr^xTrlqMdhS6N=hanAzuJ@%o3E zsOLB2O-%gt=re?EwA#(v`_P{zRxd~CACwIKod9i*SYRF~V@xOePfHIC(z0`tN_PH& zecm!yBAwsH-u#A#l`C(|0XDEEW6bJ_ctd)59G>@_`Kg)rQ_sQb!RUZ4*l5{(US|EM zC}mAFIXquldtLGYqezi=ePF%aB)?2!k$Ejx)iyqOY&YE~dibfAwB|1nsG65YyX~dW z_fr~KW&wM~?yj+UB6xj4LA(xSx$tKl2?sMXb^m;LET}y){WxSZwfo7^4r-30wUF`_ zaQJwv9uqsg`gE)&4rcS&di>Su$jJASvD;RWXBY9_=mQv`XeWpVnG_z)3)WpzUnS}e z<+T?QnEEWgE%NBJ`C_o>zP1i1PAku1VmW@JByzU$2UZjDIc#5oW9uZhBl{S9 zpH4ZsIx^d4EnjIy$MoW_W+qH2DuHvPV>D(^a{xCJSWl|j$i4dxuK0$k-)FQq`*R;6 zp}^!bv%KnCZLCK^iU={PplGI=OMmzhvvMrcu}sjZ^UMsJnQSizfkikrK}M|`F`il? zslh1Uc@UWVv95@Qa`AR0t*px~TT}wiUQdM7)h77gH4fo@x>*CBP3Yr+*F` zarw!F%Z19LaizwX2Oryuc7m@~Pchm}j`@!PxNpwqlTq$Yf5Gco2KNxPkzI_oN0-L!la}ZnpER8zF6@HBy#2&Jlk?Q<{|4NC80;tAv>M$+ zEKY5(FPF>6evZqPAp@t1GpJ)*8hJ(6YfQTzZKs?FF8Qnc5Pta(EGN4E9X#*&d1mVXSeOf7Sy`)?Cup{^`tQ|%a6g!^|I(7hU*5iF%`_W;j6n1Mx}ce=gH06A>XTpik9*Y z8sbSFhPLap?f=+2Y6vM4iO-;h!O-U~6WE{PWgZH&%#0dqr`PP_dl31!jNrJ}*I|3Q zj9QF_WC=Og8`FR&H}~&%BWA8k7*Fn^AB7qe5D;3Uo}5G~OrE4DDNFpjlMj|%A*4bO z!Ynybf7aOEmd&#^^Rty-+?|IZ?^zMFni>^QnpNZ88@!$-ixNZUY_VB~yW}l)>~j83 zTiIK2RO5E;$nm2?w8Om+*dB#7B~}2IP!-^xEbEl4XdJ!x9rbW1*zKxd5*hyN2B;yr z+Q%1n@n(#e*dOp3@Wp49uPv^gL)e>lV4Bxl zuJSAwq_){4!hCm^?$6gN^>&|l4}nMIhVqN5ZhM~O?M$My)QRWQ|C=aMP?5LX7L2O6 zrNz%w>U=r_jd~_11a1)&-q<9u-3QO6Trl~&tE*U!6HE8|!yEh)@=k+omxuagJwJRp zvY6By?f|XdVn8kCtQ=mZ-bdv14|*-o6S3pwz#hfq?3-XysN>7y1FEB+9XHJurG?^2l)4aB6o6?9b7`cb`J~s4kN+m4STzHax6C4 zdJv`PSi$cpp4B1Gn$2P42dde>I0$pJa=nG~Gh0ElK)f+c|CSn6ryzN|jv zp~RC&Bsh+SL7?rOtO|_Mmt0Cs8M>Lkt&ts6B;0Qi6Z@ z%8ZC4twDur-oSu&Z0G3O_!zv#8uO+it;r^ME#kw~$~y|tHl4#vXZi!B@1S!vK6j2y4)3CsQ;r5a3-ZKQBoQKd6dH#bi-eh7F0 z?z@>|)tUU*I+NWa;ogc|A8$qFM&$n6@Q@kXS+Zv9Cf@d2=*j3)rMgLxv(BYptwFAE z=ID`@5jRF1lI*HEizn@h5jg&sf{}DH=CW{Wh@tztO;Zk(IpoQ_`29i_(?)xoxKh#mG8+3&zhd`PwCNGs~NIiS^Bs^`aPsa z^%!_KWTNV*f#i$&lE!e%-g^MU<3!h|!yX}mOvDX9lVGDw!rdfxkaps+cyoLU|Hg>x z`Nqvn)u(6o^pGYjQe`(y_Oyh5#OsZMl6K)lc_6=7>5m6zgQX=ZWeOPzCY|^E0K0TW zfJL)qRhu7AB1f@acp1gpI_*e;8|<+VKyWl!l%oY_#IJ3l>n8;lLG|aSqs@ci*TF@K z-0#J4erVfb4V?H@R|YSeO21i z>!=7<%^Y}zthvc?nFkYVOxK5|r8QY(D+n9R?{*!%fmq7gAbMuN{#e|NckvFsoe3J| zyu-JkFDz6PL_9pG1P0yfp0!CZgFYr0kQmSpB&T`2!wI$i1MQL#TOK#SmP>G-Ig zi&|r({D)112=$w2f}8n(b;Q_W`yQ$7Xi4q4MZW^DlIXK3)C1ECkuBO$ELI4&_6Ae6 z{umhFfI%%dM+fM`ch?vJE)iw!8Hgs9PFIK8_>ksejZC#i))jF((;;J>y?=snp}iCUHqB1-dWOGm_uNqs=9dDq4o*SN8&e}%3+ z#NOo{c_mZ7)=hg{yI01Z&UCNT{Dn42J>swT$in;`xJnG_k&mOwg9!oa89w=&Eo;)d z)NeY0PM8S?mKsFYlr3(gOy0LV`IsE>LO`q9{F00clF zP)ntNY25e)pedyYD;20Q%zBws(0M_2v~*b)1t2O=9|h&oO6TVCnaPR#Zs)3I>$=7T zl3ok*wlto1AZ#aFH8&=>BrUS~M_Vf-Os7~zE)IC-9b@y79VJe_AuZfZQa-zzBp>nA z7lY7x$-7i%wc|*1Mq}g=0(OmK7}rxT0S}@}E^5`I6qs6#(QebxCevZYa(thtbeEPK z)LV;YlJPPXLc8|d`mx(4@EdA&)hht8LhYp)eFh0Q)3OQl3y@De=RLq1Qx!4P zC7TOrQxesnWlvv*!AEM92k*l~^zJ!>^33>f^a8@pK7;4OUpUBuCEd`hCcam?BHFf14aB6iI5BR8h+kS1!@=dRN45m^(k%C=ysbloYive6B&5~xYj;m| zKMSovX5AmxEpBX%UcB|zH|n3dT&8nIG@13nD5%h2ICxuO!Z=2Ax=W(l1KmOOs~1ET z$xszefUrTtipGw)YLe^jW$Q^_mSkir3w>?;R58@uZm!!$A1SgQl+JXzT|-8vw);KS9g&L< zsj-JVk*>dl2|v_KB&D>rqz?hTrQKUGzpYaWNH=LFZ-D)@8kgUsq*7E$U&qqPzOc49 zA1e^+1-qMgI$FgI7x&v<1l%ufGt$3DnjC<}rfN!Vm{%Wp5OnVi6h%tn?VXVBN=`h_ z$)zKh?;^i#3*5!qO2fR^CZnuM;4w3jBa4*OVN4ITUc3)wRUaWIDLv4o_wz}#)9t@q z&^HQ}*3i2MFnCCMd=#QF-EO5a9a-jdM{1_6ZSME_`0ofHgS$Htt}4zv2~$dwswV_r z&z(Q;1s9HebJZ#)GOj_IHN(zJyxu*Bpf#`WX2-cN&C_5-F=LS^&5z?fj*G`VF@o+h zckv-Lk8W-gW?wF{CshRLpzs!=wpL+Hkia6zZHcZoNj_=rl6A1pWvp{6rE7Q|n20L@0t2~$8Q&n64XiAP0 zMz=~e8k@c}RTWeG!2FH#M{z`e=Ml80M!sJ4*@ya2B$ zhV#`A`IwD7=Z4-6#(5_%h17mWOZ*#3^ZFH|=k3uUBduw-h5dCjixCaYB^pagJKMjH z3cJ0o$b4a2&R@M`AH@a&=NQ=u`z47Yy48oSU0`}fDB!h5vilw{u zF!SCVVX^U$Q#S9H;ZkaC_jI3b~s|qM>sqe?>t}r~`{-PY_RK zlKlE#R_V~a<%S;T2NPT|_uZu-GGF5S4N=r9NV5IeQGj%S;McO4cJ_|~*6Z%kCd7MH z8t!T+!FHXl3|15Rt!Z;y^Jw1S(O!S7^jot(Y)3o|?)EaKnB@3AJ|4b?`YZw~S&L?lyrM@=fBBs!2J@9gXdZm5O_f!mE~1?*$HWp^xh zlfx?K*2qN?jal!qk{6Lu#a|}q6G&^Fy)bLlury-ONZpa2Qc#b#^>p4d@tqsKFA`U~YRZ;|lOvz3(+@q-p;^3cld@_PR6cCN&?2t2f>L)^Oxbvxrtb)Vc^9SDAllclXbIFDKhJzqt7A z7}N7GbMfF*k)rtHROYoen$vdJ8Pz6(F1qX&Z-(V|ks)I&)^=OqUmQ@0zu@rNzw6C~ zx4(?8R;Jq@xTBQbZhZcnlcGbPwUa}0QkcW}FDd?&W+!~B#o$s-*%dO{AZS(fRq|G{$?%dC(u!t&1CX;msfZ-$oHLq(UT{Mb(JXYcC)l19m`MS z3Iz?7pRlrn_W^J8jNQ&Imc~Y45r0ar-7w>&L^tF)RV$#Mgjr!@f}eA2*i9O(WMAiF z(j%45PV~C=Ovf%R0=<|r)rsOWsy8lIPlRAwyVlE@=Rm{(i8g& z{~NxU3BKU$PLp4!&>uM!V7}}Uu%+_qViU?wo$0=_(JK_?-}=ue7f<@PZAotQT>3X^bD+^mUbyHXT+T;`5KC@uvcbg?K*od$FsTouAm7BFD#ev{H~A`-t+qzGt7wK0isqPsoLB`hjL+bmt-Ry+A+eqGGxSwGM%rDUPu65 zpBr206L71sK8?8{`nCPii6aB92n&Nm%!drIbN zc8wkH&+i!8Omn>58og>Yc~rUkGv<>)^xf6OO0zLIPQ=Kh;B2ev>6=(pxI|=ORrCjS zCrGK|P^DJu@jj^5hva&;V33%|kp#iJ7mb-_rtksE^UyJ91_SG*YFDT}2UoVn1Ci~e zL{$#p-F}jnZs(0j#_T?Efnr_emfgHhHFBBr{=$!)rfPHVYyCfg55b;cxLp_DyHx_e z%=Dgg?IpfS^d^;cEWKarzN6IVaUrw-wWgaOKDrFhrlZD2k!(uG$Id3n;^Dxdb;{?{ zka$tD4b=W$ulpH_+o~X`ku;_# zoRkJn(1Y66;5!lLGvN?g}uV13KXX6UHLx2HQZM zMc;4P{NX;h*zB0WJ~AIWKwDtG#ME@&X~hG4wOjga_TXk{D_gK$nTjo5hGJ>u5_ki> zKXACMtmP=%rvkwWuN?1g#CTU?ThWj)Y)-_&;S0kCqdn-FTy(>2QM?wtCVAEE+?vnf zzr;&F;C3^7EVgFjlJ=Luv~ec%h1+oqXsG+b3&(1r?7mN2TM)N5KB z(q5@99e~zu#q`+MD9mLo;=gnb;I3T9+z4prMor;1VU@a39P2^lm7lHWEZzHg7(DE* zuGXCUyf3T~Q3WRpo~)THTwXHx1Y>2EqRjNDZ6AuF_n~uBPkel+8kvmrmJU*r#r?7v zK^}Z-M>BGQj!2|;xF?6`jpgTh+>L0`<~pDnZ*2}l>}V&-U>vUXkpMd{i=y;f3}5WF3qj9qS}^Oi16fOLUjj&p^jF`A1b{nYGB zwf=Jz@{E*-ZBshJa~R=N#!g=UNw_v_E}D~it41X-KD@2`M8J#Qf1oMW6zWZ=5Uo+j z{zjjKUFfsVkOW1hx2B(HP4puhS{3sXHc776OCrvXELrRd31JsTSXpLScH4Dq! zY}0Z)l@y!t<1fe`jc7}SZ367?xQOk4&fBjm8Eeg>>vuVdRk`Umt(uDDgNPL*XxqZt!K_k~q_3^-VEipo@s|86VD1Q0b}fy!^|>hIh?%@u@>klXnNL{@MHS+(AnciMB&Zj@ zoF9%_hOdk&b|+rdL~meM7%^V=;H!5^zsbU>J6E4D6L@SU|M034iMtR2RqUXmvANOF zkH|vR#-DAH4U#)q-(ciIzh&Nl*W0pvBuB`@uN`9UJvj^P1;3Zfn$TnF(;uZ?)&LGn zUW+0G43iay4d#GJIgGR*$oiQCD5(dK&MOht8>9vXr{NBjeh>b<7cIuWAe?Wa7n~v+Xu2t&WwX^qn}SO4fc}rNI|JChy?e3M3k3UDS$D?Y=1(L~Z5m z=(v`TDTZjY_+b+%dPl%aQ=5@OwS|j7>sT>q1Tcd#O7PpkHO{3y2R@q9RH{8}B)p!U z>*3H>aAf|va^K&XpYOp}tHEX7++7P?Y4u-T;Fx6p(3AMJ7@ftzgol`DY^NIbs2QE9 z`Gu_w--%ld)~T1c7dkGXG$_%%s=j@y*K&1!%$9-po|EiYkj_dor6W*=E+>De*2BT^_S)flDWgD+{uuo|DXB>w+F`l*;nkp3;oYyhX@<&alc`%?oKies!vK)pL z*;u?w=m?0Er3*I@wOV|@AMSo4`_#TZCDTnQ=Wky=U+G7bwixXmr{_G3Ye>f?1rAx7 z3+WY?Pd8wU+v`&ypd1nz}JX-Ncbj6 z@_hi=;?*mRKX5|9#R1YD)oQk2a1?WI&oA{fo?dSPN3!#ju8?|Wo{0UxqyxX?j26z- z3aAb?D>c5h=pj~P=!uN9?25=p`n_*J%@Ur7x34)9pDjxPJF9D;6rBgpXLhRfMLy`o~D?&y^8( zR#`8)4-9gn>4Augzbg(U)!b%D=hoaClFC$tW#VZJ=p6QQ{vZFNzFF-`){dXD zc;@(}asy%W3fdMJ5qJ)9AgsVGjFE(1LHtb2dfo4TqAK(y7{Zm;>Bd7Op-Iyv+!XQ3 zL7PT0jq^GtxzYM`2KP*~Dc5UR)-?`Y)P6wBBTmy?Ho^5VhGk8_Rpard^-(YzgY-6S1{>?Y)e!yc~EhrKS{!^N^RGsr03O_BpMzS~m z{}6r&0GmBCyLZvE+OYrbf2(qm!w_vrYun671?ZQ|VZI7oVh{v?dLlyzS2yrP%EOP8 zQ%oP?6RB&)$kogL&Vd`zs$Mw1)>;DiC9$GivWKWJ`e6TbA0Z`6Bbk-9Q&;FU0pp^? zd;gj7ua95*E7^|9+LPf7dURHN^%*E#+UeOd(q0Q`=EKE)W}TN1JpbV<;_mHvg)#4bEvY7Z#I_X!B?pugad6GxM&@tY4@+i3n zp+9AFC?rPG3P2nXU}Q=w>qX9Mipiw8Bgu#2f{Ds??6D=&6Ocqw0x<#cYZPZ|?l=u1 z8+3#}yaqY}lgn(a^sP!u#Fpu%p+L4IyoMuhMv)g7ZdsZdnwdY6u=-x44|KvFti4p@ z(4URT3I1Bsk-`UOUj%U7;)~1`C98{Pv;H!rCbR_6hkUZ+4hFui8s$wLI*AL9kjKan z=heyWbYiWm1-K7ACwmXxPsvRC>sX81z3eb&*zYnu_gHp&JYMININ1tR>MWcWt=*K> zSYoUgwfS!>Sepi1J0k;u&)bL+RZs|;3*}i(<%P^0wH+g!M zk3gMy%u&E9GyPw&hYPluZ2I+4a@I+FXA8J_*zMF=@sZie=qc{xJpRk=c}}QT*fHVX zm7J+=w?f8a;TJExd26jMYQh>I!w<0$qXiIIbg$2APhN$6tq9u7d0Z7jHJ9kTmtl^M z4u!Q=pf-xzEXN)tu%%Js(Q9XmE<6Nt1kU^?@uIcZH>R;-qKg~Flwz+n40rZ-BU_g? z4CXOw6a=|riD7(J8bcpo2QJ9?P(HVWX(046&#&NiM#&;4;HGlyxjZ+^>*f-gX6B;` zgAv5Hp%Ucohjpe-=`2)9p{5sg0-Woqt3N_X^Y&{(W{sSUG%Mp^bt(lAj`f91 zq5ZazEzILMxnMX;M9nxL?w0Ma!2BrUvtOFBsOs%#m!#Vm8j|; z(4iMipyOl>s|M~S|F~Ij;)^b7_uy$#Z-@&+FKYbU16%{=n083hTXxjCPsEV1}KwdYJUFqNwUhVuL5fE{lSLTv$LJ-T`p zW5`dH7&@APv_O-gw~IUi89)LxhWf~aYKVeFT2_M45pF9i-7i;Y0*05&I^>ZBMNTrJ z$PqSF8qFi0j75z39Y`xzfKY?k0!c*VBcsv|j}dYn!eaz!*$t|-I5EIRSsC&So+QjT zf*(qQ&?zU3%o22w<2y@5?A!3u7TP5_qa@<tM0HU zu30|sF8KZpzlBtCzRRIud@W5(Vu!X*Pa{ z(GSR>7oLab5rX$F#PGJWVIhUkS46GFz!A>&ibh$k%t=Q5oM!2AY8P-EG9lVIY16Q$ z$}N%gl#NN8AdeD`Osh#ufmluIKN-+Hu}koB<|UnX0T=2`FDh?vNuwVrMfsbs3()X1 ze=txUy^Z%@{5;FkjH3T{g#JUjfggQYx=xP zxF-TMcyfpy;tSFD-Qsed+;>t&Ej){P@ZZ_!4B`Q{EZm&CGb1LXvjFmmILB-W4ZD!A zt7O{ zPjA!*_XT&>MElr0<@DV}s@`2cyy&z|${a;X4;b)%wDNvznJ4b&-GK9V5#5YtZq6(j z)8a%$BJsqTRbaBg(X?HtIHCFUhEb2Pg~Kal^9fS%KecbN2lB_4BLhHAU6+}@R&1|( z4PI+os86EFY=aqQ^-mf}G}C{XxP3t^L~2VW3|NvQ&}J;Q!e}w_AWS;l@v-7;hjbRq zif~%42%$!clugy5D!Wyp1gP-iLi+oD))?3CK&D}t8nDuT?fo0W{qSsUF%i+)CrVM*eKZrPI_` zt<-bLeEAtquj5suAH+Genu%!K_>%jv@795!7_Se!foyzy-KzeX?afo6;S z7xF?QaI}a9oX#!c=Laqkg-hM2{O>s7nM$Kcn8_%w2Dj?K#)ZU% zJblH>Lq+HGyv5fYN;rVwAy&ptv3qra1ua$d(7>45#ikKfz>o#-YeAS+*0TuN_2rzZ zP^E>Ws9s7(uPT0ec_iqM+>~QC=A0yrJu{3Ca#`0bkJrO{i!Nuer5{d((#XHw;s2O* z`$Mo6eHK?26>gd!v_3w61WAUjHCm1T63r~)9-%mgPC?kv44$)o9Q7dc{w*0b6#=l9 zFe~1{-{5!SW`xk_X=a*R$>zD4sFq_zxA=n!-kG7x&ON+}?{0gf4_9JV<7*EMQt69*nQezZ+Gj9Xq1|Tz+&`+^5H6b{taq?2 zZZ5{aWp`*gvkCCVT;h{DjT?lTUCjy}PbPbX-gWF@NL)DszZ)1Iu81bP55T`cd$4gd zI}$s2CCE$Arar`5KkqF}N)V4Xw44Zpy$D&!GWr9bp_N|rL|g7y{$L-`DRz>n%vY1n zkW0GhI6o|=V1GoUg z_db6aM?XuOu`lH10XE8h6!elTvZ?}_B(O;voqk`)Q~H=8XrJG@c8Dmg&aui)YOh)> zG86yP4&_}LGTWm1Jh>(a#R&FV95-)aFCE&8xPXL_b_00=*vNRfmOx*hKEC0qaFeyUa`HM)U`EZ@*5(gpc-CC_!I4FJ( z=-UC(WBs=rhH`6pFarz^y(yJyKO(fEXa$SUhwBG+e3mG7;K@ zmzV7K4QM?egB!mjf5%?JA`4X7Nj&X0i4h088uK-$_C7$btCpd)RMLTVHq;%n1;9I` zEY?ubRwrCX1r;E(IPBXSZgY~KsDnrDxFGE6mc3v)s%SmI44RZ@xcu-NuG(5=6VJd5 zGB*7RgmYAf5p}mwev7xs4N$K`jP7@9mMLsh7|J3g{AM4rpOz}fBPAUzdSqSA{5n%T z*#9{UtLtZ-1^I-2&pHHq9&9H%Hcz^cJe<^stOOWbpbm=cByWY6kE36sO8r+++n2Ix ztM_4hNR1*-bE-ic@M>+4`Ba|sv~puQeAHw2IQ+&1nUBne)o^+S*nBUUVxvhi({-B@`BAK@=$k#(;%(PUlU_czoQu{w|e-m6@8+t=sy6Mr@iDFww?-v8cEr z>Pc;Q{@le<4>bdsNeFb;^3m=DLfWYz1EKW~%`}F*{Hw0eRn_9JG_)g#r&~;gw2=iF z^f;3BZf;~1-zqTp;qU{uEVF+w0V7B!o1*Dyc0sy>ii1-Pikx5b-LdD)I0*+_qWP~1 zv*JuWdH#h^FC?3KQKA?!AozX>c^G)Mpn~PV&L-zut5Io@2fIEFSW%oU zJ#=r6$Q^d{2>V6fL-f~%0y?PCmrm`<%eV!8CZg?khexpaIbm>sFQFmgH!|ufG?`LV z+r;k;B9RRK-OoW@WtMSiV$?#&0`kkSLh7Jm4}DM8JLa8@wOR8!e#_J$ix*4DFJ~jr z1O89e|99PyB-G39NCQ5pQ>`ag{3%A15qIL>NYj1ODncGzK zcn8H#5tqknH%;aTVr6wuIybKeCi1#RflwShL7Okt<^|9S_xwJf;Y`JtWjMc=cpvUY zDFqAf9};+hxw~7;c*iS&XGj}k6M|~gUXw0A4n6xqDmykY<@jZk`7GfX1Ys|`oeBz3fG zCa|RQ;E42WB&p&LJ&L%&28$^cum$GOSKZ|htJ$As$MEY#Z0cg=NRm!MhM&=Se2r4j z9T%^@zU%@SL7tYt%}IkorPqP|5E2G zcCZZHNJE1#z@bdXp7}HL7Fg@>fc^KeC%9;DbbJ)JJBI}W))o~smf@8e4GoZh^K`^9 zXbYkfN7eqgFZvCFp&Q%-y9`12y9B?;LJAT_CEoBGnn_*7DQ2SuBi8&GmXc6t5D`&U))E19K%__RKYM| z?QceiHQt!DHSw*%_u46*VLSKNukS-akKpI}^wzFP^KK?*>hU&rZ-+RFh*eYk)X*o` zgBV9Tb}K>P$Py1wPuhF{K(Mu>t~`-B*IWl{73sHFw^0Nl*@QjCTzx=rfFm~tdjXs0 zIQFCAIDQo5uKvoKKaNY&sO`E5<4-m|f%{v6^4|0}wgjP#>8&CEa`ItKqk(Yg4wp#OiI;}T!ALkL|a zNr;BfWwjwxE=3`98A3?+%c`~QAd;?>7S%?jp)^stZllz?ubY-GTea3&Yg@aucK_}7 zH+(LS_vQ6^zJ@#oqv+p1%hSt3oO=qE1UlqX0;7*<=+_gY87t0?{xe}_QjVycq-(;5uZO4)#RfgNd-NcO&gN~Gr>1i>RC#A_!p7A-LK62&Io zVC3fQ+G>C9RXe(Dt@I91Mgt_Z5x=A|d?bi;rR@~Nb}=ofCI^gfja#9pu)%@g&RP-g z1qwOu&%m&dy|O=b=Iy`_gqQG2IsZP-YEGVW0pAhrS|R%P0V%wxhq2O^yIh_OCRE%$ z9i=@*s6SCh*A8-Rin(v^BE2>j*tL6Ose7)iDJ*b?46n8$ML9Uqwl0Ep=f^NP5zywK z2*N(;t#V2Y`ZsERw4z*!oMi#p>&}xcDbdLUfKmj{oN1n7f_5!X*A zH_re-cPB*#&oJsWsOOtl^|xMj8dk9W2t`W7C&qDfMCX0n$ijb?JLw@EUj+}yR$D~< zz~*TXHhm1&qn(G0D2|N}nF60$5P7 zoxy{I9vW<}^wPD*fw7-Z*h=MwLj^0G-|5k|=|hI!SKFPFe0dq;p!XvSwU3?6(HnA` zn|K8MQ+W^NtlXqFio>l?O?c|Wk+jGsCr#%etK0Qvdn?c0hcZnvF`=wn!fdB^utCWby)N|s{Q*;*V+=1$BZ-b?)Bh( z6ES`IK-oz<*<~Dhwe&i?j;JXjYWLNK3Uli|U2PbMdn76x z{Ls0Fb~CI9!O5Abb4lFDIlRMCBIjxODSSg^xa~_EYe)Kgf(CrWZvEAA{OF@_MOtEj zw)^0b9ZHQEzg_dgu#&8g{v1-Wgy@Sy?aV3#w1i#;%4=rb7wt`LfD9heM1q(Eyihf2 zYJ(0%bOWVx%k8GC|E1Wi2_K$SyCE~J06j*&xVS36AQ1->mY zgI{Og*yXJyIi)cDC_Xd;(X64K@a^VgnribLrHZ_Nlah$pNl&IMO0R8RH2SJ}+pe7X z!cw0u&dZ5vT1;hE=P~pXs*{*K02%vop8$i1eb!EN9iT{be5eR(p!$%>06W>aC%s_G z-)kPxNEK$eO_9Huwm*rzpNx4K`*%BiA_6@t#8G5|vFf&sbBv6FROvp7kX{H_52@ZG z`oI}Y8WmraFqDJN^n3ESreoKjfT%AD?2&(YM?dP#7}JKKO)X7AkJ@8UU@>#Wgw3h$ zS@D6jz}=|g3}~uI6@9kHjBx^zD(=yjd-OKN`YVf{oT$TTMx`}+Q80cJVKcoaP|+}HV4}U2fT;ZPM?kolykmhk`1PG@^!?`ndc4B z=WYHPR&mVqk&T>mXCq9kq|c-Jr<36~s^3A3V1PCT=!1VjYXfkdOlhEwcf~sn zNb+`_OQvIpT+R zR$2%wrfMSW(3^-^DL zFPg;xT?FRiE9tiwDX$L!1<%8RlbCfF(YxHS7cqN-$%Rg!HWY2N&Je}?D|j^*Q905J z!SfQbjVfjLl?9`hbssmt8SWV-Hm;~(~%+hu-{;1#n3Dm|1~zrj?Y_n45NYD0PygZ%DM zQxpkL_`vAj`s(&A5^6;Ry|-noL9DJESr4jW^wKq-7ulT+ZgbbZl@HE8lb1JB;axAj zSe>3X%_fYkG95MyMxb=Mvi3o*!RN%E1SnM1XZs6%&$-ei<9cRLjmN=YK5CPAA^N*2 z_U}(@T$jE3zB$si30XU2iwbUX&9;7ep#IQ$jYwXxXK{&1q;l&$Odj=gJQwrESUoxX z=~bA*BYccZdSA(eyOK+0JnRf7-WcJFOyaszVX(<@C?I9o#d$Yu`iR6U>nmUkkzNm)&sat63-I1BcC~AQ?#7 zCKuM;jXOWkf1<*Q`U;Lr$H-z$jh_l68^~mf)hc&=StmO>3@Q*FV%U&B42RmX>r4K} zm#6uG<|tr#I;v9RIAE&?9ey~nLW(@+Eb*EHW#h$1ht*|XHk&mun<|3>@7q3u=R~tK z`)_y~S9nT>Hf07(IVZR*`b7%=zGFys^^t3B=RHbeuhjSB3RuI{28!P3$YR|7--{zi zv-VR?X%S@k<$0Szr)YSE)xhhxqQK~JSIX-!kRksh-@NqCGHD#e@>(g`i{w7DiYR-F zy$2fz+_gpPrW!x1myiiI1NIfEdO3F^MFZ7v&vL^K!&x(PPNHb_!c6x3YXTeVLOvBA z13{`89<*wVf+J^W<3AdLt>0+OogQV>>hZplN8vu+!|FWjf1#u1F^4CV*XJu!L%}BA zi^TsJ7!Q=4i1+sLy7lQAYJ7KYivKCOK%NBXcpUBA?{h)340b9`6_;HhOaY zvZs53?LOIu9eQqo#8J{{%0P-$M2A;QZg$+QC4I+9NBHfk?#OSP@dgL+6H%=v1awdD zH+&~?D(Y&6%5+i8#Y8-vm_v_8K2Z_!^=cKt?3&mKcs=a#Vp4m%-rsBzTPG8v`*JtKFNJL)%eTyXJchE79(#@nhQz;h{K!?y0jh7*-O31jOSTj@*W z1**MM)^u=G*I>aG64-2&FmtTh|80Mq^`fI8AWK!%%XkmP+d92(aX2&cdb>{D=ZM9s?TFq!eTx+*IA<4yz zJR*yits?sm-r)v)IMcY*qv@8=yLqOT!7_N6Oe8HsCqo`7T;1yJ zmO`e^OT@1u_)Fry1bi<0ZMO_(DQt{4Vf-s4)xa)cU&~}`XIZoRhJ!@icy7;Gyt%1-^&5!7Li7@h2gS#|4@3LGuQ@Dw>nv$?CnR(T9!> zvst3n)pG~3J?7Ar%me7eY=iUu{{W?9hlJjf4W`}_x1}Yz{;M{kAW6C1 z_5 z_eRoO4zU+JB_}7$#IPD z@HU(JW9Fe?L7sYzmPFbG)e@YK}udLwljVQ=@L%^MYeAh>EN(dsKo zwHVPE@D==w8#i1Vn*m}3P9xuXzy2$_ojO(Dbbl3apB?SX94uwZ>1S$?OjkhL%6{&oojR+VwA z-Y4aBcukOd{?+T~+vNR&WX8)#B!HJD@{iDOVb35c1ZdhVP@`eGIe*PB)2X-OU5z11 z@zpXW+&D>ncS!kt+UjNhrZjjn{3CFP?A)sOMyWEND1WmHmE`eU4ncSwSF(4mr5QwZu z7$r2g&fV+O;9AC776L0x1S^m;@8L(MY_X5drxmbU(0(?9uJs+}TgtQJ}? zE%}}`DSi3oPjmUuFMmSz-X!Eq2c-b?LmKtP>)3JvpQGtiT*s8bD>kc2HT^IA)-kNqYd!-iV*(9Wo z&?W#WE#JTpWDVXi*19qG^Z;JW)aG0A;EzSDr#V)`-N$RsY1a9{hQ&aR{{ifEd?uA% zb%77s+0YzM+eX`G$tvi!<(X`H?NJ(fO3ADGN9{SXbS}P=z-H7zYJnR%X%X6vBckqy zNwXixyQBvgzJ4YmZoSDQIW*(Rfw5rx(84)|!LEtCvI=%w`kHn#Cu`d%^4o<|PW+>X z{br4lQeeBMUR!d*+pAMso9DsHNa0@;#@oa08(j+xd6cldpofsbxo4l5?ce91>R(>l zUvcWFCqF7vzr&*;XXy39=S_j|^KWdiC&^e(AI_8Z?!{0clzt~A`xKtBMOuw5>IwNM zXs3bL<^z#-z^d>=ug_$#O!u?NMh#D;{rcYT#)e@3OTu?OPYlmLOpk)Thr&L|vF51R zOudjW6m#QNiX$*q@#5Tak2d>9t?He(00;8$=DJygNkXr?C>+xMy`yQ1cWLQ+lGfiu zs&?(BS_k>RlAFZNKy9P;%o(mrKUU|`Zm$Zz^JYs!!q~N@lpe2Xkl}V>77P2c>S2>Fu01m?aZ+I*x2dpGMkC~|5sxY^4N(A4Mg>~`%^t#*O@{iIQ z0C7I}sxH{sZV-2o3Vft_p)RU?W48=->kB8R_n7+C_m1$qJ=9Va2$+M!K; z1W23jxrl5aGvz%_{n2`qSx}kbj9UU_M;Ry|v!5FuJ!u0(khHZCDxG zB=Stq6p$V5d3VrtAfR+2bEHB0k6_ik(Ie4yC;P27iTp95`1#SRkW^fl34y_5)!OgJ z%!zlUzW~k#9W_liPpwvkEg%MiCgye5gV$L@X?`7^cSxBZ(y?N{<>7Q8Z#s<|8FCC6 z{Sv;Du}n-TlKA*mKaE>KxwydM26nyJ*@927N?#2gdsn!?(2` zN7%5zIm^VShqPJU0FDsJ-!MgJJJkARna49@9X2 zfjhI&CmliwEyP_mfdMGQy+>Jkjp_fBT(G8N$3uZZ@%GHn0O*Tbg{eOJb=2?CSPM? zOzDIl;2Ws6XcLX}tieM$8TpJoFgyNd$joxy%v6`xrv`bB=xHYNQ^hFs0oUWx4b$e@ z@_FM1lGz)jE(+peqa|zQ144>5n*-;4n_(Op~c^Bq3i47^>K}?kaw*`&#~6`52RX zkp`Uy|FcuW5bj+A||8g zxWl4Jy(ehR8GF889bD5OyK`B#DA1_ZZf9-a zjV;3d>g>4OYBd;L6{a z4BqdEO{KDuB)j!9zxxWd#Q#}24vpMD`-s;Vy@YqV6UsRn)p^Fgx;Faq%o76jKS(U~ zRoXAI(5&MFCtJ5$>eb9PF;9Xl_FeXG?spQ`jvD4}L``&kjU0>3^PsjO?61Xv@aHDI z4_=Ot&0ShIT%b6C^)0yDkKS)rWZ&MbeDOSTtR`R?7+7g^E=y*)n`TEE0tMTT=bHPw z`lyZ7sXYf7Cd{jPcy3_iI zHsx2{!7|BI;$7oSdik1!sg6*zzmU;uwD|C-3_`zSzbbBm9QnV7d>B8Fi7eL;BS`+W zyd_gcT(o6PMo6!G(Rymh%~%k7PWQy)&3O@&Ruo4T0ou<>N=xE8l)(0CWfA0`d*ys9 zgqdmr^DjW=W&gb9HhK$)0*z+?Kn2)reU35SP4IZJ2S@M`BrAv_qy#)@`!2wp@a9L004|-A zu6k!s>Ea3IEDXka>Y`QC!6#X+xj>)L_E7W*lMI2`27+x@iyFRNEp&}PTdVcLcf{XP z_*Q4?j~=<~?{26Qy$vA>h~;MsxuT<6pCyP)of~j%h&LkPF;iT+O07MON554=F2^!H zwZN_iW~`Zf(Q6fU8-FR$K(A2K{WJs+i~&DsM16Ygz1Hb$6+#S-I5S zRH9C5z5%Vp%=pz}o-66+y^9>VQ~u|25d4j!)q_{N4Ie1_+0Fgmy%VEwjqqj3)Y(jJ z!96<$&%7JHJXx$hHo1;9X2!2yFH$X`aT8#eD1LQNO~xn#c_#4Z1H)6|JS}#8_~3Va zvcSFGu@fi+*hY(ot>Wp4^F7zM2nHhM`Yu(kd!>(p=wKt&0$6gBC^osI(CcH|=uFe4 z?H%EDD@f*P{V4F|Zo~uSVTyskZCVx2zc$Xb-K@SlV>enPCAMCk1@J(PHIsEOqsBwF zvrVBub+YIJ!7wR(Spi4M97>WtD@4z0E)FNH((aPQ9>yRXuY!D`+pz}ofh<(^UXx$& z(U-f~Y1QwL)&`hGrBd8v&}fn^b0*fJT$Z=jm&9kxsU4;*s0Kx8@se zRPLl^EoYxe?2esRuBMnXBaL4Il+c@~IoT<{?;=YCBp#-^cJ_k-9#;;*$mfj4myNBP zX#h=(^D;9ix3$Tv+i|9EccUC`vG3Tii_YIRP5{X=Gt*^xCUI2zGC;cx$;izWmE$Zn z5a`15$U%DJUe=YY2YvO=^F6lFmeAe!Zg2Lm3l_1*&Zt~09apI9xvsyB!hHq^R@q6{ z%Q?uhpSmx%q$zye=<2ZHPpjKJ9Pg9M3Nz)Cnmu$tSl6ujI9vV@%hc2uG@@&M?%$J- zVoC63=$oUjqh4|5&;E%5Erv|YSK2GDCU|$iQGh7h4AT6O@xK>m@Wb8thqV^H%fQcu z3}y&r;UWv3Si3J~b()Qdh{BY!GbVt3LN%y`4GFp<>s1Mq+;b92c3fYT%p(d~&N#Mk ziV<-u99w;tXzrK_?OEC#*+1%mXPEOK?=ajidn6e;X`1(B-HttDwGlXdD%gM>dzU1U zao~;OK60z-VSm%&Lt7LKkEa%h{kPG*iUfpS!G_Q>WS{d?1I3c|m)Dr^9UF}@I{#Jn zor9xBSV{vbori#jvDqGry-%f-sAytlcg*?5YvdY_fg@nS)UG}xl0E7?hqCqNdkwqM zwVy?@%Gb~WP}&Ile}0j_PhGZ*T|`RdUU%v~TAt3y_J!rBimDY%``cGPkB*Zo#I9vxtiuL|ZsS7X$gA({ zcU3wGkN5X)zKxpE774>AadEv4mEL1=_j2N{X~|e>+z#*ZvH|Be_s!$acqYsz3IB#h zIZi*}z3YhM=2U^8*95OuHrW`T@(l5?;PElUMS^|)>l2;1= zXqIwKE_8AqriIMdYB&4$i0%hP7v>9GYV(%_Iu83R7I=o6;H0PXxk*c4_eS6~{{5VT zIIz=8we#dC<2T}$FSK_08Df&vmf>{~LeE1V*DLmdsgknBTd&`bW{jM;7#ZC6gS_*C13%iTP!VcpWhNAP*?su7F;^&SL}VN zuXJ0n?Ogx@)z7*?oDr|x^wgE?3*ZK#1z4HqrU!(S>Xmb%wTtL%$##B6$g$%cz$RqUCF4Wz#p6fkW;CUm0yq&CQ| zR7}?@meoHm3`~ z5#ObnZMWb-uTDU&fACEqrSt&Yjsx{{J|L?FQ(GB9-$1L&^o?&L(f=7{{!ae|Hygw* zshwx`f9)sSQm^s%nZ+&SDbKG$y8S79mZrVn)b0(j_8t*FrzNaljG+t%Mt0OzXCyS> zLjRk~6QP!)0(k|w=(~=WxAcXG`|SVQU-u6r+`iO0zjLO5%+Sl{vO|bBtLsWYQ*GmV|B`4;BGWEFE?&RRg#D;} z%JiNIDR?C#s7_zhx>c{fnTgYJ0e*wdrjm=-&*Gb!pF^jkEDeF2yB1@I+^Sy``&{n( zvbk6}u;(KVg@0%IBQ!7Vydmd~1@Vv@;YG3cp8*u5>%&Mfq))0os){N_>DhByiTj>o z4t?3yMv~dDaskKo>2n%l-l=y*?ibZ(4BfO3{a1T}ua5H?ta1h2iQn5Qu&mPh)E`Sf z&sY(Ygg$ao1Ks+++Dqc(d#VVhJH9MM{~f?_|E^c?OGBa8Ow}eWP4#&p^ZXKbfZ9<) zxn~xGn4DshN`9pD;CNN7WzM}3?Z^orV+W2^J&@d;eVD6e7 z3-)QzRS3=<+8dOHdyNSgeU%aOa5CTUNP*7j1k0OXL)X&<3g{8v$qeYF8V&u7odys!k`>Kr%P_$4gdcTK-h)w^lSt@vJDLf8AG~%c( zXzw|0e2EX=FDt4yVZqTph?Ny@sYbkorpA4GGDQ8g`*#;{9T}J+s!}%w&@TUTQtXgO45oblE>nueo|Xe(w<_(UFO=SMo%KJnMf9 zPyUx0x9NUG(N_p9emRR+V!&4M@NC*Lc0dzX& z;G(F;7v<)!2A4j^tecEpG;A5cPGVd~2m8gsXVvxVXLin#2bz8~IO*pQ*moL`NUNFh z#D02tKNEhWApT>B-fZ4N&6zj-mhVk+Oao+V#^v!xB;T@UtmNv^g~)C}AX}1wZ$bh4 z?rU#4FsF#MLBG*L{>>jaDFt9|!T|jd*xr3w=5_i%fWk9QyXX*HrKg*@Wfh7qwC7uj zf*y^MUE?~VQ7|rXqtYo7*e59a1ZCT+RqN6GEk2=03z@aYRc*%Hi^VmRrD(gf_>qGF z1lkXW)uOG+S?tiJzDIr&j`uM~4>6X(JGmmY+YT3 zeRy}jFp7G3Tc8YoM>OW-a4Y}4lZfoBIr@zr>#6b{5&(e!hj&@F){ep=-@S|p`F}Ad zV4#KHy(Ynkz2QbV9p53lz46?G)O<6Ad?Ik7;07af5QFhaQSaDB1%|43aw&9ixpsN77QWtycZw^YY`trWb;*nz4a?pYRtLDgK5RJk(` z0O!D_6WRyQqLgip5<$!V_x$gpAJ#5$>RV4d&_MorI$*}ThjM7TvSqg|Ra~eZd#A3| z+^L%*09{Gf_~e4+tq6C7*{;SIH{lf12a zzPGLTkG3Z2H@W=%&+MKm#=uv^*sJYxPt0zsDuQ2XUw#9`-SC z8I5A@nMyjkZX%x&74J(C`IhOkX2k0#{{WIeJIXx^Y#u6FM;a@1$GZfE<>uxaxia=E1nx?~TqhcI@GWYM<1GoUvf)ZXM@KQY51{u=`Z%3n&{#;JRlCC8Q!|lW0<2}*UpAqWUOGW{m{1!Qsj>Fy(j0T?M|OYI zJnCDzUj4fO{;NNE#Kfg7H_enc7&|dE9ANFW}8GWW&|Pr;#_3_P!RR+kf@G zoUKhZ?!4kaPt=*L#uq_TH(saZbT=56)%Essv(Dm&2|4^C`eJeH_v<_ax!4im;!`!DLl-7dA|*1`^gzH_`kfZpo`i z=%JKM$_Q~i89VOi6^r_xyv98MB`2=DEOZ)9+Uo%7_0M;~AdX@$iZ5o^zMie0Ry-2&M9XRY!A!2O>dOUmXmEz$53#9g_-4guKsx+xqwJ3L?vzmS z_n?#FO+}1^-Ke`J4~hFe;qou9h&iY5o0ZIj9-i5gszd-%XtNv4b$`3Mfr7wsq^1=Uux&qle}2q?^Oic4lNX<=l+KQ@OAG!%r`4bA zKIBimx!XfROuAPKx7**YwNzDY=h@_mAVGg%QRv4icqjUF069xm{`&)v2zbuZwBtEf zQ9SK)nXj`0`+h!n6$PkBY02V92`#9W@}>itptKW<^x$B$c}qV#?(7FK7I*yYQbv|C zx((j%No}-88Qmurm-5t~AL)uH|4HqoR83C9GU>H$L9>ld$RqWT&4Ukne_{^0uognU zPfw}m5=6$Xcg#l6&i!)o$~}UtMzzvX1yozjW_(lHtMS$eYsDtgYr}y&)Iy+AJ;_69oq@-wE76J zS;_cxaAidJ&wEDN`tdB6Wx#{mVp{!AXg#+}>(6F9AM}bP9AVqG2Rf1Ot5Y*MCp;p~ z3Hjx#) zVUQrBZ! zM$r=X%03E7$7iKa!)?EoX1UkHZ#t$@qEh|_9x;Vy6au@Y=`Gj%%b#S0@qN5EvNdHq z?d;o&#D+7ySt1v-6(5-Cu3Q@43bnmzIV=&$IZgMVXWk(HK%yG_H%*%CYJP3Y@&7yz zv7dt_+Ku42XNahMIjB?NC_%L*q#|L7!!2}wjnNSEOi_}Z`f@Tr{P3GG$4xn1%Xh7&$re{hPXRbxZJ{ zC;t(^|Ek3wTNeGBr}ooqKQO-=f;TmO^0?oMxLqIePd=BH#X^B6F$tMf^QAwc_ZiD} zCED@c`{A2~wIyu*d){jO5qmxR&Besu1UMQ?za7(H>{1h0*MZu>``Rl$h*FhmZprjY zGU6JKH1*w2ahG>1BcdF^j`^X7NfpxtrY^@a{?;y?&fp22690_m?Kjh50*xMELNDVU zt~DLDuxh8om4_i~jzc7|eKi{T(pqsgHo-QyyYx2XEGt0yz&?xuo&iV*MPoTE7Rhe7 z>qsDrFPC;6jP|+$?OT`=Pn$yo{eP5u-9#D8l!aaGadexLPPsDYNZ<=Q)^Y)ZarG;) zEXdyg(SB8!2Z?)8MrJq@{kO|X1km*p_57);6Adn_VqFOlcC!;CnoY$-jH6`@u3&Mq zOVQY5zsECRhtpcOu-NsB#Nr||rVN%A19`Y-x+6Nme=c?Pkhf4xPFqBK=l?%m?~$Ou zY+-+5{qgwLq=0nD$o|zpjTKYSQCpc+4BXU&S%n%PB#xkv>7P)MyPjb?tMeq}-W_^# z%2VR-k|NG|(8;=dvYZtB*?FVG-RAyr?WD0$D1JU~6Y0`K(r(p1PdzR!=0u=Z-*DB+ z_Zo$Mo-h9&+G9exk$z>Oeg@nxdyZhS zzwr|uhsv#AYJArccBr)q*a~=;^C9T`SPCs2eoK7uuPSJ?+>)}kW(Nryg)Fb{d-h=v z-6wldm9?%Zw$k7NU`ikzk|AJh3t>}a>)_PWNLOVWcc=n{uf-mJK8BJ%I~}U z+c|4>;9WE0_={Ue?yA8f>bd6J(5yzV@!h0;QhW4v8SvHIoyt;+zfB3sEBu|ghIqoR zkuN%G&My+N9R}<|Z{dC^^}6efe>=`HNUB(KoCw4>nvylMMvbX3(7n1;i=T zaTr5Nt-r`f>wlsa?8{L`M?;_c;FT&{UQXKwbYF;^8$pJok65GCy#5Tbxi3^nzVZ#b zz@FG`>X+og?8<>}V@eXBFbEDuIC6v+9T%mZ6CZggyBr3(Kg6(u+@lsDYqylkg6;K> z6sTw^W4J}u{{o?b^<2TcuQem%mX@X5lR#-hW7@Pr^#>5E0glNCMqE3^U=J{H%#BR@ z{mQLdZ6Xq>m?Jnq1y53sOH_XccDM_hAO0rywv%RgE4v78>5 z!9(qdBPEM}6!THGS53A&`DHcVjt6(CU&dJ<7t^N-k&A1pa{ zhAsymTUd&ndHrqN;Uzk84)9QLE4D(p^T=%?7hyz8e{9?^9c=rfpjB2r)1k{23<4y> zADpkpW{qF}3wyYanJ5oX)!Eo=hRHs-YS~V~YL?z7TT*>%%pH;>cE`ETI8WW(&X99< zsz0dBVjz2H+FgQ%sLva0LyRMTjAqq|BMfw%z{LeHwlug}_N-*&S5?1L?^|>`oBY3$ z>MJaR1D#siN$vdPF(cC91Dgy$YXcppF;OT&A^XT*;9tl{D`J>v;oy=}fLe$N6&(>9u}+G~TPjz=pjO%Vvk4E9rK;IQm$OcDel)Bu zsHc9|Y0CeYi1rG88T5Ip2{b+KSWEA+$C18H`=nQ1%dbwih`d6qvy^^0ZVhib<`nja z-lG=EOc>fB^d3w0*?6&q`tE98o8X|oCn*5_ zUJ!Je+v}EJZ5xu{GL_3G+$8Tm0z4OLREiaGGdKs4?O>;jg1s{SL0{+gE>s`7-2Vah zDc~w&51n6U3L9<=LFWi2JTjpkizBqkj!*17zw!)$%RcQzp3N2HCS^zhBIyDq=<9$- zv>W=}_@Cu$hvo6dRxw@+Khdl@wWS@*CTT-^jKxkM`!dnge1P?hb;>ogr2Rb;il17? zabxWNVLc^trHNBR(4q>cwWq?CW*A@aE8(8J(2RQ-EnE7U6r$HBt}r8j)A zKfo_ZhmBtAncYs9mH#NP-TEqnJK(fos_7GZm?H#NS{?$%fD<_uEDR4LG0j6+mg>0m zdnx3Je+6IJ{aNi4O=gs4hKb#+$LPI-Kq3PYh_i59D>bH1eWBy{dEibq5Y(`hv$?(+ zY=_<}22wv<(9yhl$wu@86L!AZA_pW{}Sm@lq`|Lmr`X=P`x__3Q9Sey^ zUmUUE#lSnA3vFL!2zSHe?%}7XfGY$1cf681*oIlDTdBnle>~fK9WXP-Y^vri_{U-o z9U2g~=r>sj(-8$t0X|!yRNsA!_hZQPz0jtVFCB}>FMxgsa4x_#elEjp;`?pmL-}fT z=CZyDmg`&4C&RDm8c;E3D$q{sK}<|&9*$J|?9yRdcm1;dH?f6{??(ORB^kihS>se&$b} z)nKSIG-=%*8T&ahM;veYL0j-e0qU^z`jTP?>Nb5?ZNT1?15>WQ4?Zl<+YMd+#c(!y zJ@;h-Xm71V#Y*4QE#NNDBsWZU3+>BIFYpTcE2PbRH~UndxbjcBxM}yMDM&GAFEl&A z{F2kfbZ!g{^}Z}{R?6P}QAx-_;8y`B_EA#00BnO6;5ys6ZXiQS9)%ogq|Tf zbh>6IlqIqF47?wQ&e?{4ggpMCRB9+Xs5T9yuzhGr<$B#l4(K{{6vC3T?t|j&Fsh?% z0YUdu6qK%f)MWvMrZVBn8I zV=HB=h53g#j6cheFnbKLyWq{MN%i%pDa$+h7#SRmS{XBILpi3cncM-|Tz>y9!|Rj! znM7V_0z5^`Di8M~_~JbQJxcds!ZYQy>kM~MQ6cUvk+5ZQK=*=uJR%=QrZ@l{$is}M znMz|ng_$49TlvMm6LF$r4oUWazyl^Y0bik`%#A~G=-cNa{=oyo?&;ThmQIix-tKpW z-c9~OnN{x{cGC|IqG9OxKMU*I$J%HAn!{xKROWHESCqtco5-1rHE0#%XKA~9j+x$h zI?TJ#>n^?4{X-vla@{x(z1-0TWGW(w0aN~$=z%T`%{okDbjKd-Q=pS6Pw{N=X^>)Y zhwbK&rL_@N^FmV8WVPjQ;K*3TY?9q<+q#*$(O+@H$M;x4gq}=s0`VEw`WR$UBRTvD zru3I*Y6W?xN9?l+Z*gG)`%DUO|1sja(f_HG`jkZ$616}AFkHf(f;NpdsYneY$A&^6 zv+wy?tF(&fY|47o$o{^~b9lfG4r2O+2w3-7rQ&V4Odo!!+VtSR2L&c&A zC~$wPChHPp!Mr{BveJy`CtHC!v)PVi!e(0ZF*x2u(kV}NT#1Lht2XhLuo7LUkM}jd zt*8zO;sy;UKMKD3#}Ya$^@h|%SG<1L`~J}rSjI;gPsz%?{>{*k8*n#Ew|zrzXU*mP z0~bhzsVspjFSAKQ^bPpcdkPO*D?i$px44v@-y`|Bhnm?Z=25zSO4fQ zb^Hy_|B3#v1sf0hdlT@?v6g$|jpdYoS^vu7NL?`T{ddaPE&kz)>V35Kq?W9~G;(#p zHs#LrTIb;`aS@758atG|OptAVm(rczVt~ubj4{xV@mN=9i2x~oB_t@ zU9)KV&$1OGt?G+bZ{HK?*vHDxSI+-ZUnyOwLqndev&G8%XOstW*bTp{o?m zC=!yq2dY<%#rLkFTsWI$<1o2^Ab->FXihsnovbPoR zz8jxbfA{NXhxB*(Jv?<`g&J=xc?{=o39WW|*?k_f0|-ZA($(%8)UuYdUET*FN>ii& zZSBi!pp<^&i4mAU=ca0-6>@l5nboVA?~Fzj_*P;U<}ic@e~0GIPcq*PM0jVHtC0W) z9lp7^_FmG&Hw`za%VwLy-L}i)BeiR$VY3H=Pdj&$m7faI*O`d7ut+oa{aDz2-G(VF z(_5rSS7feaAwrWm0gcIwmP3w0Ia7Gkw#btXW9pa_$kG1wim^QNgQ2Ngr>=4?!2WRI z-R4i<8_aooZ_I!S42G9VAhuG#@OtPL-tS|S+s}&Bh8y1pDgWtb{1GwMk_qa2S%Xdk zfk(7T@9o5EK>N+Ui~HaGh&*H}y+7HRG1zp&&;tS(9NfRQ7Td9g5HM0yr9QhCLrw|Mmrg22RE>Y6PO*-6VE zD#Y%%FT!H6UE=?7_TEuVJ<-3YiZp2=Dj+2)0wN01JE2Gu0Tl(5_C-W`mzIzOq^Wcp zA|0d%LPP_hg-8*kCek55=%Izs6B0sR^mp%D@4mm@daT3D=d6>=IkRV%$;>``+cP?A z0V~u?!!+fYYrD_E$uSWAa|c;I$=C=GGPs&JFVLiF@Oe)Cis}l**R;pXxNKY z(eBkm?`wZhd+-J$9l78%3HP9Z(lGec4cb3n&{kn zdnaQBYH^c^#s1KckwR%=A~Sjg%(qhXD)(Mygb_Ta;fi#vGM?fzFC zdm0a$0c}C|{N7rYVURG*QxxkErSm!~P{Doa4{tZwGWj_28rT=-P-12~NtNW%UOK}_ zyGboeQKfjYE@4{5N_n$Q=Z7~0P!aFnlC9+N3VR(n7#RoA}?? zhHgOSQ0ou{BCKuaR;<}kXJ@319c*YjhaN?G?fH8?@}?H0OJ zEua;3F`Gt;WP~@)--OZ+DZ51DIt|cNLRwz#9FTu9;|4vO@Xpj7d`=5)Ot)sHuykiE zE1x>Bd&}E1JLs9$;AY#|%DEQ#bZ2VlM9}NC`I#J#bb*o90k^fQ-AwzD%ZfRJF7JXDGDtOvQ)u(J z%JU8SC|b~$Kbdo+Z>+6@$>}72H}rPHqiwM*K7+r})0`-lR!?065!PeVh*9w^zITl~ zmxox0;D%;9E1%IP)FIPxz))zboIh@-dvWL9k@2>ph-OLF?-tKOV6}Ki!!CH1Ov)e& zabU7IbgRtmyTWSE(%5FBtbBB0sFP~J^P@Dgn@4owyFlmUeRh*s5#DsCgN6{7$uI{a zt4wqJElM9s={#_`sxV=e_{)F({i`yQ8Ox}(NFA~Ql}-a@DEf&;@M*W#I5iZk3}VWM zC|ip?@PzIfd%I~__;*}Ohb(VB<_Q70eXtJvwLuV7LskSDhQFj}t!_n8ElXT;PIp(- z7Lso=?l7u;<+7@2oJ}L$zUL>IY~5|Pp?2s$^NWy}+=pDhgPShH?J2~`CV4bh| zGLjwUieaV=V09){Jxb(-%`Q+kq)CQB%$HpY0Ny*~YToI3RjS7BAVRo$3{Fb=vVCs5 zWlwDs$ zOd5JFH(g^r$cn}Uozp_X*Jh{FznJQ1GJV^#m3&nuOVD2fsw5~IA^s607E)N?lz9LA zM5=A7;XXSBs9CbtCd|dR3(RzWIk>Tdw4B+&oAJy`8ZISnnWX~r?rA=S41qdJ=Cxdo zHp1CSjvLP-hWyS}4dSf6jgH?**!t*C=enO>ZIh* z;b*>ih+5FmnZ4Oh#)E%S5W#B!c^fzd8TrIGVD?S_LEW|x^~C`JiyTuJ@1R@wd!ygv zi}mhr>CQc0{4irdF|?)Psvb@>JoPAa>2a@GC$e_2F#gbQ03r>-(>S)6*(`L_wB;Yr zlHVD1>b`Q_Zx){ySS0tB!wip{_rK<(R0+;e9pFpmFI=;Z4TyIhJ=zy$bFfz(LfJ4{%g=iu@7iFA z7@XI&sNPLnWWfh7f^%0;S$&wD>!FdO+18R9V6)xVb5->-AqxpK*0Ii3E#e=luaeX` z&ahkJbxTCvG&n7^RXh2);&GVKPUnu)E_tru9u1cZvmbe}&L=U{Jl|w_bfouqRma)V zKu$9vXsfeS!9Pr(QElrP;8>~iQ19FIy(Jz+Kr_rh>O4v6h{%{6{jur2pnW)`<<>kV z?c2i3Fo2Q|Pp|O%Un4cx(&fahZo`Y1!MQ_azrwQBltk?Pf5Tn((?imdakTC~pqvn{ z)hv>Mf-ZCSLs@*wJtZL<6wq{oPt`{Exu#0T#L8HBkmfoPk$M<>ma5-|bL8@q0V&h< znsM@CTrpwUuPKTTrO4 z19|X@_7|Wx1J-Ii~VM5wk zlf2uwSk-$Hd@YI@DWK|MGu0Ni&(}fF)FZjV9hU8OUpL1XLYfMEJB`# zOjj?NmD;Cn+^=@FSob9>>KS}CZHq3Qh2m(6BhC%=sYnbdW}$PO;lS`%Llx2AwCc64?!+$u?<(8%Eq{{rp$l@u1d-!EkT8UQ z3$l~!-+?_mYS2C5^){2i&;X=m%ky9~b{&(urgF$A#RaM8{MS(}@tl6-0NV>j`_jkAoiH;bEzp=U zT4QV9oQFd*1|wmfTCgwlL;p2&$@HRzOTGVPGJb@)qRFb23%ezVW;m~i_3U{Q*R|>L zV(jMbE3^{!(bWjzN9jNsUth+=%L6h_>?>l3G{`cAEe+P!_Y%= z(0&GFeitkc5lDa9c(AeX+rOJUy4Pq!9v)d}dU90-PBHJ?gDf?L{S0Zz({9%KKq9Pv zMLSKS(~H%fyg$CpVtI{qrP@sis2gayFS6~ZdH45kaWtT*kM@ee&PXL97Hb>iG6sF= zX?{_tyA_hI&#o^VVy_q{XG+7 zRco#!I1axL#dV*cYwhKX@~&0k_CQ)rj3b9;u{{~<5VYrL&jy9TAd*XAeqygu*2<11 z4vF;7fEVBr^FBd_ypHphJv}6nud4&ScOXI2-eC}f;rlx5H0>`(Vy5(3nm*8fF}L#@ zn)Z?W(w~}H=UQ*exCiL;cgV+A_*RojpNAi9ar`){%tfCn&v_4OT;G9x38}mj0h<1b zw8F5n_eFm5&lTh<&J}n|*jRwz+oV^>(WzMr&tDPgsc;ZcBX!5ywQ(acS*waMwblH} zw-m$Z4I6-ZH&QACJA>#GWBsy+1DeM{y4TYtoW)>ayR`R?z)tOqrb$E*{0{ILiL?z` zlKw9n_Wdrd z_;Rfw{g&a?o}Y#s-u&YFWrkxfH~B*Tn~?rJkLSp%5TMIH@S_S|1I+5h{^1BDiG<`) z*_zSOB>y2{4rkV8>uTl2Ux&vG!u)GiH>MJ>f(2te`-*g@>44#$L@=r;D0XjV+7q>< z)v48o(Vqmk9P?oh&-9GhWav{E7d>Lq{Q?x_$h@0QWWHM;WAPEwGA-KjpF-2fl|Y`^ z(-=OnH%ZR-52hx8w>WlU4yKKTzjhl5Ryx&owq# zqZ&^$Rovc&ex$rXvhAx)mvG6s_b*8?eUO(V@=^p@0{T-62R^oSjil{=Zf^LctppTn zKcn-Ka_Nw9solE(ZghBaE`cAua~`yI8u)?%e3K-vADL^LfDfTKCg4SWiu{BbG3ol5 zTmw22vWY;REEvP7-DL8K^ky6~;O?wc_y#hd{O)@@W~W!VwmnqVH72(0n}Ys5TbV zAg_tGM8NG$%FkxcA1BD+KTZJRtzwC0(X^)VXx9PDXy~<8;plIl1l6S=P8R{Q7h~(f zEN5mBanW{E0}rl(8|@7F7tnhb`2wL-$!L{n$>_F0!M0}#Q0EJFB*)iy*h$;V4ygew zt;rlPgF0bGg~6dJNT7Lf)Nr9ZyEp2TQ5BrW!0qVJak9P8&r>u z1E<&G86jEj0um3z|1)4l@EP|e zW7zj%x6wc*_B%R@gOgyxSt@Sgf`!~L) z5vQtl{W%?1tT-ySO~UX|o9eCjG{(PUBZ9F$vqPb4LxHJySSQ0-Z*1N9++-5opScf@ z|9f?ih zL7jX2A|PTp=I-VB80=F<+uf^&E>~|f-58QM3|y{qsw^nkbu7qinJS<)!DmPncb)eh zmW|PlZ}Gika5=^~^Tf5~C1}Q>`P|}JW}RlMXQO9}+G5&D;}hZuaVBx|)0E8$ugJQ8 zvT>*@?g9;nq%>{vQy5B!Ty;o~oV@RJks z#cpAFFSqe`GWkRU8awdRd93)I_R$upm!dI8{BRZcxRg{(JpKOu7&p^3J1$$wu0eXdNfNk!~oR||B6>n(Md4hFv;{=3rg zyX0rp?@BMhUB~pS(|@VcC?PxK=g}yEyp$p#M{aI`nvs;1umS~w2L7?aIl8t=n&-eu znnb-MD9XA%%%BuL%!##JMsNj+2G)lKl>&ylu$CLUI!}@U^ZQoL8ecW$xY*9$jjG2k z8Dw$!$|35pmL}q*hFW3~*}TN(9t4SIo`Xp?y6Qr({dQQrnuhPQ|4y|k#~vytu?z%E z9|y$WWSKRMEjpcIOc85U;85aEF;eF(I6WI4`-nsOV)n~`Gp#GUQgc zPB;!`Tx>^GVH=+e{n4RcJGmRPk|FVzCB7H98TQ0~;JG34ICb}2IXgmp1$n9CK;$ug zH#7Q(gXJ`v#4Y~#iwl>N^n{XcvR#S~IA$QejfqLsUdUnxL~JUsLQD0sPN1#xEuvL< zYC9$VzYJSOvs8dP2tSjv33CTo{UciUZb8fYl^A~P(SOKGbmu8?3xG)ESv0@`@anH@ zfw>vrYmg_KGRs!QsV0BLP=|-;>0xCEzA!O}%{2q6Q@9cC1Em-L_Q~lE@N%67-HvH? zgQm_@=;gx@Ax5gAbtT_2;xfV<-ecTjhS-C{;y)>)6q2pg;sNpz>|or z-MAJ^0VKEin8JiQA_p64faCO){tHUwIXB{KwdiNsmqiNVlx$A63IBTOZ}|7QLi&ZO zG-I@48r{EghITTTm2uMk@k;lOqLy4N=-JnQ51;(oPDu2)@2!p#|2j`evW=N9NXCS7 zD)bLyrQDmuvblYOI-dQz_(zz;o*Ezeyu*fhs@~}qDb{psf>pTj^t>oLaW!f7Xiu1( zrsm$e!*~-YZct6mNc! zFaD{mMGNLsbpocfd93}Hh<`J!B>_#?&D6}M%1 zLztwi&+<7B_|v3Ye`$>Rq@cTN+|iC*N|Gs1l$)T`_E!TQ4uM|D&)+ zn<`=!<~tUzdI;xX(3mL)u+1_1Vh9pbB5?qvrFdxUk!#17mw)^X_@43dvMMF=lakd_ zgdj4?fKPmV2}_1+pCTN~z)QV)p-VaiK8NyJ!K_bqgDK8d9y$eku_FSHtvpalwh17^ zwVVjRUv&@XL+E0udTT6|e28W&)nJXQQvNT{Ut_NXAfQap)8zo@j{fkro=u_SEtcx8 zE56EC30o@q$KA)T&g;eMa~PhEzm)VlGJMxG_TJ2&OiaA7MBj36Dboi;ax<#j28ERM!kSY~z7_YA@eE2Yl_kC#GW7Z9GA zOoho572f#Jn~0bKF>d029tnC{Cnqjpd80!)5G%jKH2+tDwNmgY+SJkEI$0slQ((wTL;+V;Ko+&@}{Z8B07ks!b<*@QyJ^rBc8v3)=#+W#nm z_`ZTi80HU@gl9T&e@UcueXaPX3zoMBB(AW^GBNuoizUHOOMC6%U&(a3>}_)K_>J@$ zv47U`6v8?`=LGSrN2#8cw0HQX=%&WZo3GX7CmHfx7ycJr2acSHMFVW=Z0opJ16VdZhJ2P`~l2 zw-!@K9NeGs>6iV9^#$mT!PtBA5WUU}j% z^Q6F$lX%<1)}Zms#KT9-4L<$GYZcPW*0R;|9eIde9=3*!7aqIWI6vg9RP_GG7bNOe z)`GPH$Gi~nf1G-4tpr>7NQnhzY?l%s(n{nQ<_LSHlM=OKI8yX75E=#HL0s@q!FuHn z>)CVqN+RB4Z4B%=iMk$S{YJhC2$mVc8i=43Oz{z+9%MuCu?ZHec+~ze1bcqvi`r8Y z*E}lzf(sK~9u)&?@PW`(JQKl>ka4*&`wkQ(!{f$8g=P%X2|<-mfzF<)xdm!q07KPE-l<@ZCCOTfuSj zz1QSaha}B@^l|-paQM#W8Jn2ZPEH>;ennci*|b*76Q0EOwn1A_S(g8v`Oi2G!KBw^ zYe`3Q0<-Uum(^YrivlJ^@2i;~uzVsNlfLT9KYqPX@tuHt(e@;9O))$^K}Y1S$Y)*% z60rFGWL9nL_O;@sZd3S0)SKOF0~KcQOQ;XKngeTQ{ufc{%KW#3MOOLZeNw|)P2qZvVVI!bzb#!cDX-_pA`FV_VW85(c!q9z%P9)^){YULnJPfr9 z_cdMy&+Ncup93{mq>CL1x88)vHVteFZBCx?m1x@d67X7H!-SmI3Yb^_PQAfSkvZD1 zvIOp$b;8Exio+R1e#z8%&dv|iRnxXkxumkpc!st_p{266)P=jjJg|`TALHKf8~%%R zQ0`;{C(g6er*!e(rkrLa-CEA}Y(WdE>$e1eizX8V!^L8cfwf}L*T7W58t8QH_N(ct zGZSIO2-5$_1}VFsIkxYfS5U8>KZnWaoG)>WtxNM!eSwGFEOc7^9I^RDf6q_4)L#O^ zUS}V#WlTLS{o9>?QRSu2Gpta4?7DeZbJFgq|6!@zUABR&)`pzxX2A|FWBb4x?`q!< z)TU2cf#LQm`6}M}{{0zpT z)b(1a8fWT+LbSHg~wY2FwAg+~q;Rm_g*Z5WrJ`1KfnSx&IULG(vm6wFL z$BR^iXMSR#R0AmKC$h7Cy1lD?F))22_0-;}@=M>oNMwQjQE4~(PN|8~7wFF&_^GmW z)LrREe%TT}of_5G%k!?60|v}nTtmTL1gB4GksDv&`va~IaL(`bVe2d3y4S15mmcba zSXbO0#GiVyrSZh@W`wwN{5Dzd7q|Yz?XjlKOu3lN;Kt{||Gd$b5;i3SZNItLGezGQv{)-3-(qGn_A2ml=t7c=yXr&;imr`xTgcJ^Q7L| z94g27)92PSaSLyZlhhuj__LQXH=cNf!01HX^Pv}Ni5db9Pg1yMfBOv{H7>gbl+KooPm6Av zb);^#N#UK8jxF;X^+LtkdNk(mk7TKl& zX3-*y_X{TBS$`^i9=FbGWmMCF2mIn5t3OH-bzwwh?ZNCGuP!GFzN0y1`<&l*B0&4k zK4S(43M`1be<*?L{{e(%8d+skfqu6zYEho5~&6rNPDHR3I)Jh8Q$Uz=Tf!O8JRAYaHa-5L`+i}lhym|-4o^Z7|q_P0;2yZ!|kQ9EVa5f9=cuNmsT zFNj*_`rVwi&ea7K-Y!QwFt>%*BV6{fW!eDOboQ==YYe~NEV*Sz$1P_}i`~axpalm+ z(LbLA|!~JUg|RTUos^&98lILdp_?U4j*NLuP1IXvC(**uycWU8?} z5WU_r82PxEz-|8Dj&II%s+*%D`hg4O%$V(k=JO5~pyXNKcwg8<@8>nh`!O@f)$yoq z#in%@`4#kQs^;ukE~oTh|MEhud3QFx%a$hLo3r(ZyQ)<2W#7UD)Qy2sov0>1WzS;1 zNf}Xt1^@b{-e~kBalnfn&Gt2OiGdO=Tt!K_D{?l zK|4e!oNGW_S>dzg&8G8iX+gJfFX=M*mT}_5rPZ4m>dz?m#ukK+MAY#C0(HlSZ)2HP?RDY8jrZR|yrp}`Q-drW_s-h8lv#?ql3H|@;WWRuj_Ztg^A z@hq@FmvK^#SVBl3)kKz-+K7ns6q3An%ah|V9$0cztQ+I;kqcB0^~7f#QurCeYKeBw z_9J}A%I`Vzed_gPuSOSeo>BLIm|t#FlY!~XJv&iNK?1hEu`o+ZRrXayLp@jycNZya z!v25&$)4`qlpZ}ftk)L2WIS{_Ah|k|vx*I^qEvWh=J6(JiEXH6Mzd{r2DDjo^+Alw z_$XYsS(w^5!!|KGzj&Y%6ZmFi|b0Sevl^yQ{TC7-bCc&d*eP7%YWBq zRTcPY{|6w>I~`91?McZOTOB~|iYeWpi3am^+*`1wCX03>KkjZLbTsJ20pI(2Iafo$ zq?fQr`^FFwBt4BM2i)B z`5M3q_x&x{*@sfwlwsR8cUj3sd4mO2um3Q}G2$`MrBhZG?1aqkl0OeRjwT^B^rDJ3 zFNL~e)WNYbueJeQlA7p7+?rK@OF~nB!}UT{Vc=WaxM9mSTg%kXb{m3WI804+0d0l; zB(?A4!S%~>D`~bEC;gC^t-+wXw<^c2N^5WrsRH}*Z6!YPNRlesF6B~i-3SpCPfC)T z=g}yYKh(>xSbaqOAUbBdZbZ)7FQi$3SD;oKsXc_8b&co3HN#%F?F~J>zx0N*?`PX< zIMAwHlbCjly&Ss#)_tLm*C^&nh+pB0tw zO{rQp-)OIVI)5;c`ff+-UH#8>=h@v(mM-S(@!R7c*Nb(6&F#b*f&EiU^(k-3qYXN# zSA4tMyySLkd1+xRDfl2)Sm(KklAKk2yAk&?HIU<%+Y{>CU5giqUe$*9d` z_&XY!>)y=_|99g)kX94-;G!V?VVG^azNwaH*wt}BN&&%cfvOz>tZ2lI+J7UWsO-Z} zDdQgt2xWX-!=BD9D!mQ^ zwmfK`c(tNh`1ptUsx+VV12=A;GgDK0?>4g^HRy1l16}T7^wTZ)$Iqts83*fJrgw%8ufdC}RdzJmvK zD$dB`D;dpx%JX@sNxO;tS=(eReau&l+O@WLru^;wx$nHRHM4B_r=s?MrVidkT4~;O z4&%zW@L@a8xw7Ya+|rb2r`$bQEmFXwK~<*H)GaJ*^5LIATZ_(|F$Wmr%DCmVKGoYY=%_j~7B9O8bI`qtC-!Jzcaq&V#j%(m~)KX!vUJp($9QN&$btGja~(@~Vq0hDatC zjJ_cK+K0H_u_&4=4+z4msSkq92|@=WcKP+R3KZChjT7 z;)JgAR2ZiDEBPj_!wJ1dZ{~lGL~xCddHZ@2DyOEh^}NH>5@dFcdG{W@w~FbFRQ)<~ z8Ls->UpmisYDzmMud=i1NT`pYt6ZolQtKM;?dkWFZ5W-S#P8&u(%E7PMk0y_qAutd zui?ab%3ml@Co{bJA%$=!VVgLt(htwxJYwW2vd)mLZL5?tE=T@WhQH|*LP85NHwnU) zb@iZ264+X^`6DptS(Z&W%1lIp5h3NvwHvuD(FFQxDI0mSBX+j>Q%3J7^i&yl+(PiV z)u$bePTShx8mo{ zi!3*Zm$G_c)7YA!_JUA!!x3i%n1AInn#YABxW6vTHhN&Gbrcc#723bg$Fdu4NL?5l zWgGT(t;rkOFPq$#LUf#Z*xr=J8^?!$`t+e^H?chG}n0D$r^R6Hl@C|f- zw!~+vs>1IN1xD{`c$>i`P`bE16wlK^Qy)0j!r?=c#f*k)Mvf>QUWje2)~Ms#l9QMZ`0ND}?=AfKAGhW$(XS42w0 z15wC{6{48Wf~Mu_AW468MQ2jCdqW?Swwv#63c@OwdKw{p?~m1*39n%c+*Q4`sfNOg zyxEG_*<|nCdOOPett;b#5C4dMSqAowVC*}t!nLp2>%Omy@;L=wuSY4CN{4*Bhnez%Bh85cx6Ssp(1CrH}@@7cWv=P&@!~R+HGe|zenoh5+-#UO|^49QuQ$mjkC1lWquFVRtTR+aRy+Jg(U2sAE-?@BU%ukpNR( zcP`6=JHNqf}pu(Tpa5{8O8js(Vfp#DX!r8Nm!u$s3U zRf6hJ?|AY zo6<(R+H+;MOJ}cITPPbpnC!}BiYeaazy*6;TH(BA#UIESC^Me%cU8m9O0Dyh%n&vG2eADDq4M9y-zs+`EJNE#`*V0^q;Au~8w`l+OAn|Uz=;YndCulXI z_1yY&)pQW3k=#`HRD!rOJ`QU7WDZJFPgT#Wi>gag*LS$(VBm1u!Pr6HVKgxXKkdh` z3HesdG)`k=j%%K{imvAPx)1czqXKHD)y}B#s|g@?LkVs!^73CneOT@9)>k7^jq8Z9 zX%{?p$AtnGU)Xn9i3Dm@;}iB(0#yTf1K+7k+1fR#lL1U_F4abG$ZAA$xqTx!cTgi zc8@OLECZbv}PD^T%FxM*})`*fXBk)bLG=y*qrMA2;SMgNcU(1H<~g zE;0Vs`13Mp?lUJkcQsHh@c&KbPxH0af0y}W&ES8#-WBMo?V`0`A(^E)2ip8P-)cr< z+f=dr7?unoR?EDuee_#kesX>Ih7{eAv}e_aS!Lz^&HxTqe>} z5_Q7_;~L3L+ZP1^Yt~UrEG%P8KTP;@+zq!b!S${=`HjANms~;5UCyY`QY;@UyNqf zk2HyG?QqPWowuPPogb-~Z11IjDz5U48Byz8LvCDTocH4p@M&Ezz*)>~p!;tCzgCZ}+o*YP#aAHG1X94X>hl z(51Tbr9Le3U}b`lb_clPT=#MNjXSV5yJ~PFh3zd_r@})VH?e#54VV`sdKFW}(euOW z!(yhgOGNzUkHo#~++G=?rexVO!IkrH)Fgp+Bm zAnNOH9j#sIfUm$kjsFKTWtMO&ramwL$pi`q8o@^Wxp2)5-_cpN@Kw@MNQDgXV?W5r ze5vy@U*-WaASk7x1l?$JrgrppkWR>6dNT+nPL=)sg~4#sp`jtmm)moV86oe zDgwyU$TLX(o-J`R-Ua%jZE`{PfZO3)9-*=OsFn-lNW7B=Nmk2fXtaQe~Ozecm@hLHYyJxVvj zkj$Jxv-cqmzjff&KOn>Pb~{dL;I0ETmq$34v_E(!9x?47KV(yvanqdT*7<~c8auDJ zUUIz>05|SS`QYsTOjjkpPoqyEl0&fQ9`f+0yEm`cVg(~=?F(<*Vs_1_#wR`l8Xmuy znQ>L+!ld4j5qi#kGN_jE>*L%tz{`Rm&w-l^uT8^KmC zS@Ea~5+kA-_j|V{>mQD#aK;hs?ooLjfn8SWQ{c*xX)8!#usSR@S7?UHC_L_WXs!4& zdG^;5+q(mnv5Yqm;c?r$2eK`%+^E`@F`V$1ti!(u1*kNp<&u|V46{rsxz@b16{_HEepR+xeylHJNoN60mA!lY4;A*rbKK=7k!uXknkVu4WRy&pCiU&8*9sY zqik1vSM7=v6Ja>;Y6E`Ct^S*HWIedx5JN7nwaO!&C{PMF4HYOj#CG@RVb3Q{2! zd6n;6nCS58Muz5t+04dtW3Kq*>AzWPH{3W?@rY|usZ6n?yhw3~?>RZ^f(KCbF5tf5 zr0JsP6`E8V%`vL>_M`#M4L&LtJAK<19#@O>%@;B6(XHux%;gK#I`An)99uh};*3UTwkAa>umMK`Y&`CpnyR?VNld(0iC^+Z!7ZVz(RBoo~? zKB$Pwb#9$N#Se^x&TJ?dTyrmYChXr+??g$9xD7{{Vaz^&8ng}1uM%%3=k)4O)pyx~ z;g6<&35bBvjk)V_z6`7$5zRmOL!cI1@GN49fQe_m)EsCh4DDx&G>X09*pyQuv3otYlNwfR;j z+B@D7auZu4s9!4O%;-)vn@%9Sw7JeMxMN%hJkwD9yGW&-jnw7*vsuaK8rvFOePr{a zT=S=sRif+tq(T5c@0Yfum7-RI&i9l0v9o+9xJZ>e+Y7aU!z2g6 zCT@tc>mV^KdZEUOb$1W73#Jx=v2WMXxC7?Z{>&Q-f*U`SEU!ACh=qBI4rmrR>ahVL zDC^vF-^)I5l~|=@Ii}I6H64Gms66U%U!11xrQ|4ZK*6Uoeo|bjm!4$1OUsRnLPDM0 z-y{bdNbrZenI+$}v8wX@p6YFWuEcL~JlD;IykW)b!<);0&-TX1b=B{Fr4AVn4bjl* zX?bb6y7PoVQk-s_edCq?BFHQJ18sxS2gdBOK*~T8N_Cn1CIQ>WVoi^Es zTu^R#7x0Z{IsBll0?VJhck+F%SE!t6gZ>J*4v3StNn*d4WCc##kccaVD)#u@Y zrh+rU{`7+$#1S7N6Dc1|>U%_Q%W3v%yo2|Dvoqmj?&f&DL3bjdDz$J!{X2Q|*^Oc7 z{rOW99e2hU^93(8`BWd~LII4z;>Sqb<%T8`SbcRmdHF^Uc=vt0_1aUA-;L$XEG>d}p%Zl*T>g@}b+8XW*){(^#X_;MhfngWBq9!tE{BQK!?jYtnYi z|1piLvu1oIL+BZ4wS|$(WqTfZF97x;_p~y+EGr`{aUMjs#-}2DpzB|cTx-?ln@odT zBCG3XT{&k>8?kz~Dy_EK zaqgbAZNdld+7Lr`y?vewPhC{4kzF(4@YA1!O71J24XlV{Rs^2Q!@iwCDB&eW{w6G@pyft)JVOEJ zj2&t6pA|WJz$b%p&*W;E6z|)LO$4BO{CRsemuy>j z2tEFKz<~N^d;i%%yz4kz|1i!Zz_C6^H|ajBQ#}#4Hr9v>VQeeec1CVhQs?u+ngneA zFUGz)s>$&ETR=csMWssxL`pz96(uAU5s_wu#0cpIQ4l3XKpF(3B!!LcuF*AM^r%sT z4VLfxzTe;PkN2@43PhT^?T! zEvj^-@xr24+Zk2p))in1$?mOd@V@=veZ7U1hNpk$NdNx&4#_LOg`uh=W&U<6`D)Z58NW~proB;X^5wy@1*+yTwY~t(| zYnw$SmRCp0g>3`oRO;VAugl5`E3^x`!TrBI0LIt|8SGx4<4I-6CwP3(5pF_o2oD(W zd(K=Bgk&(h0M=j0#bk7w|~3cHsG8>lSYy3TS_@C)fJCk#zgQ@n|lBr#0P za8#2cZL6S?H87;+L){7L}ozHq^Pau6J$wb;f z?zX_49280c{2c`TzE>S}_U_clbkUb#;hP)OOK2He!nJoOJd>2GP+N5`lQuB=SI%Bx zL_-Yd`MjHs)I#0AENjA-gf}r2_-g(4b8`L8B?~&ys8gRrMosvCV6~uQDyZifRC!{q zetr+-%YodrxSx&;IBoTCCOA^ogj5;&bx7v6^dvh=QMP55@BmKg*7>O~{1xw=!Y#%U8ppy(w_E7aU-M$`*O z@5%gjb|%o1n1{KUr5P}j+0rFz155WZHSnO=ayfr#Cxs9|AeAqa#;PymZk8VSesRX#b+o_Oo?%|J0Hgy8}WSRO@UPy<05TC%AVomtkPG{ zN9=|iyNJ~gEY%F_4xw$VxO&v&?Wyu@nRL5*uE^V|!S0{*P;K5K2j$3$&pGOW-d5R1 zisRJJmvCjr7f`O;DWO8_O8781+@IccRvbOUbZn%Bxq6zeb15(&pb?lfA!sZl&EVt~ zVg&OO=EE+QWD2J?vS4*T2rc}$0q-QP{SN&Uz3$(9m4FnonrLq#n^PU9(-L2rL$K78 zHY@(h`KrPhG$~!EbOPt8lV*iOx~a>&Qved`HM@;{+In2jxQWBnO`zv%uq!~KM!BYbIE&;q%_V&lA@oeN48N20^uHH50^XMxuqnlZoBLz^6_QZ`qkO=NeOhY}E*Qf4 z3bGvU`&@>f%k^;grmhN)H11Q#AZB2zA)uZHgeM3&$wp-jGyN!0tq=`Q!D8?&xU!UG@qvjVQrtI^L z^KFZafQl=P+bQt7F9t08EK2upotjEy&8l+hqsgMD=2LL5nf%bzpr6=hwQhql9#eaX z3K%ya;HZ)GIDXL2$pNo0AG~N*7fAvzOVAjk3SAauwHy7snbqcPM8R@jxNRt~-FE2~^qvqX0T-$H`9) zd&BQN$C{0mT*wHEzKMG4j~qsj3Q3dtYT*;2W?|L_iU<&twZ_<7IPp{l+?$8NJhusB z0-0x=wxwo@mR}F6kQssExJa04rwNk5>IQxJ=cs@YA(X6oLV8`*MyYJoeb$ zt(&t~ZBI&no7dq`+zUO}$NO*yQ^_74ZI66LWCctS4%r^sVCho|>w&eY!7|AZ(k}O@ zN~RD{7zp4vQTQuhcR@z7ZQ#xKAYM+(W9EJ>n~8cqTt5tI>~*SujdVmv>o%)U(a`u?V_rXfgT4J?$j=&FyGE#x3{dtz}et7l?6q;P=Nf+Eb(S z{cVO%h{pOTl!+*!O5vfS^1|apy?YCfZ^$Nx&@F&TnC(Jca-8bNMGn$NbY7aaR&fWV zWGp{@4wt`I5)$u$P*vzcu&hllGTz&1d|!K`ZF|Q0g(^nWN);gAl}!zJoujmlyKyKd z%DNUm)kQkFt*&}B zHk%2x@x;CNf_BNWU&q=D%!3jGROK~II#hT9)5tI+4rpV?p`cw}i%0VV&v=d_-GF1h zO+ddYX^It!-pveFpwcOEE$XrFx!toa=p)A4`Y%I>+V}dQ2;PqUfVCKMhYWY2g5NzN zy?9U~K=ldg`RnL^kdtRf^eGhiQk`1aC&A&Wvbthd3f~iZ9m9q1F07VZT5S|7S}OmE zqa=3FJ_ynH2lzuVtv=zGeAYx|!Vsrk$nyI+ar*>c$l=%A>C1Q=Jl2;`uqpK-w5RWP z3PyXBI{pJ7-~6Ha{|m4GV=*KaQ}nhUzd|QyC{{|MYTL^+jj+W*@zR?{uC5%yZ0mhK zzo0TAS%HxEkKz-81R*OS|o_tkNyyrV&qiuL|?phdM?Si|N7`IazWXBc!dsg;vRZ1GHA@h8*{nNqoG<@3uTOCs3ag}u6 zOz}>sjGEJMUxP#de^JGKtV{+(oPA@_>&N7qmx~WyWa`Mw{72;bI_KRwDMwq6lBiUQ z>-i9tyTILU3uugKs0Eip98T{wRUjQ|-SaV3#g2UMoSJ+3Q0}6D9fd&p3eyQ_efpcS z=v0a6=!ATg;8;b}XG9HbmQOToYAo&oP+C=RP9@df1iS%)3cG@ZgG4L}l5+nqr{Vr* zUkcej>DM<{JU@^4-f{rC^*#4$%HQ{Ypql(Wwt#&liP;%1Hbhm=Td??|lZb`F?2I;B zeS~BgM6yzS{l!Bw{u!IwyFm3_QV_n(y8&ZZAG?qv+t{^m&b5t{~0Q6WN2Gfma?#K?>cR@W^fPZiO!6(h4 zhmg{c=_(D9C7~kg_C2TcI!E)-C&YX~M(~>iFN9Qd&bPlx>-M8Aj+tm+XFo{* z_N;&@m*+J#TRddqh;}BCxafJ9QAZMjmz7hMmG^npQHd-(_N%V(s_=PDxKjpwV=EMi zpmr|Rze!=SND?f-@zRE>Ccf|QE%MDI@N^S%VoCzyGIFifO6fY}C4l!}VX=Kn7x!hi zQ5GV<`%8~xoKszD!q``?wAN3werx5(V(~h%{gyke7$RYk^FFo@@Oy;9G9pgsZ_BpCEb8ES{;kkm8SY0I`Z4bnwlWbXF5bNin&!9(T7Z&2*F%?(A?-lNiyL zBgzn~n_dtwNn5P^+g#{?`)~+Pv+UX5G~{G?dGxf z>aqcY^|qg++)&dN<1Q#)uUodnrH!`0g&kk>hnOenZGp@G&W-3G%Js78 zL-ddowJHfVW~$P!;WH9w{U_2h#tevW?29ZR3cDMJ19Oju6-A`1rp~SV;a#QDPJlz) zj?c?I9Npc$gE?=DWj}RZQ`KMYdxwJO8Li9GL84sZub3=G7rl*tD_b#OSr?B@j&$lptPISCmB`}FV){rd7zXL%>uPup91k}(r1%4V$d1$d) zs@h&T$K2fY2POs!P};8f@{X+aGbZAVZL|LQezjA9WL^JK2+~&}-Y#T!p4}=gOuba} zcNS$7F!NTbOu*eUklP`iOSN)3z!(!^xpvu$;nJ{y58aWo2Y4=I3i^iZPXP=Yu`JU{)-za=Q%Ns6!@bZk$^c6t|t|xg32PJ>E#! zt78jX+C8`^5peY8>6i3j$KL7w0&IJkQ1`quu9&z0^MA}$s z5k6yKTrb*~A1-|`(W;QZd`;r3pQsj9|2Sm$e&{%=rp8{&knQH{sJnj=u#UD*Lxv>C zYP~W{m@l`;PTX8k@+WTAQm9C@sIKS-D0VV6iA0N}C52FuxDm_S|GWop3>RO#Fw;h* z*jZ_#NSmDJ0mlDgsM&L;av`Aff=P0S^uk zHLY}<_8$Pb7Uq&dNJDana?0PF$yuYtz!y+8Cyoa|iXvcM9m5Y$(xlAy5a#+zjbzlI zz^Dw6bSmJC9NqkzJ~X9E$Q*Q(x^&I26SafA*m9C^YHll9_zf&Nt$Rf>OFMF;6vyGf zNf4RS1$`&zU|aU0uHpiABfHh3OqJ*8;Ik3_(ti)!-+W33J#|dhlUcA!)?-{CZ3Y<^ zo(=vFENuQCY@ zB11P6G5DRzBg*d^sW<1R|4bdNrT(lt4gG~jZS_}+^XEEQkmi+Q*PQF*zH?~C+HC#x zAVrnk+1_m7t>x>Dpp=t@YV&^4Bzd+|D~X(K%P+$Nj<+u^zE)?Ph+$+shHrG^X=^X%dsl=-2N_5 zYEJre#f5IB0`FGvCt;aZIg88i8|XbZW#tv{%j|EV9r&b8&Zj}t_-x}FK2_S88O$6< z+YfLQXQ;L-nIjZC>6<5q7>mgvR=LKUd9t%Vx6VQb&>=?LK?rdS^MGIf9SiPR1TLyN z8}`1qWw8WU$LvnigvtsDhu*Pqx#tQV4wcf`9(@M(3X!KCSN_3WsXXB6jmzhgwkx+} zf`M#I{hrUZjx3kS`@PkQTi9z;6?Qq74m0hVv8%uQ6h*$*HX?z`V@RgF zOFL&NfZ@5z+)uxeZcN6z#YT&MhaT0soJ(7hQ6{04e(pvTvTEEVo`y-(Yrj=zG159Y zD&(w+&>)7T4nZ#N_~noMV)>;cXuN;qsGWY)U0?C1MkLV2`0c2a3`qQY=-?t+A|%gz zpT>$7uwP z3_M76$e!cy3)s{5u!wH?qZdL=eB+*naK7qpv0d5?@~L_vM2P5j^YnJ)DZ|hkxDZ2<)$1&V~TF>rM+-%KZ|hKO&gOG z!B2i(Eu%o!fkR%?oWJCs)=V+vF@ABG`l_w#v~_rRtsT>$>>~uJ;CY{Vx@7-$2$^VO z7WL|(x=>2~kD+nbu^S0tc?opG($orWg31YUX$^62gNOV(Fm)m-qTu8l%`BZI4fCM9 z@^aGlZ8710wL8>Jjqz{R*-v48h_9&6!O+P)Tla)C-O0a#a#+sEf}TdzHO=@^)}oZ7 zu>)cR;V>4jpR0tOeg;FNgl;cZ2F8i633GG_p>k&M>MK{l@u|ltMK&`*nU=&Mx1gZt z^RGr|wh0IBXI3WPWRer=3RJvNzPfK8b!H#Y3O1nCo`W~;YP(=7N!uhn4;b%*^wrto zvbAMUre%${GqdD%AegCq`D{eD!P@K~pnlFffqXWwF*g2sP(eTV+Lc3v*L5NHg1@K5EHcS<+hWcOk0 zcBYeNrjHz{aSNH9s{n@WUZnGi;CpwA<#Qi?xK95ZuMxOb1$f)_H#g_YVU>xNJ9Dex zkL7}mpqJ`fB<0i8RPK9_J+n&lGk&;-vk;85_&$nRnYzz00ptL|1`c1$f%@?}5Sjr$ zi6LSU{LaD8e5damQUe&I`1-q3s(JrxY1pZ_MbtEwGI{CkdZE5p)t!e1`}h4ARx}7{ z>FDX{;zNSFOhY!*l3O`iBP&~T?#cfs_$~(pTf@(uPBKSrh48Pjc(@K>KX-X~jHtv) zx)%bi?Ak)cFG_mX72ny(pu4iNLAz-Ji}L+D1g)gS0PDQs1)=0J=hGxp;{1M zuKlLwyh<{tBpI6;QH@{ey!(zv8&`-SD*3G>1&umoj$ln&(PvI`%H<S2&I0}Fw7TmUni3dDx2qf z-~sc!{1DxY#^V{m;)P17TV|oD_La2{Au|E>Yirv%4Hkm!|BxIYAbV{}wYx@bNo`3B zQ9OH5iqZY6d?(}dJwu;TNX{ZzrbDe0U*?;Kksi*Kl8{kh&{iX$F?*60x-p%r3&X7+!=qt@YE}#y>Ou})iU(`9fdGd0Nq0|DG;=e#OV}`f$TUuyJX)BKy zg2^p#C3N{NV+9_DNiBdAS6*znllIp}mv|xXoQ$Xa)3*X;q_rRx)VodAw94-Cy_X5! zbInhuqG#!b^6P4ZNRGhb9MPk-K8jybP{12GAE0D!y@X9r@RnZwKBEUVu$2I+ZjBPn zJ7v-J#8!rbiV{IZ;d?+p6gQwQI0pE5Bd)5Wd_?Yk%T%0p)6q1H=N9)heJK>cchCJ6 zE&OO2B2>T3{H7l<4N1^mm}Q)T$==Fb&&K3rEAwcx*|qlcDxS+S^lmG7d;|$UvDY`m zL*b=+zRqoVLU{zI2BPzF^tJw~4@y|))>*?FGZi~WOB`CezLvHe*>j%+$ENmO>8cdv zzppbfF%|l+SLQ9Y8vP9``rD3t)UU(c9WXV|naTBLMQjw=al<2k#YASpWb@N&P|YPe zK77ydV(FYunstexAF?6-Z2E2Y2gthG@rMgj5Y%8c^Ek>rqqk25`bM&MnfOo|=)gFc znl5v1PLq_iXBh2d-*Ptj7ZZJ;8u0P2LO~y#N7bCcz<{7V5agErImxnwTHf>PF2!S4 z2Rm=6lHmP_dejt52AyEY#H4hvkA2}(S@{WQar+hVo@;yB{ZNM-Hp8QXs>@R8HU%fy zc$R4-UxUmg-mSu&Saqo%R|Wre=Wtd8KWJ}Dafo7R75@ZO{FATn1HlCr`QtWUQPq2J z?o=^fM>(xNzQ4nIqt(G)O_a6V2P!`EGS^5mBx$~C=hiFn4ujS~KjDUmx2|{G7|VT= zP4=?o7R4p0{?57m3j0>;<2;1|g}GeSbVt3`&)oJZf9m|8A!cYw3sIJlqX+zrGSY*b zfW|>!{d}(n%FWQHh>Ey95NX}n!;FlSR?;sR?Jh>ouehWlzUuqfGcV6J?v(mPFy$R} z>H74)6x-r=O(>X*7z>jI2Dz3g!ngH`T*^z`pd?6@e6jNBkZ{6KDsSf9TA_SI%IQ4G zr{lYH7lGrPs>=BU^ZR9Bd6}}!lrxPm#Q?FE#zL1OnR|UVU$WE9Y&QbhWgu~BpDOey zfdERN4&@AxAE?7W1H27%mrf}rQ4=^iXlSil*}mX@aZ~84L%n&tnc@uByV2D`sE@PlV0n`Hmo;tEK3ZCXN(S zzkKHvUt~K59=gZUvwwn+=?Ma2? z=!Y>mWuD0!v({|%io(V4LomnZ(7acAY0Nvm^L48`v z3oM5gRZR3nQ176At#=`Sj`p}DWHp7F<3Zm~z^dLSiS>Qf=9)d$2CO}OEPsTm0@b15 zr@CK&)e-SR4ju|eC#YSMB5mJ*g@TM|SgTX)hyVWvzs?ciq` zYme0Z-HdGE{rgB`DCrW>V#Gc9FhG5)p(cmgPh9=o^J+eTVzKhIQ=JZ@DBK%0Fzt>Z zChfgQJipVizGePC=4ld%?fMS$nLuC3;i%vEI$-gdGNfgNw`nN}k2wYd1DHEpWC zYf}_gq8g)9Z>?8QBJk*eecEW80szlL(Qi+P%79+RR={(JN*piW`)sA2k8jsk}{x-#%4DU`*(mhJkic1O1q4~z6rQQ@Wz9I!!`=dNC68G7k z=JY3}JY{wMx!|l-V{0?7m&czou91zy57Ckj$--{zsRjJmESgSb;c$Gj3Zp%KP5O9- z^?KC%a2?)astZ{@J6cMdZ@w$$Zun$7!msG<{+TKh#WWa)sPB-$f~0>f;O;H{ojf+>dvSlPmecTr*hXYntTXQUD1IogV!f6wtQIvADax|Dn?Lqgry#Y-@39PndtUJsU zT$9J{!Ac{~uY}#ijNd{PcjS^2&isY$^??o~H}VMyEU;m3zo@{L=^4&dr9$J5x()%E zv7^V{&^up`k5(`8YtoUTfVEJkRiQ}6BAMpKpcDhHrar{s*hk5)YK@P4J#QVq&if<0 zVN*rEV?@dI&>GCXV;YTZuY^a}LPc*Q%FC-(T%(GJMxi_?#SlFOXnSA zSmz2XGT8pTvjZc?x6-VJ33R+eUR|?Nclr~m3kj%{2nyAroS`G4^b%X7eB12FFS2B~ z{c>*>&M*-rmzN>*A6T1J*zGi~Xp;3`G0BTvS2L(PX+Al<8nf`WEw1yfS^}9qhy+3R zM=A;MB?t`w*a>@=NYSRXVimwDmVP?AA4>z9@HM0SI&acZH42iIzt3R0{a3t9|EynD) zJRlJ=-y38Ip^J(}Z{HT|`pGzH8`?Z;NKTL(5LeHxQfoJj3}~VK;S;cK$PHJwHt(44 zbxM3giHHHx29I6ovEWQo2FNW8bKS?Ebh?9+xje%{zX%06pa<$jf zK6E5gg1fW#(~-f^Fd0+*P%pKRYV`xJf!$xom&M=41arhl zEA!6{qU3zL$B#3XR6z=y71_v1doP$A&)uO)HF8qjYjCBN{KCG&os2-YHgx|d(^adN zpJi+>nH1Cs%IowsgEWp`^z;Rn!dVMsXjV4KiQV(9gXdv|^$e3uoR1QWM8?SRnc?n& zOAPxi%d6dVYT|Vhz+B@9Us5!9zm=e}ubjkrmLkf`x-%pJZ0D?t2DNoKAiW?NnqLS{!Ik*!0V#L+UWwRMM~C-L4@-*JQR! zDiFEOU=$d?VEyBj++9a@UM;rn*VgNTfuP<;FFG3PpSrX*#EERf6(Ml~X$u_GZ(7m{BCqFeh zpL6cOEgPCEf_xdfoJpB%Q{h{?L^nF$`dOK+uQ%DoT#0R#Q&1;2<)gP$vVCY|4M+FK z(e%UZlPglop#CMh7!zbNzvU>o0h#~T4x_6fr{RBrn78dcq)yHXY=@-Rl?ZdH9r>J^ zFEYg2PVQUzl&eH9wZ?|jjY6GTn=BEhIK88EgOBI@QXVkrcH*MQjFYZ`?$fVB-N+kqE zyVd^r-1`K6VaF=YN#*CFPTKDY(w@!VI!?D%?*o~y8(D{je*N*1+)hA3bX-)%^zQmdZwus-hskKdO-NbAB(fxPM(ZmZ6AQhs88u zA3hP#QbzThnJ}ek=543f3Nti4-KXjB*ImtPf7oDar;yPn(%*Js5f*t>hy44d1)4i; z4iYEF%JfAG7JKAfl-0nl`B@l;66Ll+o?Z%Xdt{y$jjOSY68ss(LwWWU-E_&i#s;%%}tQ)a?BeDEjx)1LfOeE$SQx>1B`?=1R(| z8#CamI9WQ@_RDiIpO}0D%dJaCeYONB_lNoADHY=}qemdPP#_JDen7yd%`?5vZ&@bo zaXYbzfm5rdM$OaBR7B))9!6?S>5s%o_U)4j3qtno5wGQT#Tghw`%EK~w?pvA!y-aW z9PZ&-j&e2uDiRwO`c&(=<5gUMXi(V3m7PI)%e=0Q|ro&)sc@#Y*GRtauSCYWk ztGcAoWyDvR`4Alv$4%xbG-0C5_FDGkyO-TzvNmn|A4ZCDFs+>iINlOC&r=NN-MOv# z*UP_Ew(%T^v+3D4qXl`bXsT5=w!SsvfLMWO2gbc_bWg8oWfoz;6h6s)ypv27 zGMQ(+w~Yq0THjt9dEHobj{*e&*~t3I-k$wj+!eV0+J6I3c2*IK z@c&u^oD0eJfOou(iSt^eW^MNG&gu<~BmGdC<3{dmE%=u}o<3rmNa2dqnZXjfArITZ z@(n|5R zMt0@rBu}y1FG{a{8wl03dR9{@u7_^kL#%J~OO*iMb3f^RdXDY!~tdHM=7kMPPL!TKwXTYy^CSoom zMT-ey=M_<*TBb0Q4*xxU$eK>uLg_Yp&SR20gF(f|Ek`;nL=n)edwYt(hoXeuS1h1vQcq$C5i#S z=zFx-!6yz^&tg8R)I9j3scDl-Q+S&?$L^Lb;X!Ot!6S|Mu0_vVv+<;}s9<}Bwnb~S z{^Om*NN?n^c>5X_HJpQ)TngVfdW@Tuy~Ep1IiAltqjGr=KsIyA+edN9-(f#sLg{*& z0&7CTMZy}2<1=}V0}g(+-bs-NQlgUN_8YcSTGsZU|Td1jPD<&;}n zddb1{t5%AKfFS*-pxmLCKRG^0mOUd9{S~eEegY$7msbQ!awR$#-us=)9Q17)t+ff{ z`58na14-3+J1r@{K%1W!Y}cT6GX+q)xdJ{7Jg&x9|l^;noj0;j9*b#oH2Xm*h2Ur z26LBU+COGdZ^w0pJ7I#O(QeY>XxU z_L!)ssK`k)c~D^!6*_@F=ho>iLt?HUX5|Q_I5@?F}X= z(6W2dZ>WFl7Vd~*I*qN#ta!V{{Gik;X6#}QaDMTCN(rU^4#b2ECMw~_Uc0g{4XRyq znvJMrIaT`-o#wj@&Sq!0+HlW!dXOR2?HT^xdAv*NNiE?FX12HiF3f$0BFM+0#ag%+ zCrL=w)xe=uziU+y5_B-1fI&d^Ui&lE0P%eHyE$Rsm4jHQgO%3#;-u~u!!z=lz8;KR zRM%UC>W*+qTdiFSb%iM~tj41Kp&nT(IpMLTQ3jmzJj;UXIyi@$UlMVR( zZ@~M%@+GSBCDE~n&_d4X~>R6Xj6KK)P4UWv*ZqW3bsGT-#2r?md};POGe(@hg59wD5G7qOvLy*G_=+KpYYMGu3_URm*83y4~8g%b<0 z_xf@Pt$nvkq>MZGJ0RhZQnJ<{jG-$6CS|cwj-Yg%!=e&%Le#*13^ndH@`vU#-ZjQV z?;7pt*p#-GEDU>>1;pnPJ;9)xruZqv-k=vT-STIdVBlIp^aP;W|7U?Apb`?ZCKjY(XnCSqfFQ z6mWjlv2Pas2;@nQjqaf)lg`<^g`!Xe<^Hj6aoU6HCa0z#9Wo*AGYYQ-^6_v0{HqoI z3J#e|){ZoaGySdjO@eE?_P0*UD6U-!rwhi5Bbz<9yiX{C4+q=q`-m$Z3>PSTqj)6e;*=L6%Jun*#lycg0#93w*J32&T_U(hYgzc^AtSih zFRJd_AzQVqQ`BY}(Fff(ay|1=J9JLr&6qoCEL`GOI zKZ58EVB}U4A0-haixEUEH;1iyjPew*j73+?;*VCnFd?~Q>oi96XF9*6wgU+tJFBiQ zqb5LBbj%?<>^iv5{#{W-E2{SA-t`*b<{5hfA7;k!dH7s{ZyBBj`txCnMt_sc@2_f> zzYH~&Dk0E0F9gN_>{AwScC?waE+xP6*Dp*0gw9x0mg0y}m7!QcX7hQq#3DGwA=3Dq zKFUk!cfVUftWLZ~3{0Tj%$WpdbciP40w2Myzsg`aq;G9+sD8i^FZC#<)0DiOXQ5S0@q;$HR ze7by{ej&GeeoT-lBP_s5qADNiHN-!jPcJFV`}eWBZOX$PtIuKO9Yz#^T;5_&u@z5D zWy9OaPC2Z>0>_UXJCykhXDirlP6bLuZ%+(uqK1zsInhF86jED%3?aJ5xl(I{^7QKf z$PYZwfjN;pbbWdR6dJy=jslkgXLE zIqav<7$n-|QOvNznL~4O-+H^I=K7K7!f93BL-%VJsJgQq-59WY!O809s;Ft59%c&p zlXP1%ZmT~M?$weiwNS5%GV~`Ej-7zKId{Y>P1ot58)lnkBHJxyIHs>*A~`r_$XXxS zQ#d~E4x9{T5V~$QF9Z}4E_o` zs6HC4(OV)2KlpZaUP}9danH+5AU(FR>awj9&Z(|&Lq9w_eI+dN80H5IWoOsGEU4zjd1Tnpf#Hmv8yMc>4)%~mD%*qYgNHeaVgwO7DL_BO(DK-sfv15gA z9@o(%JxRJt*D*+;o%*zjZU+@qwq~PD!k;KP9P$}RhotZR?s%owe-0$Cl&Vp%3E56B z31MZTIA+QJ6JQQgdJd^M;KPTW*&FD|zeP4T+mK0x9g^A#1YJMqz@L*mRh5O#44qI6bO$oH4tTfyCH0{_ zg1FI?pk?>#O`5^QDn|X?0Py=@Lhlc&NCZX^z`-Q7?e9PA7Pk!Dm$Glm@TvA<^vzC! zz9XMKU^o0NT^&X-1eQ0N?RqC=FZzd4NqS!MU1Uh1$W%7)esIsQo$yeatj^9zBn|{~ zBoq&hwJ-c4L0_>xknhTXSOkF~ryDGDlucP9yEX<;oH-H7u2fbXIO92bjX40VsrDY5 zgL{x@%7DLix)ZW4B^65xE2bXtQ9GJ2^^N-Bf&S|u-QO8iE&8nZaWNH}XouZel|gH> zwpie$Bxq}RK2>~J9_NA?3+~IsXIP?bf_rb`Q^^43>Z}JH{>w0BpH)zJf@b1qAdRL& z=Mv)|qQI}?${xE1X@l!Q%+-hK*#g+q0_*Yz^TocBf99?jWFZNE#p+?bWIP5kauPb* z8aETudPGXQwG)#+)&1;8q-0a#36GtMK^7jat}hub)a@YhrlX_9C(B=4LrP(YHIp$NtXJ3>7i;NhsSUlkA2_nD~-q zlWw~{ezrF0sp{0Y`${RiGxW@EJPe%(D+}6#TkProLS`W%AwFe1H!CB#*z+8jJ;t)s zRe8CN(R|I)?7za4@4Vix&4Be$9CRZ|H0UhZsXT9PKu&wn@Cj5Y5U%|$IH6px9IJE* z?q8*g8B>z6Aj~aGgtCq|uevpfO~hSRFvc#2c;~6Rb1Yw$AfE{U%)~sGAN zTkxVmA1^-f4Kd&*1kI5?EY7D&AxW(!fNTg6u}&8Jh*3^r*@ayjaCF@_J5zc;OnUF7 z<@fN;HkMTbYi?C)cp4;GKJor>akwg}zJX+|mno&ckq8CRVGYJP9nsQB;1n5eY|HjF zNqgtbwt%>D;`BVR+pibeR(lO)7g`SC9k6qS1&hbuB$_H1^u4h!5wtIfzMW_kRr}zT zpFd{sR=b5hO4(pr$%RDs;aX5mMrL4-;~ZS@UKlp&uW6Utd3(guxTljtr;c9v50kbimWMpWvTqv zhEsuKal&;XpUFdYHDckFhE2zf?FH2m-(bGHUw`un>hC-glX-F1bDtNXGO|Qn7-A9c z=-YR#p`o;!g(OmBJQqg44sL{56yd|o=2qNyG9%qw=`eOrqD6K(oa9yMQH}?gwuPG% zn-1NV*H*=^h>>$&R;^*c`w)4EBXhAa7(Y60n>Bu?6f_~AO z?X-8kHJ4n$gn`lV!5zv#t{sLv*@zYLCKl#EKYGl)JT!SL(+*yZ=Sm>!&W$|H2yTi% z&K;UO!H694K>9;5EeZoF|5`N&nKIKE`S>?Ao@erW0VZJ9n}I?CJ~1_jjUkDjj^8>L zoL8&*tP`j&;YK`krLt9p4ZR~=Tt3DfVTvEDzphku5s0PmW*oZGInR;HgQ7aj;A245 z*OM>)18LnCi4AQO`E1O@rLWo}gBP7PIXvJXuV)5h1@-b%z;-K@r#Le-r`((j^_U(c ziNr!-&$hKPw}M#r(7q+f?X1Tz#=nG5@F{;~d+7;g&2Nmc7P#O)1KTXro zG=-;$_|BB9=FSMRA9fXoWXF5uxj~ZTJ_V@AD6PpfA?T>o*NLWWMP5y*V>l&)Hgwuq zyDzCiyibjvRu1^ZlsENDnb_GADlc6$34d zX5XP$Lt+oB5Q!Jr%k66N{y8ttAY<2552QMPoK(2DL~92~2k}!`bI%cdpU^MyD?9@E z4t&g!FQJfsP$lxi(k+W?{HbHYwJm?W6lZuI~OAqO<+9| z;BL>&xObHFnJIBT>ZD6io!~D>ea1PCB*mE!kN9ymv%p&y1szu8gqz1{q#CPIk1h85 z->PhMLuQHZ%&E-zacg%B@W&b9WuFQ;)7w6{8RD~cVvpqW)$vgtbvk=*fu!;y1SQ|J zIucLIHPcCmUB;&HEexAP1aj=M4*}3X4PJ-U1~=K6-0=KnIp)2+->qjq&#H+u7Y&l& z?yz?MQLO-`w3BnRF9sW%;njndY(wtqOUDtmWI-ypvK%x3H|fQ7$W_T?wdZkG%+M;W zxqj7MEQ>jdP6BSO{q5v)Lew<=#~r})t*#?+aGpgSiIpF_t(q8hA@3Kz>XtY6bQJ*q z2%*t71GqxjkqwHEx4SqP_=KhijUK8i<~0HSl|6~EK>9)AVw(`Tuk``y%E;$S=z?wT z-Jaa~#Oa!ObG8KUZfuuCB8h7dB**Fc`Mn+etoUcU%QSr9SPbHt?(%gkrB*APpk1v_ zJEY8TSx-nt45EopN!un4<{R7~v-aWbPD__>vZao4 zr~wS`6O@rrg#GQjYgS6?M|g+eZD>>bezsr;*@m#&EOM}gX=%(;A{%>B-p+n}as#&i z3ikK{4nv#*doRqMiL*8V+hc*P_DX?4(M@y5!AZyJRJr;;p-&5ShHA*$z6EH6{vWE| z1fJ>mj~{nSn55iig)VpQF;dDEQI6zlNpj!!=E^E_6d7TtP)SI+nRCue$Tc$}a}UF2 zX8Z5^{r>*fH)~L2M-4jCoCbZCe z+xn5;aaD-g;qB(t#STr$aSPY@saF(u)ZK-kuGt`8|A$3j9 zdNanQy;o~^^?5jsw?+u;tgT!Q@!PqE6F4x*0}N$F&q0AL5kP_A&%cuDrvM_L{;Bk+ zsIQxAOIPzU{vOT^d;@4M`#kW%9(*9V%Ul|-UjcrG1r;muEgSqXYoC6dXlG>Ig%T@9 zxNlw5x8C!})6(ioPY&^uRb)W>T4q+B9BRbd#q+uo{sOn}8mX|h^6j0RzdX;xgcIg+ z6^|rEv2g(Sra|VfsK80RK97y92SoyE{jo31;^%nx{zs`X+&gL)Vntru?v7Uk0AC)e z3uJN7&uo_`fY@nH^B7jBH04U*6W)AsjllqGEC9=~Tmq<4iYjabY+;#rCh`Km zt__^4XEUU4mt=~2Y#Wl3$BmP@h1(B*a#q`aXPLMvY&5NODn`BT@Kqx6HK(nqTBZ;; zl4JhD{5adoJTYjf(e1bCV>)Ch>p!=>(7#|NYZ+W3rYZNb0{M13+v09DnsEA$lEb%1 z`Uci-U1ek9HFzHj1ctNz=;f?-c*Z&&GNK`%rE>KY^!`JZ9XXnF{O$m|G>7wB;oA)V zN#SE%wPJ^Px70(I+h~84J+^6!_Nls^%PW}BhyabHQm$Pe8^kl-$3RDRy2GUdi4gnp z%drm@F@i|#2bdx(y$Rr#F!|JUbN#c0PY?2vsxxn zE}QemaVJ{`j<`-gmhCq=YmeH&Tm76tr z?kBnAScCx^37{vBc^B@e_Ql|@=UHz#pYTdxBEHR&K_ycKh&9B_PrVz1y}+V-JMZ+y8-Bv-s5A5d`qC7U&0m0Nwr?q3a5FBN@53OrGJd z8{KcOJDb@*)p}Dx_-MNz-v{OKyLUIx&HnjrrH54h6*Uk1!tDO);j4zOl`h49<6*nP-oWEY^D69muP zt%>Q3>|M{Mo_>l=6Bc_4(KImi>+|(CQS3oJSF>k4Y_%?SEK>w4G6i)hVA1oEb<5Lg z`lBm>&_bqKNDzXu4DvJCkGb22<4Bx@5_n|gD~wF5CAf)goOC^Q#qgB2NZKKruKXv7 ze+_WXflT}($pb$m8+kOo;PU*EV;`h>w>>`BPD)OPOc z52VKv5^k!Ba06*oF z2`Udbj`obKD=@s|+?bEO;h*uRw-SI_#ZsEZQa9%TwC-~|0sS|>L-jeEo{5+}_tJVd^&`J}onLi)R5@fD#ykc+60bVjflMkkc_R3= z)+Fv?5@7%3JS@RA;m4PFpJK1L*OYdy36GHyfahdqbb}+!g#4%h>{qigTk9CB0M?(l zV$yb679}P#V|ukPEVq#F^OOJuDgLQGb)mJV=QK&+YD#2eO*dnq=TXsZiSSkBoQQ$< zDdj|1Q)>g+mOqaD_hPE&2J=V|+hp;NS@Zu^Q@EzwX^?4uI&|H;_AM!(%#aun&|ak& zOMJA-VHLnHa2Qdjw%oR1^Vh71FXq#ol(@J|dvVnxNw|d{YA6)j7Ky6p`On(+h2%Hd ztq6}M?EE3=AOGBC!Mo5B%85zxwDvG@k~lTznGG(a%GEkxOJ;9!OiZQZ;048SzJ~Ho ze^2_049q~NAx^rpM~_A;ux;g&n7&{Z)$UsHBUa%=~)(-&^D0j zxmCfoU&j{qlaFCv5~o(z_Nh*EX7|yHE)f%~)77w-I~=?HMYOx^Zp|Gn4UN4~CZvB8 z_eIugA;Qht)$I!W)n{hBD=Xmd~HkW zI{NgBD@HKksXETO{T%b7F9`rz%4FkUB3;52j>6wOp0{RO)B6HqMAw;E$mFy17|GH2-E6cyWNn~QKh2|m@Q z0&Z40*K}`9b+HFELCjZeJ3OgWw1e0jvIOtQ|> z>qA_=phan{kUMF~HrH8!M!T;^XZq}dIXCjSV#+#F#75+Jb-1;Lx=;lZx{nF=m*yGk z%UP@bL8>W<$3IVW5`+RbMb6&n9kQf*N;B~5cGOh_5AGs zslBf%&zqxDEO0*VF)s&cMpC|00$|qk1WZdh-5@2Fb7fH}E7aKnhL+Y+O6PyLaWW)7 zDZUwDhFkIO`j!zNH)t6_e%0>knL~1U#ZYp+q1P>4t~RJHT6>jggPRPEx_`S;5lQzP zxr2Bq;IZ*Yt1p1#v8nNslLrUYmJ!4i^%ZW!$#j*h@WKar+4w__YO|KK;r;D3MK;6m zW6f>FoDSDpoh4hDmxVxJZ20NSTj=3{_<}Q2OeRtPsXEo{AeC+M_Vt8X9$)Z zEyHtc(#s$UG*o}n3E&elC^yW?7^#&Eo-*=l>~2eD;a3ZDvQFp$*df(;^RT@c#ckA}nNHv&O00gbytq+%kS(55Q+J z6H;Nce=8Ra3L3ge$l+Z!3_8;TBTH8v;+!)6&6_m2OS9}e$sv4&zK7l-B+D%Ae{uF|R$a9U#VB5Xe?0K|H=!LSeVUoh0sFhn0E4ecbTA zO>%il*4{UsKfis9<4C*R-s<8y*OZdh^*s-o?MIW|((^w6pd-)rUVkPvd)NN<1KgF5 zkb|%BxgUL2P+LefFl?`i%@DaC6{liFJlQWY7SO2mQTiOR?X0ae)!2~K9M*rf8luKG zSM+{wZjJYIhS{B9(XT(#PEp%W?xcBS%5ddLVzy%oL7+yaR^_A)SNMyh0*;X^BkRg| zEnXd6-={5JVD>WXcZ=%=UcQ3}&!(upv#NMNoq1J!9K2dvojpn{+2FcUF`*b9EE{ra z?J=asW@A_|$uMc~pWDHvj13M9a&wdmgV#u8RAnA$p3ss^R=;fA^zUpn*U9Ldc-Ms3 z`>d12Eo+(f>`U54PuRB{FS1z+Mh;}EFtMNPno8KOv!mKSjWEJXIE!`{?kg8kzAoT2 z0};0YOH0MSzDrJKBn>N#=yI=yn>69J0|XYxpejuLfx<_kyDzB^2r93Oogs-ghg&t= zh*K_datD5?wX-^hbiG|KGpdxHS>p&=Y2RZE3s8@)bDtiG=t5oE*8Oj22>xYkcuGN> zZdkfD5K}L7Gj13^k>2x=UYB`a?5vUJtkHUZj8!Fr#{HRs;=p9Q>$awi@1fNp?z*IVLRL}mG@OT9NCi@G^UAY0*l5~{ZCuQP37cROkR&<*pI^;<8h z2J?R)$3hw;$?VfeRk?*z9_cM z`_!7*=gM?HiH&<8S>_|n`S~`sF*7=S1&-P-G3@H3ke~pa*mdnNcn76fC2CEx3lqF1 zoMiwy_fUS;Va=w?ZE|nG>D@4;NaWe9sKS21YD}C|L_`f7;En<#|^ zy}ib;m5@9}1~K&0bd}Fxot0XKp9tJ<`fbVZHtIEa-vDM=PjU&{PPiH(-y=FHdKdr) z9FqC9XpKIY1s{R4G~u4p!Wqt0hfd3;m-VG5HR$mJ!+-tmO-xE0YWwmW?&LBN89+Wt z&^Ds&8__)!eBfk@cy>ju%%z{O*F+21gOeHWCMp3yctpUajZFF|Wl!uKiWSJ8*`?=8 z6!!OPC z!FVI=ibK_t{2yP3E{{8-8PPW;v6si0aUV@Sjbhq0u7p#GnsJx^TyYM_gM2HIx!x4_ zcqVmULb~9ycV#wYwwY!5ntf+0cOdHh+e5227~0mi&bKB}hE3m1431)?yy&mix+=Kv zK}C?oc(tRY$(M6+2~){CR@n%s82uk7#*Le7Y59I`B#78^kDLqJ>Agq3irNPmh_uJf za8}n7*mT^UJn9j;T~;`DaIDyUx3!zG-IqCI35*jlD&UE1pHG?_-@&%%Da+wPwafR~*|4CKQ!}!A}^g(6C z#TA)m7PPELyY5e3_cp;j0(8^xFc|BIEsJrkmrgxgoGAVNEju~b%#|fXM5K=<4c2#i z#}+5r9CQU9Wl%8IU^Ji>mp~Ch;sZn8)D}bC6q=^>=Boy;3V||Nj~@T_KVMwLd9+j< z`$1I;-bu-3ctZUN6SHm8b-D)iT-VsPu1Uy|4V_NR(lorOge z^Q{8Rl5O1w;CLGS{(Az;iY`l&ya(~~mCH2(;Chj#XEy{N$cJ4@ ziQ+D7oE306eGgRD_G-Ngdj`X_oJdHN0p8m_YS+NIr|WJOXb_>*#4p_rW^JeAN%LdO zL--lXqkZyKRs+_+4-Ju3+=<(JmCbdQ-M5zf^?~5=wQ1Y>xQw+>!ikq zOvth#lbo>dSEHihqa|r@9(X3(LTdCG%eU*t0c=pf=$Aws#YK()le_aYG2>Yx6kJf; zaEwE7#`+$u3unKs7k`xhr`qtl__C{gSKjm=b;yPWgBo+*p-Y^*PmD!(;ZHC+p~m36 z46E+lOd)53d)D=c?^fIqu3?%Re;)EjoUamY?qOjP#@hjAw^I*sdI~G{l&{?tJh2F& z-L}F{OjHXNld`e^qC%ubI5bdY}}?aTF+`m{hpv^KnbQ9oesGOU~^@lP-Ue7y6ZiP$^QCmD8j=3dGQ8H8P^7evm?CkC_R6y=dN zq|4Mt-K<`aUC}zBm(7ADzfEUo_hk88pcCgT=$^hLSJu4WJlkzbeP16*&GBwbqZenE zT_0g)#2r;qVryb!>_7cZsWfD&fs$LY<6$+pE7-&zEkCOjnuQO1DxV+K$l;d6y?qR} zRlp7~Ij!6A_;nZFMZ`~4!nV`zqSY6;!{VQRHI61r5f~$k{wi=XWAE@h z8s9W+=L1q;G>TA|ONyE9>Hu_Db$G}l!9djw{^PC3q5C6ELFdv80{l5+nFJ z1L=M~*n5BhHQuO~m1kunVCrcmO*KDN%h)AZ4bHdAa7MRP&f<_E#Uj7`Rl}tp^7`>d ziV`Ct5Hs{IXloUFs$o=LfZ#fzyJUBhS>GIHsK5-A{GuP|T1NO3w%a*fp_iOwcIrVT zwY&Ls9ejNhRyowDR!1-4@~h(t|77eG=<6FLoEuf0&!16=3H!thruu_m=?KWMs|)vT z(hvA=x-{ZL`Xt4{5_t7+(o&{9QLpjV ziyh63b&^WaQdDgXQt!g4dkz`*o&_s^G!@#?WPF#LSQxmEq&k~#>voTE?*=4CEI2I- zs&J2Uc8`TLtqko|m!Qnr$h&Wm)N>2uc7n!SoEr>kpRP8Ul~?pTm)T{hOcdMHn~O~? z4Z%sYnxa1FEyy4HXEP4gwM`&%Vj2Rdj%PLh@E&_DGX*elzd7H{|Ejzr9?IBwNiaSB zjQ7*5#4{X67ak)uEm8OZN{*Cqm=ZQ;J0CPb9-s#FF#A3IZ~;5RtW#o2#AGOzHaIhe zx}h3wVNwWg;>tmZO_-5<5W1F^P8<`wqgIOWb zS75BcK6dO{+xIGy^7SA^$z41~%8?s<>MJ4sLwsH@@@5+AaC$-`RZUf-2JmP`?eB-v z>+>6Pg5Um9K*a0-_36^!I!Ma1LhV6-_A)xJJFdSi>AW(A{U#{8h#EDUuz zjiWVZfO778mvOI83)QP|t*WH>q@ujmi&Jf(_2qz#(NGcVL`yV~9Q=JDXvgyO!7D|N zjiO}D#0%ZtX1OM}%^9cfm@{b@WR<_gCX%7V<;4=L!^WHN<1gjUajS z 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 z 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®^ctCaPfX@vY3My||tGEJ7J>+mNM;Fe2H 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 &vrT>puq&pQ=zL`*xW!X`(vSpIxTOz`> z59Ym-j#GP2!D69h-wSX175Ay^l!`mjUl{-Y#DW8AO%&(>01!55{{`X?$9o3i(1yjaBIA4+zd{U3Z<$2F!qnD^Dnp(f-cpq%kJE-IOpZ);{jIcM zPzEH=MhNPih~!X6Bh+5LsS|%GnHm}qveJxDEd?OSg*SHbze5WKjkdbv4<$bsDEbLA zXhsVi1`av0jbsKn!~KBObS}hPwud2Zh(~uVSC|_fSTQTl#xb^u3ZGEo+ak_bNq;VW z3r{ffVI8%q(e$T(xnrm0Cei~pD_Vr(i5P%C3P}=#Kjb`i!UzUR$swgc%)iV3NiE9| zI-^ru#J+0cVc$Ysh4M4{=38XuT5PR_>XQrcmjTa>Lz+^rxI8!7n^6dC$&TR0pU%ao z)XU&2oAaJ})$od2$i1OHjv03oG&QRAi;e>%i~c0!<}Sh-Ae0_(sR9SY_Ua1b;NffrsnKeJCD|?e>5E*eNj#6XK)`$5D!ZOM2SWwP-@g+5H0Xg ziUx8+*i0dro5pvGbekpjgSQ<%F)c=9N`g})Tr2;K7uJkcD+!6NN0I@lw1~Vt8=%#r zP54#_9FJe=<*1h#u@^ZBk4Nrk5B+k=+~>9V^tegT$-Y#X?+FFYI~5a>oNBDSGX3%= z%Ux<5;JJS{&vt*(y?Lk=Awc9DQqz(!Xhig__-6^zXb~z#5?yW#_(gaj)^U+3Wz#k# zf1GT!1h1L5mFrXdCN)iYDNm2EitW(T*^(-mGMKDFjMyUII(5_{ba{FzSK(v{k_{;C zg4T_$j?ahlN)!9VO4iebNo8?j8)x$`K4i`Q;=>|&H9Zww0SfvKE31(wOA!JN`&=QD zsU!^zS5jdjYe^wmQ>NifX)4?Qqz9p9mODgoiu5tNr9O z6PW~z15#C`Ik7B%lM*?lxor-EsL3)@3=SVf36_h@1OnLpRR)Dgxs_6R-+9grlvZ-& zHcD$5Q#+;A^&L#MNfI>eDmIZihe9<>aF7ydrx4(bM+xKZKcut3wNtgxbW`mYM#y!I)We2NLo4x;mJRi9cts!%&|tp4$=!dF z&PxqqbdI*$EltfzYNX(9vn_b?_@F3jsY*#B=&2 zc)x;(C|iQAIl>Zig2|>zc^;II>8Sq`E69t7ez8JtOLpl>Pmf^oOj}@VMcc2#SszYnadAN~Z`Tygf5ZiwC8KEd@+h(i>22p;sE;$jQpg zlf)J*%7*6HwtlzK-u6ni@2r>C-HS*usaTFQvjBU*qm0kHC>7NdLd-Zgn(L#G(qw+d zgxNnS0U(yCY!C+E(DhfmXE+_^K&BB<K<3-0{ez!>7!$mn+WH%W0aQw=c!|5 z$`#XH_Ok6Vi3?;%|2Y*d$A3gdKNKy~?Kvo!mf3va%S}4doc0;}CZGOr`Yp$$>PRb( z0y77st&fzRT);`0us~+?O0Jo0p@<@78X!@^QBX-bW5(qrxZ%|#Ea?C8qzej+3F~f~ z_Cm^^(BTo8okRFs<=UJ|e5J9~l_1SYhZ(wBB9VSowu}#97UWs3jTYoLBCbqi&B@GG zWCzc{%alf>Zk3IR+#T@6)`zmodGo5$u#%WB>y&36?Pn96i7Q$=1~Z z^{fy4mz0Jj1vDZ4lSXMG zbHmlpw8Rl>4lhT<;Kh_6CAiX{!5LL7Be4BTAMFDo^!bw1lxTk?sd@2u zDJkda?Xeq^;^lOp^6RZ$(vGkCe{gn=!L>C^qK9%Mm(Tp8xkEW@OR`S%oR zlUl;nBG&AQeILLLUKCXkLU&yYff)oH$YBNsV4wyD9>EOu%77T`S^QI4+V~>}qzisd zcz#Y0eqO=+(prtFKeNIPhLlrU>?^@&yYmI_leQ;k_@%j}elD2ekK{KP12@?7`1ws9 z(wWQK24RDgaUF8ykT!)ff#t%S%1bbVjeklW7NI{SkK)1t11bvRUX)=}m;dcUGXhhtpB7L4 zLmCD*5!Cz>n}O3O!?8)NmT4~s9FpFOR%tk8*;?xh{*O_@XKC5I3Z*ke?f} z%7;xiSlL*tlDOPcqr+@ydENcXhW|>h)>%~rX3~Vy6cNvN(LXf~_+*Sk0YnV+WO31G zJ*n?6XsMlRXbi-<2yTM55dva`s6f$|Q(x1BW`FwblZR0kPll78gJTq@3Lqq;>k*?} z5-vn9|L)uePUO&^upuU6G9Dnkuv@+&&Lp&IQ(l{57}f@Az%-nn5fm%811qh;&@Yho z6S7~CBG>dZxo?*zv16Keg2!pLwybcd3>B|DjSrQ}(SN}VQ=FP4_$G*2&;cVvf%l52 zE(eEqLbH@}V+2hdKC&3GKDv)vM>Vsb3l5lOro}m}{22(9(O~p_xh)iY`W;1mX`NQvXuqa$ay4^fMrzd<=gssGHrOYY> zB=Zenw!P&brxZmkvKZ9M!5Nz4aXhE>x>}S$#ACk!&zw)y+9kv!p6P3p=J_C)LTH;> z$XyFKbCU33sj3CHHVi8V}K#vq8zND&PXb25QZfZ?{oc?z!GAj<882+I?0;~~oHQ$0Mq zPK>fYVFMBdv2iV;SkzrSUyRm){|+Kq%U%qoqcr71)HQPO&A*kI7DX{?5W7~^-+SK> zkV6!(0kbD|=pfz?7lDsE7hvGLP&YG7qW>(1<~!Lp<7+X@nbU=d6QQu;Wl~wX&<=$L#_y;?ivW071j92Qe3lGB`O8UI>OfE-6|BCSuNu)4g4#xlA2b%l{msMhFwv-Fdv5l!P!aXAdspFr)V~KLC|QYJIELt}D2uvir|z!p%j@yy#|{5< z_8LOXEzI|uJ}JZR9>(JKYA$F$TsWe*Z!1ck+&yDhxE=x#p;%=*F~(W?6s3lRa#fN- zIoHQpe-@|ve?&r&C{J9M-(^&q|xkFu^d z!K2?C-a1_KU+fDN@#xk^b5VO+Wur;a6jDMH6PUr~<2SX{6M^(KTx=Nl zXYZVpgvx+o#pOB6FcQ->oM|{a+TBPvfjE`7OgO1E1eM$kt2HZM9gKg0UHg*+6#5`1 z!7XX=sa5>ah@mE!;FnjBO4-y9>1C-s>zlw^C1@yt((xu;@p|5f1>W6h_K?P*C-0vy;Od_+ zz~jG!0Vqc&0pxC$HljrKmH;b2ZY1R1LjajC;*((h^~n^m6Po>@cO%pRB6%V~qg6(X z3v;l-Du`*wJJa|HYR$2#c`G;Zqi^Rnp%`O=&l?R1GF+?wdElV>UtqsGXC7zLPDU6Q zRj}$#x}~vQxI0u7%8#>@g2r<2dN`1ZOQ^!#oWXuBHlVe;4#-&vz{2YH3ksm}`v?2) zSZy*{f3SaiA-L>{^auOR*Z+n6ux$UrenGbXf9&6|_`&`Liy!Qdv?#L}U1EFDwh5zS zYjGgZl%PZ_gOQ!rSe7O;`)gs9<_le&xoh#~$3+TF{l`VhfcSBdNVE|nfW%7Cd2Gk* zN^R^^1%F{68VM#UBAieuJt9B;qSB%)ty8NGnqo@29ipUgKH?`+cQQv~_^LgOU=hm5n${MEj zC_ks=Ki@5x;oNs+THuT@9p#KTZRNVS`(>V3VLpo=D-<)BZ-MJLB4AyyEIIv2p z*Ot`=e+Y-R8Skh4m*&7pL-H)pH~f82_oBSZPS~g*V;$O5m55CS^=uxi3PJIu`GeB5 z@dv-XCy#yGoA0|fnNE9%1^VaNqSw~k4Xg3ELmC)B$y zw2e1En1m_wK24k)hF2_V9>OIjUXp;%Qt|*pq^8iNABBDo<4+Zv?;wV@9u$BxGPPv9f zg~e@c*{fkK9g}2Kk^g{#0fg=dA#t)j`Qbh4=9fz)56DBR#Bl9g3Gr57+{Ga@NI@|hx z`TKyE;lJ?r^l9J^e}lsRH~xMH{crpoMfbzsUAq6`Z{k*wAO5D@_!oaG$p7$nNB$3g z+lMIro4<)N{yTpYTmD!624ehA{;tscul&uH_;3E6M2-C6ZyWs|{=QTHhrdtoZ;cK~ zMgGO#Bn~x%3`t|F;i#L^0YAfP)Q`9SE&f~wPZ|Fs{z$l>K5bBp6cjDB3QsBw4o)qq zxG4N&&t<6V+p5(!mn*I;Ri0VO-%U!}=(tj2N?#*qy#(zxxcTQM64dye0)C7dF%cO_ zmY<|WDLqTGo<1Q zVRXthEHaI_R0e3^VmYv|qiK4?0s(X^Qn%MIwuW#yPMnawCnH(dpvut!Y>i2^-cEJJ z*fX?(F>*TcjYR9Q;>Dkx&@+GCpjH{4W}m_p_H~79wWs`oZ>5j*=v-iTXe3W(Nn9YU z=ZTtH2oXZbeUcyf(*y}hSic67xxL~em{K^fD^|bvvoV*zLOl!AF~!=op+$_LfW5D2 z-^&9z#AyCDQa_B}?g@H8;HxP84hG6|UidBZN|IF|J_K69ASx46QqWyT?>8{mcu|dd z1k$;*8GzWf0Quf<#V=ggUy-1wD!v*DI#Fp;3@ruH@b z#xwm7ZoaYpgPYT2?c5LITH^?YfQ}4ec8X-pFXS&3-QY}!_C&1See+ItFvpo5V!AX` z(x$pU`Q^5tJhs&NY2*3D>Cp1(2`?7y!HuUU8QPZDCLn^b0J z2~R9hl^K8mx<(YeTr>J5?64+j+LM2EWBh89D}x%?-@yP&6H7n}l(=C;$V?d^AQfx= z4@iuH9a8LL)I-4huO*>_;alk z{B``!1b~s-14Rs#D;W^vr{$=%$*8Zn_{u>01yBq3<4MV9NaCsMJs06o0`zo24ySUSbD%*}=WU>B1aNx>`dXSmQP=9H zGBsWZq!z1?@T(P@t^QVvLGc&B4mA!G>QDhu0m;yyKj_uGD*DwxU`9Na(geVFkS9S5 zF?FkvD1e**6R_X$Ygd9_kQ%o>@^v_wdcha#jik)&hZcAi(5g z5NR&KJSsi{04#{_%)FpMNthmO#R|0G3NZWo;QOTpn}z=7SK!s3UWW<2>Z4b455C^XX56d~il3{dyNIE6~Cl zh%+$)p@MxXCiZg>O>VGZ&uaDC;xbWEs)^N2eS{y0%6;WrzhPKgtwrko`$oHw(IZc)whB)0y%6bXD};#iZqSUks8kIkO36K(j_;P_KFbM5?^qu z2ZB%#ITQ^T(SC2DZ|+I3f1I13BAqH}ZRhTG(6W*P|!LJ{{hUp6? zlgy%(L&^kvjkCuv@54pFB#bPcpu$wX>Zkq3p~#_+LL^Em4f?{{We$TC;^}^Z7EX?E z4p-cX;6C87f@SYt5AK>Fui)ksC7Z@9k^VD}>UrgT6)~Y8h&-veBJc59MaEizpPLqB zPhLfcjNw)qiqche;tX0q>E;{%&oGAv{&s}D!S#OVvWu^yI(_6uFYe(LP+ z9weJ?>X{`CsZgW|1m!YAI88=#ycL3|w?hJp!EEV2Wz(z!WwLTD8)b=cQ*egMji`|3 zJ28c$FdUoqX9ymA7kmZ0@(r_EjDMS3eN91=TuZAS$76t?vTk!v826fzM4dJ?0=X|r0P((j>gaRVx`Lya%W zomoUBrj0l)t)=QV!{6NL0zotc0Zfn+8g2fBJ_>gJWTig}R;5YGvxFHmYd?e;jH2u1 zKfu8&OjyQHpb}L4qG7<2 zb&bAa7MU?ta5VK#ctbKR3R6-DYjMn!EzycWJoS4t*>3E zW|o&`t#zqVl;&2=$=b{(PH4*26c-8*MFyI^YoY zgwA418zM~&F2wB1S()dw0(&$!#vze_MH=5qUq|X#XG~eR&B(HFASrcZ(a(!YKDkse zIwvjGbf(pV-G#4fN+;BqC+r?x5+oZNFcFu4^E*4XS zL6-1HD&=1B?ACNj=p}lmd<+d0>z|dOFC==efF*@{Tkywx3wPi;^-%WhPVN|8QTXoc za3FY8IO|keabPBsAPIC%Pt=Gy+bPB**sV+~a5XNsW41_CwJ$XCIAn_9Gj3jzC&4|( zF_Mm>a+xXNx>d|F0lMr-`q24m_G2W)W!mV=#F)c>zIuPQ)Xz~s<+e4hsoYAks)2wN z{%q}42kYd{h_$q-)$>HWE8t*t$25vaPUg!BK>y%mb|nW;%y<_ZmTxnR|+Un-{ArwNL+%CSXzQ8pXT z@s+;1eu-m!_sI~}6@|5*VLhz%j5}JA??Opam#@B;$qe8`?eyVw=Vi4AD;5jxSq|tt zhiML)1M?pN7r84SUYOKzJC9YDd=`@KAog`a^Iz(%w7HICF*DtNNVkm>CguOOZZkkO zWdn+qE{R)S<1a*@@nWUWtSV?f_L;fI;Uz>kg>DWf#2efldLOEgSDX?mZobQpTiweuXdZ%05;nxm;6mtlP|I$dSh%uw|HxIjXc>x z0^(c{0F)27R8%`WS=2~M%YHMagbv((kamE%5xrf(s-T65u5qpTlau$H0ZD~!4@c7V zjEsXFu$jKQk$3p%B8L{0*eZrXvlm=IG3Z&x>skNGk*$-=C6?$m6Z0eoR7_2Mm>1^r z+HV@p>k$(tf^`48xAVtzB90Kb*|F727w2GvnS}I!ngmri&mSZWc|J@vja)$2S=hGx zmNh-98#vT-tVzY$NTMVa+Yc%T|2HP&5{CGNIWv)`ae$e~r9a7_c>y+BEu-ga%iXOZ z<=8OAhVN{=RTmfN^nJnnqJ_gaW+oqC4JHF%qYQk2w1WFSxlD&;VZPRc3 zvVm@YQ{mlkp>^>Y;fN zb}bx2m(PQ9%&TIx)XCZ;ZlTv5W_ph>3E&LDysfIV)JfSXISkA%oM;+-D+j6+_EhZxYD-A1%HX-*TrxNj?)x!MJ} z>1VSw0Y^kQQ)os+0w>Lo5e}fh=)=0U1WIcRQ6S9LwJ1sUWEu?RD_KrBxg%FB+1GtB zbR#!ws~KKL0+ zKH4{(C?6v7hd3|BE-nxhkp|QVEhUrbk6Z!7HB1Fw7 zu0Xv?+CMu5Dr1@;jg6n4u(D|%VQjjg1@scEq>%5{-5e!J!=n44H zE(A*8b$Oov{yf2V@!LAU@dw_BJp%}b=3{vR5Q3qXwg!agBonCK)To-V4W<>fA6zJw zsW)vB{bba&dWPuhsmWp)CYZ+|tsP3jJT z7)4X9IRYXGiZr8l@@BotZkJs+@j909SbYDXZZOj zZq|#^nz2qQVoHN|_&3}p0l4O)L|nXy@@qz_Mwmb%GF~zaph;8TGvZaaN6t6XDzQ5} zVRrP}J64YOmDy_k03Z!YPQHHW?&T0Ofy zjX_{no4cX=2*;n21=NgIzZiicHfp+|dx^m>=!kAcK;OsVeGWo@uA^OT>W(}Rqg~Yv zzDUOYxujOE&cyc>^Q_>KZblDo=1o*TPP@_;0+l28F{+o?GDOY$i}Khi)f+hdK?&Ot z35^8`ZjvzuD9gPrro>))9MEXNKB~Wd6}FnWpFi+|$PA*{0SL*vB7Rk?M&wDJIb5B? zFPzr?#7XtE18NXhT&w!-wex1&^2bh}`)PWo0*P$XIxKf;4X5|xREe}d1@`T6d>4k+ zp`z;@c|TM`aQ^9oB(CMx)U>iM!O)xudNo-zkl=o{tA+m!bS&vWh#FQzAITE`FiFea zF0I!4H!%M&E2>{=4o;#g3_TUM6$DGfm=mlU@f&e9grp=$_oNw(iWn_JO4N%hzHhDM z&_R{s7*&5%sShmxsubkw417k2q5|OyLA=1iP=LFVgB4FirHx7;haX;+QF!@F)CC{x z_m)2kBq|gJ?B4gtUCiPy#f~#`!b0oAc@U+huR%R{=Ea&22M9+>;v8^CbM)45_cwQ1 zpuon)1*pH+gnDnuvM~fXd2TXQ)%>Bt(}a4_mHa^<2df~;Rc98(%coUNd!qh0&ER7o zN90~Cag2hX)nmds=Ji~u6orauE033fj6C6Jh+RwSm%|b|0icFBe!S#x03Aixe&oY& z0KW6xwTf~K)3AdIYGZNrj_Gu?u5{fn-_1o2s2!ikGgP z7mbq(Bu^nt(>xyzej^ntBHU(6ro=)O=A1NhDoHA7XAEY(`=iG6PY0|8iQ+u zgGMA+5jTs1ey;eV7$!H7ZVC`&$qGovQ%dzB;TD^+EWBshh~d;^ovx@L<-CFh|6*FTI%-b zl$EOteE0~(k?)Iu_7u8p;-_E04bLk`+MNqQ(`5Zc3KfCPR3Q#qu!u~LZ)7Nb68bYq zCaJ1?ZkG(Tnrb2P}06%MLbE5bdwxn2* zyyJWxzPwLi=xRe6FB$$+@&cj{0)mK+MM-mCOkgUICgj3WM}3cIRa3jB1^YW(Ms0~b zLO}S4$riY^*8U70*v$q;wAJh?=WV3X#H~er>P`@i!rV4YS3B)lH?eT;ELA}ZuvP$= zkKDGgwk}~q0Bzy?hM)mw1irpJ(!COjiO6}9$|f>d=FVcR20HvssF@S9h-!UK`;%1e z+8*@~!t*J;>IAI}i%!|G(6N?g$pmU}FXFhZ4HC+$TEcdyq>?FMt+ms_7afWS9gS&i z<1C$y%#|G%Vj{twmjXwAL2(4st-M*6 zLy&J}!LmRb8OZo8N?p)VUcJb^4yvm}iu|Bj3b=H$kE0vUEWY zFeKi}rfqac>5AREKWeUpZNa&!m0B#9E~rexq8)>r$V_mz7}dEkYw5;R-?rfx zU9~^pyd+Y)e_RE$tjeIpe*Mg`gK1I_Z}J;brn%12YIZp+*c%Rp2|hagGI|PB{bIkM zE5^^RZICZb(msiHaw`2|=9^XRB&a%-3eVKub7I343kYq88Rft|G)3QNeUIidv zHl1|f(%+PGxIm&bujx)5a<6@a$1_aQnm7rQ9q#4Mb?Qv^EOPAmCN@Qt8&2y{!M~;= zWmMXIDl48%Q+&_hn2ksKCRdai9jnLG_nkSP-}K-mf}Jd6V8Bi0=rs#1=4~>z7C1GP zJrom~ZC)aoP@sB+CLDP%65I7Uv=Z7m=+!Udo7fDJ1uSLvANUgEXi50lg#);SB!U17b6P@ z6AZ%$1Bt}qlx!-fXYbAN!QquD?UGMkcIJ%>IF^Ob(|Dwr#%DVPp^c+bF&4=+F3GF& z#}4hT9|d&cp?Qclat!NI;n>YGt(F8~)5tPra{`xlt0?<06LNnuaaOXszF1C18)k%4!3=m>|At9S^#S;!HoAQsIC*2%1}A7Els1EPED`QKe8VbM3Vp_n}xstx%z)AdZ-RH+|r? zuE%{+NMryvj2pYh%{QC_B9b+qCZ98o>z&wq_N;>ty?jj`I)}GsnBkPj=gC$I@%_&)r%$U`n8HCTudv!L&9!XfQ2ll zE}kC>cVmuwgbmO z0!(1Rc{5B8JztJ8% zZ)3Yz|3=Z`TE*R2H|3Y-#1n5Lx^4ngwq5P;ljP8FfYuQ3+&aXY_; zbwuq#p8eWeYl&!&V)nqk$53-F5Auurl{bM2PXS+{wW4BD%E+Ykx32c3<6GjrAO#sjOEB(T zd>=%GUi=?yCFZ?e{&4`Nv$M@F3^QdQU!@Wx*r76|U%Vk%`AUp@+Q18vN2HaXejD7y z{plp-V6dBxDtbevmOVfdD;bTLtT(LwO@ZI>L5%(?cUBS45KC zhU}MM;!kVUG|Ax?&smP>gTb_pN9{qP$P;7N(J_%n$Mlh(?H(dw#t-T9hCp^5&;?HK zZao14Sa9M@Xu#YKp-m5^b%ipeSE=fhMJ16jayOVb^@+lrjh(tg|2~f&{DFa&OC_m6 zNaM?Ax>B!a`Aui4Qg^y6h>=-sP#BL?pE!$U@HzhUyOSv58n>wF;C8cqA&a`pGi~Xw z=?!k7i}CEGddV5PZ}{GAR^glR?AFgCOWjDOUP$1Zp=dQPOsi-yKVGM3u^?EhXtvP9 z|B=0%Cch}s;O&t)g50{PntIS<$wI39kX(vt{zgfXqEc6HV~V4yEYIK+j^2%E5rnv? z;6?Fw;PScCd-{&KWcIfFaoj8EfGzC{^-**KXd00~neLk`vx1`e4M*n~DU2p2i|&Fm zS?TIj$@6Ra4OJ|obTJmD1F)2ZWGr@gkuaO|b|Jmc{4o}nE(Kzn*HtiQ@v^c6&SISg z(Lu5J>Ah5S~lR0g%D9Z z)e{T_z{xvW&2KWRs7zH8;RMw&tCgf58)FAY9CcD;MvQVL?+BxGC!xX>7Xh-)YlG=N zKn`yt2D)9Mz1TlYepkp5y4gQG|63*`*ExP!ZNIeahLeSHX3IVoNR=ajm7-CWpV~T* zle?xuy_Sb28lO|jh79YEg9_dHpz3v4(}N;Y1O!m^i@3rE@W}&;MQG~F z#9nULCvEGu_T|Hr{j2HAxn-tKNV`JkVu=Zk`2Z+nIfo#<)Ubyn;9v2{@JH%N0R0XUFdu#^)>#LwYt$Riy(G?sQ|>Xf{9?&TG|W9>v+DdrVTvVT*)kx{t<>WXjfFRZ^Tb| zlhc&TqR|Un=6*=JUO&M-H*dIX_Y^tBP(V`<#6=Rs0qtY!=j=_t~*elCte%{ck?^oo}JuZ>ZjHU$AQ*lg>cCcl8!N9o@w1qg2a~ z%lbY=PvxysIhP7ddhEU$R(0SoC1PxdqWGni0L98FGs^h0vfxN9Y$208uo)*dI0RmJ$;Cuaa@Gjh72vta4v{ z6YpOiIQ96x9o;pxmSvG7Wov6^Kyf97JQ$HAKex|O6YJgO_AmhX`_F1msZ`_0!VShH z1$_)t4BJ#ad$l4>N*ZO<;=(n??Kv|F5jc~tf=ehagy=nrPMfYeWhq7cOW+~8j}LeQ|!IAwEZMOKwcEV zcfbT<(9tQtj*@}WOAte_hrf*t-QtbW{X}*ZLBFyG-bMK}S#cJomkmw66G9-`u;bZY4M3aS4q_{1&l}zR0DOtFLsKBgwSr;I?xci=_33+0 zcI?x2YPyQ{LB_(nj>OQSG{JVI5MF1zr1iooK4Q{oeL* zh?<_c+|1_k)$|#m;X2{r_EI)q)qb#rC3?~9vIc%WB->)ws|kEXwYE^F=lz_6(sae^ zyWZw`skKeTN5|)Tf}Rs>s(tTkSwz$3Qv)o^X^RRXCCh4ypE8H>&Fj`uZdd*a98Z$xD`u2@^*&9|=iVwau!?j|&OS!-7B{pS+m#i(Z{@Qkomm>L7B zm|m}a$S@4xLEu89$#C~wM<~Xq+ZI;8OI!+>e~>#7wqnAhd0iBnafG**bxB3V1dpkz zV{bqREOAxMcTK@O74NkxdBjuGRR=Krx8GN1+kG&A&N0l$_0)L1mc!mtVqDtpAyJpL z8~4WTJkWQpBb*h*$I+Yoy62?Z$^Gh~X&cb1ZgwZJmfP(`9LclQ%URcP%(mBkXEtuF zT+3&@#9>#SoX%$FdPr2m6#K{eZ1dCG@bWj;?HZlQhDRqCN6YEUx$V367bqQ^hgsxj z(YBoLP3%Z(U^43Tma;?7)HQGGTR#~Y9Zvn{?C^30&+GWM@29@HVe9#%{1@H&6P1qh zR0G+zub1IY{r0lei3QFw%kA>l=;nS*iEit6qL|nFV@jaS%lmoARSV6-N#0oWPs#vFV*_>V8aoP1OD3xcCSFKKkgo_&7PUw`=xs6@( zlw6ceczg&0d%652vE@1*F4x*@{6V+8b@zy;{Qliw<+9#iOg2UCZaQ$xCChz0Qd?_1 zJOvxY+xdNX-(0ml_kLMUhSz*BQ2+G#-o^&D!E_Qi#$wv&<1-TG_~m?|{nd`@{kR|L zOL}GB#dw_U3v2Om(Hn<_%e&3d5p2FoWXkD$i|oUyaHSf zYr8u8H1AlRAGn=n{5W;x`S94eF8e{nZtA>G)71Tib9vu4!-a-pcJ5~M`i#Uyg_>>u z%ySR!wRJqTA=v%dtOcs@q+2Qu$U**YV|BXy|(F;j=rfi%Pw^>iP!yS>?@V_pwCO zoiWpSe-*`t?G^KW6V8(TGrMh&2(A0!eg}?r^ZVHruHEsr&bT}4^L4CSN9O8zDvWG% z%lV#8xp~`tcCM9cs_T6+BJ1Vh-ArV>PM@aR`sJXqUNZabn2Je?4ae^BVcFGMon_HI z)N!)3yJ3R!`t|TV+kXFu%2ke%oU`NYZWkDD%j3}R)291Nmrv*U6Ysv=MaOMn-1)nc z=j)aui@|iY?OFZTLJyE2C^Q7L&ik*bYL8oz?{H;vgi3xdq`bxycet2%{X_!v=r9m{ zT1_#rGM1#!f;My#z2>O;D7yNnOuck~M1Ih(;!UvciMIH&DYUXcuM*fhe@+0;t0h|> zsS8)((@R^?@5N4C?N{LKO)l4i#(6lr#+wKvp6|Bq>lgh_ZMclrmoB0$tY*7+KwH=k zlMlo5x2@NOKg;*94RXHDk2zIGz8Utn6k^TRZ9~qBXq9B$cfE;S?O=boyG|=LquUM5 zzh!K-IImL`gCAcBH(s|HuWP~8T({Py@Ao#9pC^6q!{&5wnwxySt=^xJ{bJbWxdJAou3sc zz;#)4 zxXj~SZ(@A8of}iht~VMkPh?i@r3a&Ky3N-m9cE{@>q*ROFV%0SI4(+PqN1UAx0iq3 z=CP1i7DbhBzs+(emuH{owqG_zB`z(H@QL}V2TamnaDM-ls!CDdJGyAT)^Z+sUvBYj zd6)_*TW;3=8Vli4$z+RF2x<4@{OD`a-To>-~VBKYHGB9RS$r zbphzEncJ&@`NI?P5Ui)N7Ccke9aD++0w*>}A}Tl0TwVDw?eD#T_xZCR@sbX&v2DYJ zF!#uhv~IDwT9ePQFk(TFUlXzszG{CjOwCa&c1BolJ3t$Xm8vo<&C2jcnY1%@Wt3WV zx5iCRFT5y{qTmvpm*|mORndYXi+R+sPqiK#Y(hbs5vIH}*0fKureyhdnYk+(}rn?%Sz4A9vf)``P~1_x?*VE^a%Q#{^EcHRZL-n-v$)3(pBscYxslt8%& z$8j{BrV{(b#3Uc`*PYL(Ftx+0_Pt88s3F^CvWJ&Ob{E@G6lK~RkF%M!+fKgg^5@HJ z8dFRtPQ!$|;<4$xXi$}}SC?z=*l-9q6|LrL@A~%l-DWRV75T@>YgBUQ!{bNJe!`G< z)!Xpju88-p4OhqEIB;G>h>iQn_I0@H&k^uwGH^8SPoI&uMPoi|_R~2w8ZK5PKJM%H zan`474#RHe@ffdBg%0ccM66;?v>5dE&&2bpc9+w+fNc{khl9%QW$ea}VN0LYx|^=l zWbY5-;dp)BPuq>QDk0Oa&i$)=4KCj8hjqN~4~Lz*Z;|NjhY)Mk>$Q8nmz;bax88%~ z>a5GE?K&^n-e8jV74(tKe5nwu&}~sl3%Ij482VK5t{weZNB{)UQ?N z%cYR@bvf^~bZkzu(qnheX91d~tH6Ms&-%(1;`MN;1z;nNq;u5`Kv4MB*!SnU>v0!_ zUg?x>ur=`Y6_B4IAP3KvmVV$q@ zlqbO380&fU&F9AC^|2+qmJa~^3+w)x!;tVx^DNS<%}mqOrs>mrtnw^u-_5D=E1k}g z?I|>uuja=ZU0bcrr}^YJygT!4v@cB4OwFCn&dLiv)4k#e^yP)OVK|azs}x3BPC{k7 z8Qcf0X8!)~ihA_cd_e8Ow`FRa*x>EqcR+^<%wJF1b|qwbN>tj-!^BW;PT& zm+!ium`~Tfajp;^uJ<>jXqwF#@1EwSD`1z|fy+gz=`HUb&z)7xjFkbvX+N>``+E;a zL!?c27;kWei4D5y=eMg4O8#~8ok8N7G>IA0X{;G4IE0Lqr=Fe4_II9^i;8lCPa6!^ zBZKcEP_d46m6;9qGm#h(!)C3F?dJm$zJ{&)n_QuBs~$n>W>tQ;?v9Fv4b~@N&FjNg zcfJbU+cg*}ou*1R0vb=zAVv3zOS8OFJ73Ejn!f`dym&_stz=26f0bigqHE>Qd5SQt zstv8g5Y}%Xz=%7Nxz>_@H4HPn%+e!5S6<_48J}N$=2x~adsfs;%ue%Wckjl&Nc{AQ z-I;aS`*>)C@*6B!p4c5kO4RBT1u#A_zJuTkjSWW!KDBJJ4)I2RIL7S9S#_9RCgu;p zwH?iD8sF>C;^Gy;!O)B+dR2!xV^cjLj`B8b3QE{tSzhHy`E*`Wi?h_ zn;O6CzRvtGXyfD7VMO(-#d^g3&jPaR`jaHKYIoZ{Db=fv&a+gKPMz{rgQFpP%dPSL z3OpUo-5|pap{*6(-9j4YDS~gG$F=0F7T@J!HjX79-)H%VYHIhrCqS;N6Sn6=b2&K8 zhu2ha?Nx*=d8e?)fHi@6+xCk98nO*~uf>MUZC*!rr+s(Fp|Abp`YkFS*Na0c9c|y8 zhj6l_N1cZK)@In0S96Q4+~x<4x1)8N7oOW&({~(hhZ{_(n}+*fmam$pZKjx$&a38Q zpSHK?8$E^c4GwTsRK!^AG!47a(~r^ap7EEkW*-Swe{EH_!tKxddG`Gx=&8ExWJx@3!}QDn9PK z@0UcPtGE95qi1DpJ`}!oXU&Jw(dTJtC1+&q`_Yppe>Bmn_2U4XX6iBx&)yW@{{wkI zhQDtAI=Krg9btLws*?v;A9P)G@L%8F;5lgH;hX;Rzga)e?bosEr|%kn9A5r(|E6bq zA2#W|B@bRTa?K&vI=6j%T)gh5?e8CYY+mtx{cc$D%%-_VKljvc8?X3dS>b!vZmWCO z@m$54z`>7Qf7WM{pMNp18iRT($GDiZ^C0e&)&b zetb}STrV~Ib@;h$L+&2p0Jmf?dQTD2=d)y*%WqzEfJx{4xA!uS=`W*!|MX zKck;r@yzC%zgs$Lfc=}d-F+{(cU8Z!|6Ov#onNebe$q~B)dM&E@NViE0 zUhMPnEr0zsr~NS7-H&YxKYi*4Kkocy$-__He9bYR{QA(Yh5kAHj+@n8b-?fc@tybF z52qY(Zs&8;ra7*B_oPGqKIzw!4;g#;(X(f!c2D2$sZCqX+Nm1x;7HGiTZt-@dRey!O1mPhD{4d)rPJc)_tBPx$Jv6BY%pK5bn#J{W|=Q@o!%I!}g5>E?s%U!`BSEqxbZ)?!RaGl?CIm zdye_6`KzCQ*m6d2-Z4X#mQI+{dEKIa^*wjU>VqE$+_e9*SG+m6=8EOpUV8qfmv%2Z z>zj{`U)2AD`Kikb`UT#;(=#IW@V6gXKGo^k8X?bsw($b<`Et?;p0k`e3ST z<_E#keq491_3$T0Zkl(`9q(36y3DiajSa7CYxpGc{+z8Zzi)f=&*wg``+d-s`So91 zJ>szO)`wo4+oyE*p!J@yZ}0A3c*N^>pD}hszX#r~c<0roHSecZxenOSo&SohJO6mx z2mfQkp6OOxchmrY-adW%95=XE{;*yLSuX4KS^20(yk{(#^~cQ9{unT`;oXmyu3vGM zZN>5%&d9RPV(rmBeJuHXEFV`M9Jdu5I)wHG?PJD`Ejy8ZFphj+TMPsY?RfUivs;05 z8bAVo(tH5;CqIAWG5J6O?}Puo|5HSRs+MnHg9=vnd>A;P0~pYg&0jyj)(>{;wa*4@ z1ND2}%JsY{_gb;S(&x_^znuKphi{Fa_vq*gnj+Vpy8D5fuU>rj{-+-C>DS-?dEC9u z&^zVDFCO>OT&!Zv$rm*)Sht|>t80!NcW3pBA1~hhkB4va3<_R$=Az>cIpdXUTZ6vO z))%k4^j}Yo{^+6ar(SZ^*B4!O{HoXf_+;nN_okj0X@ z3p9G$cZ8#J#=V_CG4Jv_@7+^s|v-&g?ht@aiFv#r=^Tk)xF#lyX^1>-;Z?{&le z`Rf^PEd297=U*Ln|J%M`cHh$HKEC_cN8O`7!E7ro&w;IgCLBQix_^x+^*uM@zN3FE z{q(ePk57K>tc&{`*}BH}$Wx!5Y~L~@kEiEg(5vFkzg$oD@!c}#_xk*&KAnbby?o$? z#~v*@d*sjo)8_oXb>yk@PZ_lKxS=~QX@BG8yr;%RkMGm5?T*Gr*Dr5LE^RKj^zFR6 z|MSwy_%B1Z{ojOBszTp|&RBWOiCaD`dhFHXcKtoCTLT{=a2^eP%u2tK_YZ@AK9Zi~f9g`?^gR44QiL z^a~qG9{%>)JJ+6#y>{RQ!^fQY&mFH$tXo(0>D;==DL3@`?bw0Avo7pc@b2ZnwEt6jQ-%j|;l|Pn~KA8Oa zl*bdNetpW?%QlY;Z1dbpz4NaaxbXZduXMK$TyXJ#x8urz%~uW_clsFvSGX5lJebX< zrVAXaR!GvR2}K(E%1sygc%PBvDd|L7k}|p^nVj}e6~Y79Fdd`q6qdQ&_)iZSrBnJ> zuh*epn{LLe_<#5e9`x@-z>^o-Mdg`a{y6^8t z{PbCQ;^D9V@(tR&PhNYUz3J`WUG>w;7hm4_&PP9d@0Y*);GDD1`tp|C=U#u`l7BpY z?Qq-pSAKfWiN}2ZyJsx>!}Oc4(0(XbN$<1`HJ=zemm{* z9eXdI`MC$|c}ITthnq)x{rl%)6eVkl`sH~24;6od;5hxYr=+b=X6JW69x?HS`7ZB|BLy^*O+PLd#fTcLm zmfbQW>$VF6l}hV|{RX|VKvodH?xf(SGF4HXECvd5RB0`ZH{czg0{NY(@KaZmx;{P) zLKVfH-D|fes+v+7ZchM~=?MQr2guey|*plI9Pw$1HiVC z!ytS;q*bskc|aPxSKcx_Ae}u^+p=+UN+*oV_KqF7d_Cd5?K?kSwsCV>FAW>RM)$_` zX=C6|nj{Tp%&pTd!GE`$yNq*6-@Y1hW(VGVwkFo3cFsvA2QJS`()y~A9N3D1LeffF zre%y&q5Xx_L}{kqKY4$*=oTbPRtm=>LB!(wQrj=25{yZrXO2M=Lj9M<=NuRxrv~W* z?eGF@+b)gN@%0bloH3l)@JJb)!jn_t)3%X?tCxD2`2qgi6$M1tA`?$OB8vOh{q_=j!`5X zP6sY?pdXr)OAyJnl$5?g=dqCBJPR)+=kyGE689Dt1*aw>!%Td<@ON2GFq~h)W*Vy5w;OFWI`z@pc@BIDAD2 zU!d@CahGu3Y=Z6^w5EV$=_x(0?C$^xpeN~A5KrrQmE)G`zFG9TQ*kCRBEzPkxPU6cpjO^xP`w>CrLl!Ris}6-c-XJ zxeflh;SbiSG>r2W=g7<92iDUmv}O`K5l*G?9ytxe-83>{hO9(Dw5i#=5^ZWh&8yDo zoJp%29=x7y)r7`{S4~b|9Z7fA;M(qPlSEK+dU2$}qB6hef|l3RNx-GDtf+1V6N^4S zJRjBxykD#Hu9qPt(JkFBPkqqROA7p?N}Os~2BjKlJ2P?yc4^@|aoOmmyB6t(*|Fqp z7&qN@#Eb78>XZ$j3jy?YeDkH@O!XSsHr+EJ)jbQFsah(r@6z1GmTFUJ14`Ge0I;4C zec({RQcD8VxtW~!9MDw0|yR>@Z7cX|6n8hs*>&o z_`T~I95yX!X|}r&i)zTzaJ-Q&WpK`w&mPp2^3yQ zRiR-|kDQGIYG>_&Y8SMH_u!x>XOxDs)G&B^YR$29KwX62se?I7R|b=2`E2(b0M9fn zodZz3I*j>-v=RhQ!^}e+YAqS$fQIjf4pip>hN0<}R!awl6r%aDlO8H??L*i_`Ie!@+VFwIv5{KWZKX5?ZViAzY1z+|f|@>_CjG4o zMkQU$6ti+IBOA%Q?4AR8>t!S9{220O%sS`HOl0JmDdUm{_&yVb2i=$NWst%OD_M2M zH4LJultK?r$@0yCUQ>WSKY-brmBl}67#%c%7n5!D3EBF zqh)x9K!-k#BZvhC`~tRKlTn(ip}3`}x&u^C*DK>7m8dnF9!g#jc#@2#d6B8(z5MoY zj+`-RjyR2Tq@JHNL*(vCS4A(k4Hc9rL_1*Sax>+w%6K2o8+tc?fH@38gH=BDE)aQS z7&!0cinOhqu}A&_O@;CE?!kD`k9T@+hIq-3c6pCMw5ued-QGtK>PLIL|3Ijpx!3z@ zG}`C=2vOU9?tbrQ7;pFC<)rufSX;^|?*Jt91@W|Jsj#Gjc*g6&xR0=$_39As3*tHN zC^cHX&07cY{vh7&T^Ng7o~uSWTh4noLcE*|5(?h!YOIAt@Aa_~9p2k8Lpo@J?LCGG zxgbZ$`zR))f`m@*^Hd~A=<=S3SJLf0MF|1Y9`D&W(q8XC9BH3d&|*mYy;)ieY1vz% zMP5#Mz&j$#L8NI1@WWvtc}-uvRU9`Ai8Uh4_oi}6ZM^!m)``#8y)3-N%C zlu!1SV?2PL;+G9xvRw-vIcG^1+ngdL>2ue;ZE1Q-IoPijv4PoN6*3OQ%FGFn-HnQGW7MSnX_CTrG*w!fAhp2C zOZz)eFpz6*3(mhP;QYrcwPT6-Uyro_^B+K_t&|;i6m{jKJ$JgH*h$h9ZPKXS8?avu z1!VW5lca?~=Be?7=(xqWGUhdrM5~45-L{#vnAfBf(9Di zT+Xl9mNuzvjRpU?c1W;ZW`T5flytUGN{4rtz;mB08I*OhWSa$PV0S zHo(mYUjNTzn-0t+L+S=S4+LDRhx#>R@7*A_J0K0Fc0vx7Ec!c9NF8{8U>+So^XN`A z-HfbE^ffs*%H4s?1Sz%-XKJOe3^m{G^cA{C5Y?D2^cUpe9T-d!6jdde0!$HTblyc@S2Zk?g*n1V9 ze(fEYhgpux0-rZyLL=luzd#6QW=_qVxiCS{kR91S+*@w(h=^?Wd z16^GYncd~wLuL>D^maaE_LWl)nf>MbLuNTyPQ!1iT!7znIRn3$auI&B@u^}|nF zAN;iU!jFaM%K38pL*`CY$I88T-A;4zmBF0s;$(%$vQ1QVPqHMQon5;y|DI%*Na!vX zL`siH=@rku@_Yg54?^Xn0G3ldep0%e@`ITGSvl)x%=tBz+sd7Ou-%7Rejp#ey7Tve!%Zlx!Vu;z1rCw4hvf91QJUv`GHQGE3niqKdHOhPwMfLdi_A3 zAL#c3{@_3;72pC{GzezGU^d8_3lrOd#P%R$1)+SHu@DA}VXz|%2E8i>-SYn%;YRG@6MlaNJ0YtWVrs+DY_@6*P+OEy#OePNl9#@Js~j&gY=aOwL?4Z<*^C>gdsaHKT`XASyz(U+Q>RgGC!Jvdr_uL8|8~w)JLmv5iQ6A zDny6!-c7*YD&D*4_XqepJ_~C{ad_YWWIPWsI$#YmM(%keON~= ztAs8IHQh6^fUKCBIL6M%GqQQvxgBL*_YRbVdt~=cd=~7ql217Q07=mx7l%|;_fCU? zsfmEs4rR)lSPZaPJQr zp*U$B^_7~b7f05iS$HC4)O1tS24hL}bV&U}emxdUbgBAJ*OU1_swegD)T2l%TGlf+ zUXQ``C$a-}FVX`sV(>Q=dk@1?9>0fud!np866hvsrmY0d!NUR;?9y zn%2_ZeJ~eC?#5M0sdsYf4}w%NpRW`1`6|MmRt)EQXnES;%3g`348v)Iv`i$e{ypf{ zccELL*rlrT6|W~JZ6lW-%0oXe6r(!XqcM-A)^cWiEYiuE0jhL-p#)>nBYo^UxIK#D zqNH_6U-IYHYKi>BnvTiDQ1ms3KITOq;kArGi%RXcx*x-4e>iMoTCgH(Em3 zc-Ruk#xE?PY|O|DW#ja`P&Qtf7s|%x@BvxLuBTKcwc`==K&HXE(u zHynkYSkQD(<-H|PVr(fUBilQQILr^=x9D96kRlmWiu)5b{O{bTNP13<%)lGuoSM@| zW*L$`HV1L!w6VG32^>`|mXk&JCyyd9r}g<84Cs5qObcF+vg=rg!5dO{&7kdzE)8B! zPTh4a#d>lO?ak@CZl>r6Of=nD2S1goz1Ig#teL>umSMMLo1gviC_RA{E@w_@G~<*K z^Fl}PLe5;z$<9+a6eV{h^2UiaSRurHOJfM%SMhmcXD8c%dgdg^k8UcC_2|)9;VJxd zUj_AKs$IaY?vdC@6BD_-yx)em)#JVf=f5a_AM$&yuPDu2 zO#Bw!ZAL=3LJ%4(=d;Y?agZ0CmB3D5(5=90fu0ok)sR3?kw*`Q2W@Pi8G$S+DS7k= z>~vZlU4SUQCHW}$*O>{36qo_dcc7w0_aV4M@f#8lhxY>GpOYE2?YvgS*6{d^&I_=} zqYDw&bufpD<@Rt|aGq|O8mQ!kQ^TN2_`MsQoDcL{M#TDo5l)BddT0SoKAL$j3y$Ci zc4=WZ`Zy>-n`cgLFAv%MNSsPzGig0w?lH_A8^W3p!NhuXaEnsr;6-64IQ`l z%axS^B9G#O!7$en{jEuG805uHfm@K0>BuUB~RXSdjRqAQ)%LRYm z7~Y-tY!IWB{5lnfe+j?Wkq2<`FQGo*ucErUrNF+3ymLD4F~)F;!e~0=GI_~;Judnl zSR<@)XM|xIiZ{G8}XTR--K)A+Y_lI2ywhVbm8s5<77*7j%VI5&#__r zI@rOr+bKb$GSBG@(*)1J^*S?Xmz_3dl!ntzH}b}6wOLcRI5#Mg*^KbtFNsFYbCj^Y zd5#*bymj6BKU25fs_t_qEnX4{Dk!&H0rk#8e={tWQfh|cm?n{cAhYgVOOi&%&=lSq zK2Y#IAhJnY*^`VoKNvNoR882KiEcf@7Bae%FonpG+GmD)+q!hhYVt6Vj*qtPFnmL? zly;q7-JkdkRyp=(jP=`24Wr|n9j5HuB1~CoO@!_t`Cme8Kym&SymOS|B&79LIVsl_ zyP7CDSCT-;@C5E{6Fl0Ot3?hhe~LuDl9rv4of~kN?2MgtK8_q{3J_bRmUadxdtEMN z^|}o*9?+hZWkzdu z20`7abIW#fYjNY927rXCHW5Jyi=D0?5<`ZHScI^Xc<5Xg&QM$Kh5X3V($f2Y09BC3 z{71-RfY;j07ezenx#2qi);|;>z&V{LFte6gdrox{KvF>!Wy&loEHEfcwY4#%$vJ%y z`W(tiPLppSu5rC0B#dIYEo2=^Kik02UJ&6M=&1)kohtlvX}dBgU05Vhq&Wy8g)lFL zf`z5`MH!0~5j426#dTnqPwjzr@w|54jFQA2q+HI!@Y_GsotLI4UpVH{uf2Wy8uQ9c zBX5D!n^1_U7V^>nLd;DgkNAmpRx1zimPTDomNsRzDMADh?gnbIb5oYzj!M5UT|juq z(&DU{hEU98y%Y*y&S&to?6V7E_0K36d6h)&i3~{khGnp59TUtHmdntEI5vzX4x@>~ zXa>V*hQnxv!)S)XXolma4d8Z!=;GPUn33k(4_$EI3JHZ|b*hzg--bbr^X4_@?WnJ4 z&Z9Wg$gwQJ2fhQ{K`lja0+^4dOa6-@rGaRUgM(=#v`k_T5A6FA`OhUX9KKMV{c4%Q z^H^?hu2FnCp%KHalAnuBOPsUhrF&9bn2;YP6xQ9fDls+))Cv|DR3N&owF-YHuIXK&Uadi7+=cY!@IB7WV z!_k|_(AK8xd;{s48SHOL(wa4r0;@KGb+3c?Y^?j($#wU}>&6_Mjq2`-4*QWh%6+IQ z#kW+0I#;gr>(nKn%F-N^xgrSKh?I|~`)_VA z&!Zgjn>1MDURINpl#u&2NaRKeyli|BX%U{OKvHz$altsx@IFusRJd%32N}WDv>isc z0FHQiBBclR0e`<*hW}1o$!$iSb)-tZ>Xyp>Zl=mk(6WeM4s5ts)s@lB2}u>LuAiyW zF1q)#qA%+didNCq_gF;|cW7tSeZRm%S^pSj?XWs9YsaLlAW}~;K@CNRKB$s5&C{%y z)=k6t0CxKX&`sHMx|ZdpQly^o{sA>OgOH~>jU}&9^o!2W zWvigs1syuug`FLN&K3-%ZVcQnQCmj0VT#GDrI0KZQpG~LSjf;)E@TB|v65ZR2QVR* z&p98&KwGiUzHk|c1rr+@YK+VXtIbN@y}7g=i6tQK1Qz7HVB3m#>)t3BN1l2wZFrxNm~67r`~mj*w`n(iPbREjWfCWC#JR?Ao#5JDY( zFCJ3MNo-Kjr)=fqlAG~tod(M<4Fbe)L0`C$5=zTDP^G4&;;rvMkJu04>lsnYOW1F~ zvaF7wlzx-2)QYA+-sb@eI~&6XtyZLpa>Z)D7YUV*Xg!^*ObX8CaQ; zWro}U$9gao;7H;@siWWa4^Y$(^_2~2#X@0XHRNlkDW@eZKH#_-X3|s{W|?YpKcHLm zTMGFS2!QRSwebdsD6sGHDsW3AD;xnQ$X%VDJFDsZ11W6 zLVKf530aKyX%U%`7#6mQ+|-fQDgqJ~jn-5mEw76fN5?%v$FVdP^tLJ$O5 zu-dE3<|}ct*!vXVa6TRk7oO%Zjd{;R$KcF=rL7U4jj*kt1QZ%agWHStnbB;rT3s2J=0VS>(+9<*Ky zU-JMouwA_A7TfGSpM22u!0)*jT?#q%?#%-AoED1$b&Vqrir3IJCl_LM7PO!N z8u9ESLp)r-S*TB*>hl?vVG{kHw$GZgN!w%+oh%u`Z!09hh8Tw{p`N3{dTgIy*L_j5K5A^%Thyedi();!ET}fx zQ*BSOvsrJCk1DK-^?(QAIi;nf>qRoCpzyt*g}OOeL$ZA_1A)#q$CIPQoMUyCQB>&? zzbPU<5ie#%oRZLNfwr{P11t% z{FBixavY64zu1gfTE9XQ!Zq4a`X$=HpoLvM7qi^}*@zUP=a#!2V>kJ+aX!zf+C|%T zZzL;)y=Cq!eE|KUx6J9+H`DDUY0Ltm*k;Nz)2NUKVP)h$;P?9Y)I18O<{HF3B8ija zwlfW@IR+E2hY&kCUD}xNWHbR%&bzEJ;faQ2uoUZ>>E~$x9vuL0i0o;#oHKuq&KXr2 z5&4)`){8zKaTfw#_&~7Ep`t&o(Tfro*frExlCFWUQ*zVl%aXsYkzTHd+rLz2IU2xF zz|pra{tWJcsok$Q zD|}j+BHy7CpuX;$T7K@lP3aOpGfLOcMUmwv79LZ!oRKqg$sDM!V%sW7#=^z8UM80@ z4^pPOv1J`PmGE<$yvtN;iM~npT)NiY#Infayk4TaovhAODLskIu=z@Jj$_xP{z)0Q zjVfmVn$zAWd76GbkR+Xi^f04jlR!QcK|atxhz94X?R)_ZSJj;JMSAMam+)z7?w9eU z!%L<>TGjQtH>1ew z|0UywggN#zdMabTpl5RI=kV11yA{^@>&!U;-;c&?OM|tg4r?%>4fx5aFpE{1&nnI5 zDT;G^WI3r~Il&~4ttOb&Ct=&+d9rw(qKo@UtdI`D>X-C@_&}ypMds7QbESBmE}pAt zJ6KUeNpX!X?yNck11lAthiuSs*80E=eqf_Obhf|dRP@!OJFd87N?_02v)) z;C)+U?rm?c@zXN5WVnFvh%BmE#U{Oc#vR4osVJoWYgcsf+9aD`5Q+-Qehz1CGY~8+I$0G(>ud`@1>l5SC~|C z--1NhV3_*|nyeyg$}O8H^RkN(ZpwWX+BJ4G+4YYmmyQduP3RJw5_`8rv1MBki;n84 zoEh(#LM}}(jwR}Zvznacq6pQjZmF_Rx6S@^$=_J_ai!`$}wCw&Ldod zrv-Mly;wI0Jn@g&7Gr2o$u#np4JAY(!@2~JWg(c1qZZM_cY|^}Y^SrMMBU2On z*8ej8-2W_ojqVgeAH{HFlwB131|ponYRdjjf9nH8IA$I#g$?&i+lh1O!-GiMVqi?p%P|Vcc&DaFcfDoP*efHpl1{ zI-)YT!P01>Z~Y47C+K(&v{(9a;@|sQ*dychEJ!3^V)|r=j;+?~+`>$E&_Z&kh#cOC zjzURj4Jw^=rDYS-?=pSf^;pBY#vwDDZ7flA$R*)dXOKfG;K!uW9ezac!iV9}bI=!^5>20On5Er2ZjTgO(i0R* zT1h*4SSRWbWp>7keJU)LvQn{PsTNZU8vF=03R*xn;Q-17p85A$i5Q3ehsU<-GyAjFqu@8t<_(5mb^-<9;WtS(fON1fK($i2Rml z-+bV<7wgizqCD^{pi;1B`nxX{S{5UO+sJWm(=^Uhv>;tCHO zl(ZCk7oKFrE$9?WZN-dQD-ld>gk>Vt8+dHDPbX_YE-8GUga>>hk)NdpL_VPLMQNiO z()h!qNq%E~|Hhm4FXrxc<0J>ToxU`3X+q-5JIS2$GF|xbO@lSP3h#eYoW0mc69P{l zK~=g+_Q;di)BzNDSiJ=?Gou@}>3&PX!`J5E5N}~W*y~%lXe}gtcb<~zhazttPu#2M zPP7@CWFaN_N3Sn#SRkt*`7#F&XUs!=0cKn-mT$vK2B@Q}rkn?oqgndw`CR&*ur#ik zpmeHa>3%R$98VeE(|-XTF}!C}!5|+2on0O*!}n|Gk^XKcgpYtMfeeoONS5s0N*4`y z&qI~&x1osceg%ar!<*X=Dc^whI^%ke#Cy}V;eIo%`)$UNT!&r z&N6NH`vBg7J3Yt`Y8}aX3I}oI2lR$4)%_s^O!r5~LY_#1@RM}+L3nl4pCj7Qiho98 zL|XO%|BQqoJ^pD9BM&rS&a6Q_SA%zVPQU-|a-agFbj_a=xAq5PkBrJ6?}!;PGV(di z*3r{Dr9eod=>@8>kLpJuDr9ZKo@i+SDlLjipK+?OWq4gNgNF*xaEkNHgr+Vj`%MMO zA)C~F^jDPw^vJOM*{hfQHb>c(3e(%2K(*DFacUCkLEddjcO+;Z*D5-v8sxT4J}hbP zn?arA(2WyqQlrTaXNx$$7tmA85kHDFHD^S|%hs93)I+EWKt}{*u%RsR^6B5mn*H z9WGZi%J_Tlg#^j$vZ781xh`kB+I4i|Z8US(FNxof*sFvpS zbrPS&ZQh2cF01IyMZ6Kzx($unXQB<=4X0`rNP%y+f6#!dV2SBs6i_aRNt+C~WDb9R0&H#t*g}9ynpA#yt0LP8An3$^km1Vh0_w89l9d%c0XH^ZLets;BqXxp z{vOw`xND~dG-o}OEv0O6BdJ_;KLCR{k)LUL^I>&4qcF&&w4Iue=t#=Iwts+-oRaM# z`U>h*0}8y)FK|`70D#`>gC3g%ddvs?ViM>*KBzpc5%ew}bY24p8uV@-c5fV})E3C2 zI0&^t!09K-(yGTmpGZ7Nk7VH9RF$KF$xH zDJ9SI!&gbk>;3R9DS4kCew&nhuOI%bl=_+<{*~0LB`A!t-a_6k0@*y!Hd(T_Ifc~B z$N|YxY69uEyuTY=c=d|!zgw$GCgV&?Lr}{`p_d#xJ$er7j39<$*2O_g8NE0msXGk1 zDX`w|jRJ&=K8IkP<|dHNcJIq^2+!IKNEPZ4iI$~=6K>Tgu`|MSymzOlR@uwXRgs;c1U~1Odo8h&do@2 z6?5!V^eV+GRL!0tO)IT|K(8NQm-iUqrM93hdyaUw|7Js+TlCO>`hODdtr5JN#n}B% z;KgeUGP?UbDjzl5R7P!xF(&r%74Sct@B#a7ydRJqTns=_a)F%XI6vgje1S zUa@c{M191`p*~S>*HFPnGV%wgeb)lsY1V=b=FJ(C8e8i^wC z9SFaf;kPt_Uyblv7=CpV_%#T>n&G!LfnSU8TN!>^6F6?l?z)ZPw>N>~1~_ST0KcON zd=%k#Fnnhdc(ng_Hi3^J{7!$IgWUc&4;*BigITpQx*@GO9lG%2z`dtUxJI@#Zps&U zn?u$s_7;@sOrjCz2mTrM!UH7nh%`_RmTB7AZXVz<4z0 z<=DXYkKk8lcH-itLp6La0G)9W!Q+A;`76*?cTRV{k6i}lv_hi8^=9+K^?0_v%h%B; zFCV7gC(&VgOxPF7<&u<4vRuAcc6KGm&i+ayHSbYs*~sT@4Uz;$lv862;3w@dE_n zn=v3mMEx))`3*<>I{D)d8^m_{rsmF_c!$Bo0X_KN@I8`!A0Gaohx8KuiGO}c|3o4{ z2lYk#)1mnyBBFoJ7x5teT>niDRibSN$@kYo%=d>w%=fowzD7TfgdPBoQB;3MIOijy z*$^g(DRKcOKN)=X?0AVjdv*eo)f0&pt79ige4Wh6f;OKb(WM(D=S_*|WoV}{7fLqc zLJG8VIGA&ovwpf#TOpHxT+8#*H!o53MXE-qgeP;#Nny%~oN_!HWDsE`EyjZCu&Hs8 zo77_bjpW-igKqzdyZvi2>(JW9b2%4E{B4NyXNI?WxYJ=q;{7pymB=7{O(3_+&Ix$k zhvFW=kA?hrQKFlI|0bc|)FTPruTD$P0RD>v{)a>SG5s{{eKf!xsHSP}*&wl)nK*$@ z{uu|6PU>_$L|$?35N_|aq@@ZzU?fM5KsV%lGSham*c+Mz_vS;gt|3|1kgRK{Vrt#u z+y>so2o#;kc*KCHn<&z|M?s`58fqRyBVsPOh| zcn7om?^CE4eSH{J?%q5%?R_gq;5!`V2s@JOyocuKTk$unT5)#qj$lr9-i;(wj7R0_ z76qK!LqDeZ&2Zy=FK=t81d{I5<5#%(K4Je1j=LIh^mC(W2|gBEg1_M1w~>0vk?k z--c^Qc5v%YcP~PxE-iuAwy-Gh!wJjSp^{lX*vS)f^+c)SahH`jNomaQyQ5>R<^C}| z1uoM8-Z4D?FUunr1NN~Oc+mdHrrAHCgj6%2mAIX$*2=Q#8i+u3ABEMyNL2To7)C4_ zq&Pzx}`JIIK7=!fo zS9;6EVrQ@~!OPbyF+vdw>$g)3sIOLPD~q5GJ%`oW{B)DhtsTIuDqJEdZ-BPQAT?}! zz`v&;L9XYQ(j9jN?p6w=AwJhV(MGKZ4t!U{-ZTE|?39$OvU-Uj=s2C*PvFObdr%q*L zc@zhE>@TEC1$j6qk8(0*t%>eN2BEZ`x?WAdj0rD3kZ-_3bUGOZeW5Oo;mru5K9JJe zpvYK=Nq5_^yVMQcy%oh4x)1^0(}J0L?J!Y$kDnWaU=aTNSUy4fb2#oWVp#G1?(lwm zS^CUpr3I&n_le)Dy*zxMK%zc{Yeb3kXvpR+v+(EVD2g|)P~rlLPt@LKHkiiuYm)l$`=)F+rR#>x3f3Cy4~oQsK8Y zGpyu!mclru5J?Gve~1GqI+dfP%JCdfN`v}HM*@ijaFnkkB0U&cq(%GlyP!Yo8v4_$ z13SVFP)WS4O?2dUK}TwqET-f&FeS%+FVS^@&R2!2&GrGT<7?42(JaC|-;AaHHE7%B zhPF{P$2D)`kAgNTc!S7%#c$VO+B^0zUzUIt6MCfvTAcd;9>Mw=cjT|4El>FE-H!D> znehD)zYp!$8ksvxrfB)4^_qfm+{X{|?H=^ODw-Oof`_ZEpcM;xb-qD+{+5>Kg_lhh z^kgk>)^%EL88b<%te9oVF8Fw0E#-f4aLy+uR?7Eckk$!l^`B1U^5%ZK9NdOzx?NaPW}mPXzfqd<8NLeHG*^%%H5;AWr>& z?dFOEf(72i2DDVG8{|IHu4p5t0UMc-D(J$CgnX0Ipg|)e&#ASOb85k`VdNHBhGp)~ zm^)C?$R_KyL4HWtWI0RTM@f^sj|}oYO0xHnWtQkGv3R<3-lvt|cR@7umFlP!Ja89!Z?e)~J# z8$ce2`}bGk-jVR-ij5b36cWZuwY1%7gT^ak)@}CN%9vujOe5m0Ws33AV7x#TL9Z+v zFWu5~;LNToe$7`A%8L#ZbRGo(_JJAWDA5kb5_0%d>lKvi;A>IF=@1Ld6{W=kv z?|he*`$$2h&$iejJ;>m2D(eAtwRv_;^|^YO{&Yh4Z76uRk>rMWmHthoO;ip#+>2}N zue#fp@GsX9tqlC;@{%=;+ZZDMv7j{y-F>yK1#a|Rs}*#&KY{+>_&sv;c}q8rh7rp0 zd8uzU*R@n2EZNRa{k^95NVpU1*QKBYhD)uMj>sxPgb5|9K=Mclc1*-at**?gM0`NL zI+pKF$|h@z;N_o1`$zR2rPj&LtT#Scm*!=XeB^aDnzht=J6g8%h@A+q5!rea$d(!< zTYHFUoATol!Ck$0p?aI_zw)$NRM#x0g)YqMZBlUAdcIKiO)~Rei9WPYfum1^pJ~9v6qN4cJBwbMnh3X6;ij!sMSz48d zhce?Eqa?*SJeFfV=0LruvNFiAAV>?c9nmD)!pYedHOaO(NL%1%TauuU1o%0Q6cdDj zN5z3lW5A>1z-kP*EDpqJQ&GfOK9+X~;vy0jZaZXmSr9Q5|5C6D=TR6M{dJZn#C=&J zeoTVTW@0_}|I_s-oT-N$+}cEiJ?^o%JVQ81Ckp*W5;!vjhxvw}Ni7vwu)X0h9Ty*_ z6$##ll8N??;Qa4(k7pVG1f;aG;iP1|$N&Oq2pE|tO*DPlYf3%S{Cmx0-2axgBQEzu zz%hOjHsfSOs<@|M_|ybmr`w-oBg7nX{MOymaH-K3YSA%nAn6++ib*m;khB(fV%n9U z?mnq<0)5wk===>5eH-4ddu62Vcw^GB#>|Q|CIehHXiPn8>NcMYI6Z-%h^AIO(Y#fP zyDAaffjuYWF zxh9zab;d`X5eZrG%!y~4pP@}8wEGDZ@Pc|Qt|!m+6hv-IJoDmN5RDU7;|?xlbD@%G zTxY`nfXT=#nJ>XD`n47Xq7L!2#j_-yRCb;`@^=N;+!|iz$hG|Sx0*P{SQl5^%@y~E zihC1mrSD6ymA;>z##ou2=GXutM}C0zldExm`z*SA4}@Fi3?yb{6wGeKMAL8*AXTMw zW9S+7b8J#(-Ak20{rMWw$*&cK6t1X(h2$Hq z-Q%lq?HwaKD`fxn61;7rd;AQMenKpLsa)5`*C1$oZG!EDe!b&V?=A869?kXM!u2Mb zwYRa{x`UNN(G}HTyxPKcR$=IGvV#XMKo=+?Wkbi4F|sAvTgJBFQ;A%HPN&+&HYCUf zyfNY1XSVosYsuLq1wXFDN4bB@O$6rkZG?a9DoU9HoNvs-VAt3P1GWc`M)<7PEnu8`3Y~c_Z(8tVfZ|{SaE) zai|rxd@MtsIGJn^igyZh%-z7UOTgJdfw~U3b41Xv-HixD|K5!09FHGlJ5s_|1nB`S&Ad;*DoE{N3lqutLCVh}N_nUO7cRrSbr`lU;1P)5V=EZjtU z6R_NFP2f>`**yn~Br0}#{LBR1!OLIZAzoU`)5AR%?a9bZQ&qVb`vec}{J}JtCx?E! zwp3jn%A~lyUq<`?j6W^z_?4Xn)WP{OUO@~mL-_H8dZH}#_J??;9TZO-gJ0h6mH7ySE5T{jeNE|=>y?_x33W|V zSL0VnFrsMg`6#Py3Bd^;q`DU*_#Vy#*&*WfAtkM4_~|~ch>t+v*;*Jfq}w8IQRH3p zb~1lZ_6w1Ka}cO-YUE;WE+t%oZYm86?lQD9(I=~m1xxBvLo)TD{ zBJ=b}>8f}8-waZb7e~ec=cHTrr&lm4=h`W)HjN{y`zM?<9l9U=Genuo4vYMX3+yx% zWKrBJ5& zG5ITZ#^g`jRVwJY=Uh(y1<0io&ACseo7!yWepwRVLU|P0dTZp2qg;{4Q)t2k87$Q? zgmJ#5OQ-vJk@|VE>8_LTWGoV?@~k;I_?kgfDHk^`sO+wfd&BT%P30GxS#D@pI|>ElzeI(4KlTF%SK*}XNT#VcuHL@7pijE zD)PUm2Q{vn0Tczr;gPziNn91vHYZ|rmPb+07FK6xyF_O3^Jw{z7^cfE=((whO6YBJ zE9osze-Y}>PpUs6CtV=5d+5q8NxsxLvRamW8j6Jd4q78Ou!ugE2z*EJJoKHUd*Ql9 z;|-|=q>0sf6@9Q%S4PIk97$=i;ob-_)mUBWCe;SbLa5zTZV@%BHDds8VXSHdcW**X z4tJk}97@X^EBzdivZS1jX(P6&lNmuSTjsx z3_TO{(%3H*QYH~Ae;ZU|Nt|n|b@{9YXS_IHQ4|U~RSyrWxmuLV9h3Trw~E+61-4_K z%V|q(%n*K;kGvv5(+9_>CMF*&BFYu4#SbP}^*{}`a!FLL6TEk1RWgJqQP9Yh2-(sE zqK>#xkQys>ErPCW2GT~ZL)giFe<=I0$!HfZ!N$L%L27t>PMqD7smMJQhiD#Wr4(PD zI>Dd&-qg9$HnGuS%6;^ei;C>ci>CJYsY}CD;N0FZbNxC=E=AoHVwU$RNKeVIKJ{Wg z;huw=B&NZ~uPbuBfT_-RVyQZRJ|->KQZgtY=gN4P8nngl;=YQ=GZWT3ix?97SRW2+ z@|C!sk#cTE3H}xq(Pige#GTR0OPm2ZSzFCQ7_Uj1BC!W^eULf8SLVj9pGwvZZ_YgY zra&^de~QSDMR$>@d_#_%Uid*0IE>wk-o^n8li$o93ZX!=XqU)SK8n9EqFZ{$;CvI4 zY)hwoDJtUpO2%`w#%}y#2@Q0Z>;j8PRadCB9y6$d0Q`L#g3jWuyk=hPN-WGCT>ZoH z4!Ry%+R?`yIB>uu{}nWny$bJyyN%e6;@*y2JQ&Kf?%sjsAO%~mRZp`twiV%(VHprq z?!?_8So%r2fvlEF5(GxO8+0VJpmnVMpXkwflS2zHYyta(lNrP*YdIf3Kt!UvvlWmfNmxoVPb^- z5hf^(vqFk#&qYt=yAmWfe<%P#+AdC8dU&Y7 zu%rUKjU|LRwXuAWb2m+(x>CL< zMOW3Nc@*&!2|8zFxt(>bRM00@PFR#e8L*LdW*^-=LM5|##o){HQLKDbf-kh0Ca9G( zPq#E>>k;^sGqQVB@3;Ij0vo0L73_D7v}m=k#rb>6AbjG-Pw&B@mr+Uaz6N~>Kl3yh z=Iw=_MwrU_fkKyty(YkqKFF%`Y8-_Ljjn&u13yz!N*5$W;bW;q)wvgiyN4R6_qPvk zR4Vb1pZLZL?$bLFyObz%^8COoMVGV<_51Tk4kX^R_r(10hEaj}VX4`f0*&tY%s19E zo5{;53!)wxKqnuAgsSF!ZUKI*n#s)F(YbukHqgDMm8HHkS#Q8gZ%-oR1#SfK#aK4@yFAmuW%GWnb#N5m0 zC@0LUrcLsB8@Unk@fPF_`0I=zo9Px2SiPx^p$x~ksP26&TALvov~#I@zimv$olLus zvI}Y5`)>et;eFjYze>8X;6Ah}4<06N4_zF{eY31tc9%FDJ&Q^5{WwK+Z`)$O4!jeT zS>mO-cUzO><8<#;O_Kc^aKqXh%dx$~mH_#;oQRlNDx|Ae>eW=dR7hDF$`$NR7qXKL zGiO<;`WaTbe!7*dpCYQP9|I+qED02jA&4FwMC;SJK`WL74LZy^%(gOntiwVR4xl{T z%GQ$9fbjNh-h?@JQI2}P-e{6+v+|`)__@UL-_I-Lt5Bd5qiLWW z`SLOda(z}t9wk=-nxj_UYPZ_l({TUIdsDQP85l0aOMU`6(JQfJ3Ra;upRTU83UsMp zp_ngP#k)6`hVe*kRn$`~x$ofnGcJSZLX^XGB837?ht*MASuEIAN8Tpc0zaMUUvmB7 zrNOKpv<7X<-eV2&8hl+MkRh#-%~jY`MRmPSt|rJHqN^uZNXK2g5$wnr$;!5Zu|JyMxus{tnQ@bAX`1 zxQ|DxJSno!3Vl`|uZSVPl2?b7%(3R!R-dR~&g2So?-NnP$2B0X1vq~g;+$*E4ROwG zhBLP;g7ZXwe5{_@kv_W0vH;yYYo2ZOfIe`^GSUaGT!su`UNgMgqj*>CUC}5FnL9A4 zmNXy1XUAaOuWnaZ-H>0L2Y0*a*)H-=uQN`o50t{ z%H4#3_YmNQ7~tgycrO7)V}O?-;4uP>#{f4Y0IzOz-hdOJY?Xy6X1ebE0Xtk+m|xh) zB7lID-3O7*SlvV`iiH8WlpkQbc9%5}lPDKii%6ne6tTUeXZl6=cTXf|vTm@y8cvTGO#erT7I1&er#DLr5 z!0j>MjyP~f47eo@+!6zBjRUvFfLFwUSHyr<#(@;QzrlUIilE$U_PIxb-S;4`jj{*mU=exb9YYk7L50{RFmuEo*N7`hH^tC$U|tB(iwR zjt5C%b$D^nV*lnd=f5T1@cA3>ApL?LzvRcS`SBZm{FWcj^5b{-c=h-?Bo25%ObSgr z6m{Q>s_CAD@SpT;YPeVbI`n(zA`d6{!scR%686eIFR|UX5P6!E{0RCK?B0$kX~RW} zPO6yUTuSr8%A~>yoiIh~y`ItQidkC#60>&)3{T30z&;3Mm>FbFh+iC!cgCB(msq7( z*+M&?bxl=P+ZEmgRaDyHshr86gr7{CICNeB?MDybzECeY#k-{y~s5JT@9@K|%Cn7kw4`V)nFXs&+f#7XArNB^08bi4)K-U7Q{h54QD)5aEnB7Yr(zvu?S|9|0( zl8gNOaCEfM;YmGdl9LrFDesho-_#-1@pDlJJ=y zg6_tdY%+uF&xFlWNKvZb{WVuZp4T_=IlcL0KR16nryp>2IT^3`Ng3TL2e_}r za?)@=Ml+hLu#D?On>p@rERXw%v0s>MlQUR(>QJYwm)84{ zv|Q3V`E*~!&oV2TWmY^(be^Hj-gyU_8Lx#Nx$lG!ZDFQ#@#P2ty6>XS2|t|sMY%}( zyw{u(7^kjsevKwyZZiQWGTD3i{K5D-mkD{_fYPXS~s~|yR7QA z`vCwc#3I}eLU2ZU(Pu&2++P@fl`5%=@iW-v+=vU{8Qwl~ z+^J~Rd!{ZR{72#JwxKD)N0pWfTejLK(q=@_{Mp7cO4|6z@i++K-b}P^;3qM+$=3OyzGQ>ahcwHpX7bNkEc~pP z`w>zz88qA)bahkE3$SdHoEg+7Tx)f0gA%J&vZXdEx|J^ zhWiQfBZ%Da@Ptl>Om+8@_)D?}D5%my*e6^Wt@`wu)(w9@f^KgL+Se3BeOeBE8u?U$ zJ{97AIzjh_eTM3bw@;Nm3~TX?*uKolmhBt=5BO=`zVXkt27RtI=s#P7K98WL9UlKe z>r!8AUFu5+y16On%dHW9r8VfQt?T+)>r!8D4f;lFgx_pkYHw@M6HO65PA`;aa@i7> zr-S2hBcz=4${a}1=W#^7 za@zY6Cuh8?R#719<0$96dpN1hyN?6yG?Mtr2Q# zTK21JP0Plg(i(JKYtVzOK_6YyvR_ZHY1#Pn87)EcTZ1;X2Hn^i^yb!}Pqzj=)f)6d zYfyG=%U3yLZOc+ev@UfTBGHnyxLz&z|};lV&Sq{!Wnj zyGWL3rb6=f8j_K8_ze|FNHSuzaWax7MT9qUmhU%Y8RO(1_{sFy3UW*3`!6`xn;UY8 zO@it$@?0T zaSlWBNe#(IaPm_P$+)_p;l~9H=j1au_sUrAn5>rOGr#}%2c7v%v)gCJ%G3-i6I?dN z*T^-ydW;=YG!eraF)fuYs9HQ9F=nFIjYQ8HH}b6I?_%5fbex0`7zF;+5wW@3kUkp% zEA+T6J`L%x;-oVg(i4!r2?FQqaU1dR^V7Viu<_d_lpJHzr=~m-1Pir87@Z z1*>~P@mbv^X9d_T%R=l{$@OJ*E2Y zPj$JJwZsQuzXSveKc8earF=-;O!p@VyvgBHxDUAKaVf$Iqb!RUogQO!xN4OMZ7)T+ z6fREg@LR$T=dHXQ_BBtVn&*w*kh)JoLv)_p{(YXUX!T5#=JVKdbsr0>D_8{_-$G=3 z3(@ff>4nEPwNOQqZK_1MB9g(giGOW4u-QJkDC0_XxYCF>;@hPRqAlhL9_vf!? z`QO_t6s;omr&#h)dv^^>+q`>*g$p@=I&nyg(N3m;AyOwZ)v}f8cK-{?)%y)vAs7#u zSWNtPbo( zN6-xjM_Zh=vfSdFU1+QJm{zXD^ZjSobPW^RthUl{q0P#1gZEi&+^nI}q^Zbr1NxAI zKIDQPWg(XJId?>QNHMQ}j(I)M2}tqFL_W*Hf&t%Lx%j}}DRWCHqER%EmQPO*FTM}P z<4AZSb%^rlT?+AW>1id->o-9BUU<^i(j&b7hZ@<^CB1>yKLP2-!n4?rzDwut<$k{* z{pC7+PeS^6L;4FKdz2uMG2-dJh4euPbQ|$@ehkvDMB(0uw{tE;On@zFz=O9|l_C9v zNIKrH@IhF9dr&5MarpmG=TEP137XLq^mst{Yf7G_pJmUbi9kRdW2W zS1IX#i(Jq`c*Q&sw1wZqiJ;l^hBBxGW5D(<-v~^jugAF@XMpaFLNue9Aq#sQ6^ltD zHC6`C|O#M`*VoVw^c;?Fr{}9p(eAQNWYrWTg@wt=hY0JS5d_) zHp?0bD9Bd@^TW`U+b>II(-j~41QB;lhboX@kT)W#dvpstx z+0C(=&Kx;5A#6ejcQ_PCAYc-5ag%^_oFN?9>}EMcgdE&r1ch*TBPgPxA1W%IKsXds zvR;TNatL^!82<05zGi1O8$R^+{eJ(zPFKBp_3G8DyXw`elm3f!>$a2X27UXax-->Z z)(;wCKj^O*Yhvvw{qkBtqnr8`mU~qauc|7ZDVaJ`Uwr5rYHg@;CAce`a|?xW$#`Wkky@cGlat&E9IAa{ z_}=gBy&1l_?yZjer0CYY_eFj;*R6Z1WWtzrC)PbQhgPrdeQfzV*#!LZ@>)F&x!V`m#%`sM}9ZSy8ulKVU^&f=lZM_0TWR< z>IWURs@{gTeZZ&=QpG;mn=q%o3+w2bRo*_?pCUE)$u3=0H+!G1AM{B5p#SFa)(D$M zBW%2la3=Cn{d`4M4^L~P!Ag`{^==JrFDT)Ch2cY%uJUfpi;?=fHNUI1TeGL#gurgi z{_bu~Zf1|SU1J*D-&X#NUF=JdJ?`B+Fp9mKmobq88zQ)OV+1!Vu5J{oquCJNHq_}H1+dtU6{I|V zwdcoL(c(vla$&Vbt9ONjznMNzqWMxdVp*Tk9I=WHJhIA7&wnhh^rZG^Q zW>ZlwKfIdmc~q6GY5HlIiQJM*qCqVt8&tEQR(YB!o~u2xo91eP-J7btD%zJ3n>g>? zJ@O`wI{|!YkNY?OtDe5$Fc+j77Rw4)2Q` zjb}j+wlNx}b12@k0Qi;BFr75OF9-Nd(J-Bt!Si*1f4Yj!@9``M;9seNLq{vMsk~1V zgx?MD836xPG`Jt5Nq^TQ>61A2?Oa`de)huZy8XO-a^0Y|`ax6c2mK!z5dV*8Zj7Lw z@&BO?#(za+VuV?W7M!I77S@esBaRA*MXONzSn znDdtincZm!dQ~%8Url3IaDIcmj62$4-{EGv#$ZV52Mzpr-Mzpr-Mzpr-Mzpr- zMzpr-Msx(#jaY6;Dkds~^9KAJ@E9M%)IGWx>7Z)Fk)Nm7b3ghP(XTtpt{V9d`Yw-; z`>6QF8S7jG$IU#zj|WG86&%kt&H=|&Rq$qjUj~kk*3bdD862Oig5QTt9sa&t1wR>J z=fdA(Rq!PM`yl-7(t_i-A$7yJ{wW;C7oJ>y9RI(+dOfTD#NdjP>vrRJ)DQa6$@R57 z>ZkQq{a8Jx)Qxpq{h)RAgErR>`b_$TNON{R|W!tdwoLf;TxY>j*%sb`LKOg zkvys0E4`|Gh?yzP#N|p%cYs+DSCkGAr zXh%LSt|15C7KCE&7nZ|3pU^Nl+|3MJ?8%`z{XQ>!9n&uzq01c!q*h~wt^=)v^*hZhxe1Y@=mEa zGsqTyHlFJCyD;Z3{{VbDVmVzH?z5-E4>h78DRlc(m0SyZ`5e9qD2X>cY-!$UY?Bgw zlP60Dqn!xk7Z0C5gZx^REj)x_@7QL_8Qp4jb#R0q#>O$6qxAg`09 zd8hikc6YnH>a<_;S(0tE*-nAv8&vUi{ThF*%3{vT29cKyoR@i&myhgKUY;9GUJhJa zJ1>Vz^Dg!CvS5KPceK6vIq!`%xhg|yL$q=NKD}`${0to&-!rQT-75bBS=Dpe4t*G_ zdFH2Ens)!<^x91$wwsCAZZ56SZhTWMihV%1-5lr>8rE*^;dXOr-FDmW zrJuy~Cu91T)kq&<&b^%eLE-cd_6ZG3|6Wf2GOyj9?v)2d!1u@TD~s}|yblZGh`lKc z?X>!Z;nk0c(!5oEc}$p4zdQy!c{HIsrlCAOSVJD3Asi6EAz^tO>Ju6!k1w%2J{ao9 zK99DdPvn-gQM9Cu+>#EYmUJu9qBmnk-=5N^jiNnu)@e@#Y2KN>yz+U!J+1W0&ovB$ zUwPnfID7d!{EWKbI!7!x=3|UBZ;8)Gdpq-i_CMx>|8BJZ0h0tZZYN2LI_9O#?c7+S_uCd3~BDaHbM^+T*sg5`Evt*Ze)@l5s{B) zlGiZFYnc;@*r0OEhA2mE&^T^`&XKS6o%LBvt}E%bJyd5eFeON0L=D5|}ik>8H+TetM)tw#}Nl0-2g z6Ot^4C@Qi`QI!J}ql~P{0g9K%6&?KjhK#SSiDzbG=u!LQvU~qO2X*KRXanJ5dNHdM z$!lyG$62Dd@Ajl?;5bVa@68f(c(}7naqW4iWY}SN8qP_I#P^=ZR)t4ZYjKuwmIH*c z?%HfXe(!N{*U#Z+jEJEX9>4W*Rw}L??Us5tinEIOijcjPS~$*X&K%l^ITmp4MH?~6 zfjgmQbfwZV*@#g~`oLY-1=>o{pojh91&yBhi!&*-ZmBcZ+8|<*N=~fWp3K3A`u1oJ zfbSPEtpum#z5R#Li|zCgY!-Eq+pM7NKLO~|?wRG&Mq4>wVp}(Yw&c^^J6kyvKjGQR z;q*tcm9v0*AB@NB=Gm_L^AL6)(#&WB38=AXh+kvr4kW?9I69ERkFv0oRM_ZngN(MM zioFAkSkcpx(*)l+*8(A}4;w;4rzebb#{^GOStuJ08h>a|yN)uJEH0cw@tidLWQ@Y$ zrr~5{vO{lY;ai+797Kw&C<8HEnj*DKR9Oh&%`z!Wx>U{RlEtQY)#;vLdzf0lI=>|J zt}c)k|5y?_Yl`%f%xYoAJLhvCCrd6_lEU;%(3e{>hzO8A7Ky7W9oUUv zR$FAcj1bJRTR!8Y>+bc-=iwjv57c|9bmr+3!b6mT>IO8n0O)AorFa!B2l}AjJM(F!b_fkv_L=1>R+)47mNPHHadx2C8JN7M;b5{q9F#s>H5PR5aV+Tj zs4x4w@AYMWjz1Pm42=aL$;;B`u38g|cG2mqA zjlV9&fQeOOz+@T&y2E3@nm_= zowaYmb(QN?*b96mrsE6m?w%LXD?r5ldn5F=0DkNu%B!*4_5K;R<0N6$Q3qQ1oS7>_ ze14!|oYZ(1?aTP@H_7GQr%CIeZI-akYP2(BPem5XO6ydO?V~Z0!dj8jWY;cjuScWd z^Z*Th4y}FXcz4Uio{l1NX29>A2+V8zIf^4Ho6#4b+w9Tp4$`$JN%SxvK@~omq)6d7 zN7RgS#E5a0)Qq#FMjT&m=LX}T8C>yx(QFPTS>&@abYSo*? zXN*+WPN^B^lo8_$)QmGQVw~+Y<7}@H$Ct(3XVk507!;^$)4Vv}^5Yc8iN>GQNd4X3 zfjjQFF>_u6^q=`Ga)9`XeLIA>LPdIGJ$las=p}(#OFA3Af zH>{C9eu=*K4t9_}g<8}B68)}f{_`IFa)5rTD0`jDo{BwCaEKbHKR%6{M^EGCFb#kF zdEm?%!vB z5rikyB0RyB1G}1$I!0GEPZ*&;JgaUy#-N&G#{Bwm=7;0>eatau)#_u8IcubT>8zS@ z&Z-e7Fb3A=ZEKjf1zw!bgk_u*Z7b=vtz@n0QDs#9C?=z9PFA-uKR@@^%+LKJ%HYwO zaULBp&T}>6JU3z-c}=Z22(6BDFU0vDjH9SFqQ`kssW?3{Uj5SYu74)@*Z+bJ?GUUL z7wgU}IcVb4u1NTJk*Y4F6e*!ag%boC4g`$050=b)mElwf>Ov}oMFm@TW+U=fJng@I zFBes`+5Up+GK172qksZz<5OaxuI)@^o zvVCfVV5kil$2T1Dg>gyxChCOXYZhzV2X+-_0m-95cMg}?&im_-sL14>=%_^Ksd@Iv zo29mCyjH^V_antx1nHjW)9r&bE*iRDy~ca|mtmxt8CUwoV;<7XwbIv#zs`|Z=~gm~ zA3=O~1qE8tNzyT}Vto%hs<^In9Py|ca!7CfdSNBc2xJUQf-6!UA9Vv?3pigPqY zgC0g?WUT@TB3-2HitFS)q+D#1?KqHu0->+7f!CnKx}6ju$v{YoLK;L!Lm;G)LYhQKQy|0y_fR89 z$mR-=VlNM2tf+ypGK8_J2FB_T#>q7>PC<+ly?qd&VSzlu7?Z$vV8r{% zr*h5c!P>6$cgwV=fgk6`P}S-6y8cM)$7}PD#Zc=%L^vhkqV^P z5%b=OX6w{ijtL82i`<9o3wB!NzP#+dqNlaVeFfjwF87su-x#^C==*@l89vQ%%(CzW zvxo_obm*8coSNlnEd1HjEV)g7LNf2+HaP(>QSv;lCZy>RH=kKgyd4dJ+>UiK8_HEK zl&h9du3AI6Y76D6J(R04b#p}pce31vtQJ#TfTe$sT9T+TyP(PpO<|@wI#*$#dR3{| z6!6d+WzP;}IptzP1Yu|PteoY_neCs#pQ-$rhOz`+XNu7czs_qa>5R=}x#B=B-6F+5 zDJiT&eSX<-8QhGdnQE-n_=3* z(e33Y&h3YhX2vw94RV6dmso3E0{P>(c#4Vg`95&1C}U4%9i6))mD6S3uH@oxfnO{C zK+wy%hbl(pnCFiW$=@J+3HFGBFfwUB08I8zM%-hZm_P*AT?)fF=ub)W~=hH`F#C}TXkT}=skd+VLj zNqwY-MCEb|W*8INV|i5XS7~}<_rf>97%&Nal{jvmnvxB&?^8Jo zE1(zr7jNDarGteZ1o|dUDa0e!gM1~)Q>pUxP~BBL0oAlhJN%|2_C$!K!^*JlUr_XU zg{xZ6Skbtf`76LnRVRWEf#E9YjtJMmDBANH9UljKeB1$iWUE-1q-}f)ZzA1|bMi#_ zfwgYq7Vvv;7V7dhM(~#n^XJISUaLJp#rL!nHtI>cQfErE){9DLuI-1T;rC3B-#2RT zd!*L)Z{RBl)4w&ifJ$KLwqxlQ5VjUzm9u3$1Wv2=PR^8iwx21CY@Z{KB2x-yszqcf zP(#V7I2TA<7P|BlF#n^`}gx`RoP$G@bJ)Q$CI2K6>A7U^Nvh+A%tz z)ikG>esl1;Og*)H8*2~ibk*Bt*ibSb9D(5U$FK6l+#@obicts_Uqx9pw zE4!o4u32_(i?TbnM%g*F%5GVp>@YIwQSZ6zqMXByhPs6}$a&MH7lHYo>`mFFLuGeU z?Xr_1Rb^+rOJ%1~&V2r4m%kE7y`yPQMS8KQvnt(Hdc@23o&@?&>;Z9mpqg-6a?Y0A zKIt=i-zR;hMm>Q(DS~H2l0kM14c(m6Hx zmXW^?P~|RL=lFaRygZt!YcStqnQ!VulL20k8Rms=C?{*=YyfiBiQ|J|SHv1Hig$KK zS2l-ud0bc{k6qeE1@m$q=kc^a9tpl4;OFcylQGWZxVnXN9v03&M^`uhg>`fIjBB*f z-x?O(o-Fy}{k?lHx0`FrO-1>f&vLsvAUA?v0PwT-D7U!i*BVC@oPD9UXRJ%VhVNs0 zSGS+5UALpi=S9r_8v*_azF{Q|3|7Zk~6atCYEzb+x zF?iJN*DuF)HSz}Ks3UuV?Mnh|6a4Yf^sOnucA_rZ8@w^$9q|3t+I$vx<^wzvXdjGCN@7#AtZ+9Jf&byr7_e<^? zd57e_ElTB1I}0Fj+{-96$-Yu3?`{wrClmM`tTxZAo*p@{p2mO~F|lCB z;|ijtk*+61850~o2fgvLGJs26Ek9qdn6vEpsy8S2HsC&vYu|;XWVCWD1XMQR@lS)g zuw*o-l|l4a@!lIyW{?(^OadJ!(j+=i7Af7xRu-zb=GBcDyQ0yBrkd8Ai?MI%Ku>N9 zZbXrZVeR9lUbzI%hc1PmLc!FEaT8{a__jr1YycTeOaQXM$d}2e)w)nKqs|9$TA5oC z*VF?}gB7~_Ml;&Ce}d0=iigS0TIy7B5+U8Xkn!W2{V~_c{%?YpI(u z6Eq3UBx7W|C8L?iK0MRSq)d$}x@;z#Hzi>x1YlUhgO(}*gf-ht*;DW&JP7|O!}F4` z+ybDd8B_>>uuMgwtnVSnm2ZK{GcI z>^rd+_Y=YPX6j+AeTQLTGZ$FdOoL!!?m4O?agWz1aD0<$Q!_yj=`Cd%8M#R$TZQa_ z7`e$X8_gyhA+qyp&=h6-7bUKsHrkim{ z*SgJ2Nj0;@w5T-0s}b93LnvAlrWyhG4Y10E#*o`BgTxDw;dR7p4uYtanQ8Vl@B_!0 zvF2E-!@k8F%WoW8rnPlVZvKxX91N}PAa5(TU7(IL$5|ayZZXG&P(LA1TNtUs?7%0J z&5m5hRQPpKxxwV7HVBtJ6Y^ag@3uyWPs5gdLnQbjMBy;ES=K=y7G`v~EfsjJg{98H z8(D1BspVYHT2!amX_<{X%+8$I1ix%3$}ccB8P#I8u*s;_LXT;htwBS+rB1U|ype<~ zVAqEL&rVSxX120*=I;$9&DNq0UiS`73;0^tr_5Q627Mb%gOp%O38*76)`!{0Y=pT? zQzjPRi{9L8qnFS#smgvkOGnB~0{9;ER;aZ__)D6Bwo2 z>;{x>fzrT+$~vsfm|-($Gm#!cTXj(38@#TE0AWC$zeX%!202FDnwoev5={`B37(xD zu=>rn-xd?^B!6R08Y)waY(mAzK2$8vckb@f4|rV{cQHPzpBOQO`!VC3{bJ4RKF4@% zCA;_PEThX?Bc6Ef@HL{Y^~EBAJ*zwy!V+Z3(d zp%OcSoyfef(or&sF@rX~T4#=zjXLbxM_}y2!G3&I#GhsqQ%0cU>evH~VS$1_!}+SW z$Bg>g2l{d%gJ*GN>l$sE3cslE(xB+FPRB(%SkI;BWwCz5J9R$|tRFFnVsM+Nq*X47 z;K4LWDXvvMf@>HnS(rbJHG|gS!}pjB$`35fV$h%51ksJ$lBA*aJgDQESPs~K37!}W z$sH&O$u;x2c5Y^zPm`_Ps3|RgG*!qS?B)VHr7Qr#`fb5_w5Q5oMr*IUFZK2;6$$1c zct_j}^DS0leA3>sif1uNZSKF31EMnLHP1=3=lnM8ciw~3g-5W8mvX~+z(;AY-5~kg zsyTO2T+(FdLzS7_5`0Sn3Tn=k7}6zxq)ua$#%M%Ib56j@*8ssK4#tlgb{2${_O()0 zM%B_vT6MOd{3n@eX#y*IG|xn(6VlA-B0y{j`3ka?H|CxTU8hTmc%#s%WN&==I~uMppZA86-#hammGdi;IPf zSl>05SBeVjz0z7prC(N;WoR!!d#j*x2s$SO&E+$~HVo@8D@BWmLS1EtvmG*iG6(d! z0lifLbKHPAet;N1>K%MY`|DnCb#%Eus+gL7rFL#3$pEu=DBegguXk7HLc zkGhWKxFLEjBCN)Pu}=_IFsxf{R_qg0)|0xG^k4}-ALHES`>#Yf6M4B0qiUA)_JB7@5{PrFx^IdD;Ue}1f@CQ?IIvIROq7x@+2>xEdDvrw>_?rNKCHR{Uf5*ZfE`L4%e=uW_ zu7N_-I?uZdx<>(vVOVHG0mgUgt|D*Q zC`;=!S1mZ9TQXJu9lHHV)T*XiXSlBDky!7QP1SXmUE|EC=xVQmbfMR=KLt^s*HL!x z!k+^eeD(9 zQriGxW%-uU=?eMyX44Ycu3&G+#te_(65f1Xz-HobV}?0}DR}`(4J(ICa33bP`#hKb zq+!*GZTPXXqTYRqdq8vG9^jW=SS>GG59?j~H+VKD+owvx1fp{r{_Ke0({jbJBr}cE z!z~?4-(jjmJznUbzyU0poc}bi?!F2f7g9|cLRj5Kc{?OIfQ9IM9?!L6S^I7bNyf6y z7q9@3IpPrS6VTP2$~`#JeG@^yknQtSwEbGN&@3NWNz7W6t59wDK|}~bpOIWBG!o~+ zP$T&s?4E7#6D!ixfgR)n3$IBFXDPO9kIWJo5qhq z7;X8WfeE&n0x0)k`8+k$fChgK^$z9)r7z>)nx*W?*4qAW$)rX8ZT>vOpYQPJyZrec ze;(!!W)NEQkGbA*dmSrHKbp__!tI-cu&4HY0ZmLvZWGv-#oh)TKA>KRmH&*OpxBpt zgyg;-;Oci9%m*VMz#r!tTnCR1_1e*+UN?Hw>k;*gU~c8UA0m!(Gw&bCG?SQ5bpRum z66MdW_toqXv~^8fv1X`>)?<}_yWYLeZQqZYCsTa1K(Yy)DyKaGI}58^JikUHS~EE? zH2oU;9v&H#EfibTEyex{U`83RNRKX5?62bSO0sv~2-Z%_iEackdbPwa3Fej_7UzM7 zrcBG=?|g~X-2Yhh_f7cgeGYy!gH9KA^gd0V8q~Mq+0`HpP`zKOhqD=RE+(99^>83S z+fk?t53#bAg%)qLHK`csAZ64VNYE?A2&-E&Om#;g??z}#|6DP5{^JA|f7ClM*cpqdeT<^5KbmSl zF(dGF=WDpy`v?X?9mJMz&p@>V1Ih}^1zT`8S3+qK&swE?h!x>cS&RDtB=^zb@UJ8M z#vq)ZQTSL8L}nPA8^rz;+7QQm60#Gl^#73i8m!H-BFk!2-iU7dLn>a9!AbrVsxbIW z+1P{K;PUx(?FJ8J+;rFkE~bq42yE<~iqgEZd|SeW0^1VC{>yQsj3n`UZ=2xzTjV>c z3X|sz>~IEw$;8lUqu>$-*76{7X#kf-4fD$=G~9E+FKxKtQlC6a(5iYKW}9sPxJ{aO zqR(?{t8a%n$mh0*;1eBt$>-JoVLq`Z_#N zmF+5-!zQTa{0}O;lr#YiSE+D?()xY^PHiI&rp`vJSB+X1!E#Ib@$>A^!O1;~1}$jc zb3R$nHfmVVu3gdiY~(%C^gh1xCP`bQc|Y{!vU#&#=XUP&>)aFYeJ&`YIkjXo$(4~z zGAd>bnlZRSav(;$dsuVRoPMu`nHo(mQh}$dkH8+$7e-G_VbHv+`~Zprh5~#tG&>uh4!5mmJ?F{kE-ZlJ-Ng zScc#!Lhmlz8_8(8scv_^gDSnc30N7!%ESs2Ox=uacVKQDkI}E4iJ*PETt+J-%~);; zKE`AkJ&+>ZjSn}*V(_JiB z&i64w%1i-zgOzD4Og2+y|QeHUcM&W~15A^Q4&schXFn ziJqIFYA(T=Y8=pxN5&|BdaHF7OBm0#a9VN;S85jJH73na8A2oNYL}fG@-O75)B(et(CPVZ-?YdHzVhFVgQz*z&H!<52gS z`+dCcikDVjVA~*-U(x|zl(XHSIxo;S>ij7n2G<7qetx`Yda>ZQJU}5 zI;j*@$iM^%qSPXjC`wH-38Q4lB#z>Eg%LQI139SjdH7kB0|LLtH4-mfGPTfas?H-~k@+Ysri)!hTCs0HCNi=SQ|y~i zE=J6GOvWdwG$TtchtWeHiP)5AY=B+XT-|)wR~CB5<=8_|WjcEg1L{4EzoSdI4L# zfbWI_wt3{fM*%Hvz?B&A6b3vT4!Ft-_&yC-*c~Jw_&{|%tPbStZY3#ex`ut__pG9oo zdA_Wp?=s;#QO?oq5k5Fjies^sN1$0)d7a6u2)P z$IE&%T2z&IA*NW{*SC=ckWwVCYS3BdmTq4pY=#Wy@qs<^I6Th7?;u}K{73Uu5b3pg z=?w&dn+<$*HC(mUB0*ub-6Ndty=PT%H5eO$*n9RD+D+ zX)WWl8a2Xzf!DcJ=~H!O`owUVJ{6Yf z6E$S|C6?(^RWiNLmnqtA_{$#3bFfZ%F6XoxG{R6+=TpJTqgu|F-JB-$_1NNyx_&2q z^PI|YUMjd8pj2XkRE`llXuL0q8{}kT>Zda8oUg2JW2)7iM-gr}8J3~l_gw!^0~zrl7wQDC9_A@62v}-k(ca=Z3JgAoofG@iMR)9u( zr*y*$qSCzV8$-?JL{^KPWKMz!+N4^~o~rHx?D$Bk&q7zB-|PyoV3nh&AD1 z`B$x2AIFK|&v7koR*r{gN$?xaFL3@G!=PW%L>rcd&mxY2uBDiXE>`cofYp1uYN+?> z&Mp+^C<{?{op|#uu>(nN*sb!jOHq2QM`8OL%t$ucXOP}0Q$Y&>XDN1?5GA~mF zv*2f{K$$9VrqY^#JHJD5WXv>W&vO2PmvNRX8&;Jv*(hmVMa_(vb?(Qrjb?>Z$Auz# z(JcCD6)CM^tJyG2f4s;HSi^$KS3~3Cz0+?WC`~Qhqo?tfj|BD@&{x`|t%I0qjPWAtt9pn4|!H$;xx7g9y|8H=_%n8m5 z$WA9@s?+QYW$J8xNXY_0SYH2@24C9qHG;2E2uW-RiRMJPKj86yz5O=yAAiL9aUZyc z8q$+@TgQ6m$Kf}m<(LD*N_-1uv;Qy1p4^8Y=S4hUhPD5nF%)Y-{~I!vt=xxS=Ovy9 z9rOl|$GG2g1pGlIAX~A#PL`yZ@b`X+HL5~yNYgH$BrS@B@t*+yiSV`MFuYHpJz;6J z8iqFmd<8hlRc}aN4?n=UG*|`yCeVKj;%u#gp9}Egf%dnfe0=7@@5en3fIS|-$1~nD zC2{|mq)}X<6ql*R_gV465e(6`p~(8My(rwG3ZVdOKPm^LLjl-;@^rzM!CTk#e7>2_ z7q5XdU#B#&fQp-x;zqT25u~}6A=)-9#J<1zX&xO4_`9FxEV&QIY@v+$8qI_Pm{`M| zui!?sZmpfF>ufMfaP=4F>Z-KNhPMpTC3+*ICh=FE?44C}vWN0J-IE`pmX<5U<6utY zGg3SR@>L2kg^j3a4FfqAD!PPN`vH*p3$NJ!Dzn|eDt)Cl_N32nj9???63tur%Vql? zbn1@~#g|m`OpWcTiMcr*R=+`cdmTwc@>$$OeLu(31DVMV18Gwa9tJ~OrCOcx(yPkL zX^x7$R!o7A4jS6X4wb-9n_YeNW88cx_TOt}Z0aa8raE0HE!SWm z(mr}mv_~zpmr-b*Ey8z~_A6DiHR5jz<;E zFOf8?;nb{I#Bcz26`k0^@=Jv>8BGSAxK&YXQ-mM@Q1P zKbVvmb^a~$p>wqegawyCx#yM!%s+_dGHx4c7LS79)@0zV(zvg%6`Ix`aKyjK z_!FN^7vxj7%Hr<*IQc_&%Hmx^9p7w`{^sxD;;o9fte|Nqtv>>Jg@sAFLDe<*+wSa^ z-HX}{IIH}_kgtvYtlWp_d=KKm3*4(Gc+6m3D6MNy?YA+qkyCdVEm3jm;5>zUn=abw{_m5AWUGw(Klf zz3>vToDBd_IH9MJ0TGBsF#5SCA*yKCqMO#PEz#iGRZ(c|dUma~>k}MYDk#PAp`=ke zl2YLZD@eAm@IvJ3yE2&Ch-=UDWqT1)QTtVeP8FgGpDJjIw@$#b)xV?uNT$tm?^J+(->IY9-dA0U1E#XJewgRcYExadwmCOE>MXX1)siZ$didwhKKCuSnh= zkC#C!k!EMbY=hEI3FzwP1y6WDu{BKD8-6=G=*m(s5|vf;B!->%TssxYLDeo+orU~>x>k8 zhz~1oUxqhvWN?tmnvUEwmLKrrLXedhFd#}-DjlKMM>&peC3j&jH4w+D*O}d|O~%7E zz>E(fhzL@k14R)ZXh5`V&dLTavVLpyOq zI&#W_7Ok zvXZT|;V3jll#|Qv>|Q^=`_#$rKoVPu2`yzdwv=}G8AMRMGPLtP&0-yzb`MY?!gLEV zM9QVpF@CS;OxZIXjovYPx8yrcFShGhnJ*uy&2&8?DCTMz<9_IF`2L&T4~yiLz9@Ov5qm|F*cy5J=SsB)M%{Z^qFS4g&;8<(wcxyy||xF_R;K1A?u~7 zJVH#};LdSKAKXA)aJ<0SqInA8G)ge`vJD}Hc>|T@HBVQb5U29XMFx-I%JhhIl9&_F z!TDeo0?J=n2(D&y;o0t>g)Tg#9L%8$k46Vu&~?K};A%zJ&eh;*L)XHS!PSngH78iM$b%63vARg8%WsbX}9+0q31M*BN?5;ciuWL>WO z6ZEJHufrV}9H7o&OiOVZ(Br@WAGg5QL_U*#VLXr9N031Kx&gT#fAZUjC!-<88Ea6T z3^LRZb+Yu0b50peZ!oIRVoq}q4F#fxB@KYEq_ZRh_KlPKsB9;=g$#f$7eJ2ZWy)Fe z%qeo;cx>zA_{(|^CVS{^8rtO7@*PcijzJ{I5zpnPDmnMl8E zFu?^(5P)tM&@BL+E}&BYkfZ!-02oj6b!NXH*q<0=-;%5O_ZXS%Ql0G1nfOz4a}7HVG~2075m;+v1d=ZA4$saepZLa7`^ zm!dWMTwLRLHk&d&PUX-l3_O=fd*PM+s|jHIgC#x}XpVDbWfN~HQFR??>~XY(+#(np ztI%_s=vJI@m_JQ%KrV4=r{}H1wGGnGSEW6#R@(TG)PWc-jC#q6zMU~#qh9{{g7BP9 zMLc*1s1B4)+)vSs^ZWcULc)S&s2pgOK%u-evtg~HL>4HzGZ8V`D&NMHSWh6Mm?dYD zn@YYL+L_bk!n?!p4o*cRL!p2s1T|Ul-pHFR@)DFMWC+h>5TFw-$=*Ga(Zy4KJj5Otq8=AQ?_7!bT$drXk;r zri$ucTXD$<5%p|FrMtPN*7K05m(Cc*P27xIF~Loox#7fSzw?y72eJU1_}mwElg5Ry z+d9tExKQY^JQDmtV|cBP*K|5i=OE(i8{k~&XYhU7+pmFMslcOGNepU59^-m&q=E)c zp>iL3ozwZeem<)GG(?L=L$q%y&b4Hn6k_@@3*g4u&_5mHCsA=AKmqdNoPn0~Vr*z~ z_AtreOvo)qo&=?^9OW)bDYvA5D%Cqo$%yTc`!E?J%U7lKo@;5d<*LwT%Pd-u?JU>Y zY{7k=BfULj#4H`C6rr`EFmQ7Szj!|xH(W?SS#j zJ796A4}NfCJkF?F*PyY(c|w@mHN|qB6kA)$RP5>01)YsuP(lb?-2uyR7WucVJfD3` z_xdy91K$ATRIpcTmZ9t7$k4N2>#7iFJ%1Q(D{h9eSGMBtow+}v2qNO0xgLeznZqx= zGxslgXAZq;DZ1-hSSI$>v=j#~8evkMQ=;_Z+*poHMmRAUw$G@m)bBv}lt6f=7oGux z88`w`pgm1;U$4`R>euTEq1Wq5-s^RIxPUp=RD)ix>vUhQ^Ag0T|5j5r0(GcUy7zJS z{W@KGKj6q92fU}Ub%X!RVu%Ja4P&edtG#P*Pr4Y%t2FaWa7JLkVj3N(nMvKB^CU%O zT!1DNQzEPPA*G|anb<`g8Y?eWUfzIOkBZoAhOY2JYS2bb5l!1@G3Y!2T&=L?37CYz z4L!RD2Z(H_>rkB2aOOxI23{*hSSLz=jc8_~lyXM%LL#ntO%S&S9)$c0@O$<3Xa)fX zrC>5T8%H>m4G;uF%xEdDn;Kfk&@NeOAo{MH&2MrQ+U!m_?r`9OBwk0XoUS}q61AEqB_^-;V%n)%~FAjZp8gP zHyLRx+6!x>gQt)f$fy*vGZRXqU~;%likxJmqLz#RJ!enEz|}Pa?O8a}SYA79pAo`H zS-Vac8JAdDJ8U-6Tv0o0-x0!kM+lpPVXJC~kwJ@-YJ{;7i&HoR8#-G&KR?3Djc^s5 zO_PXp+@6a`owB!eu?n*d>Xn7q`{ANuA5w!uIYI}*83?xFU$6P zUbpSTlE4qY@;sa7NMsVQNh-j~8T#V>eF^B?%nNAyBXn|uK%9m2@+_oMYZk)ug_1W9 zLEKVCDK^2>;o~#_$(D0VRJ>1qfI<%;_bOHQRbV`%GY>CmWEYJfeH0m5CZIW@*e&OX zpnKMJqn9>DDm5v^MESFQ?mb5|KI-LN?!(MaC6w4kcZhLO#IwB=`tf0*eaj;}ts)N^ z`**&EGo3LEvHCF_qy8umHAl-T`-UiA@|nYeJg=r8!*ZN6q8x7`arDorCr3P+It9CP zoLkwq28HKmCbzWY<{S?^<63z_zqF1{B{c^SaFaiH!ikt&A|~Y)=8pR)0sB}}r0o9g zzN&(2W+_T@J3nGq0%pPJ&`V2$Nh_t4R_<|AFC?_`;t^OG8rxl;o84{Rx$h)t(h}-~; zEUlLI{fJ-Ba57+2*RzzUXR)q$>C_;nP}B5aP1F6FCfJg-eiToTyIq$-8Y9-ZKoUt= zwm%DE?#E0UeC~C%NtG2Kk(=8Pixpl2gTCkeywk&;E>iN10@0X7HzFX%N z>5I5#8&>D%e4MHpRfy45e^Kd&&JwL)wI;G1sspcjb-*ak9;hpVVBWP*p8Zzl*~;ZW}lp-3Q_6DVeFLd;t$P5P`Aq zVd=zBqkr58>q9ge#dTel4m!lmk0c#^G~0q1G3}!QX&+H5ZA4(KcbYcJ@{&N>?s?m$ z_h8j*hTf;W=2=_&ShuZ4rCBgxPk?N#jLJkZ(X{GQp&S&WyP5z^Sl5U$wer;i?&lrsD&JwL4E-EmI6T{tYR!X4K zQ*+g*XlWzv%5w?IQ;{ZgxmRt@mu7z2wG(uZG;6&yhwTJ?SsL@Wl;FPdH`17Yvs;qx zmZlF$MQ$_6$QV09@HYD}g$z(DtCZaln6Tt{kqNFA&(-F+#tBzm?r0Lu*)mNc1HR6X z??BIo`{`(ZAc^g30j>`YrwMj3spX~`TFX>bYenrxD}Rdpc^vT!7(0(pNP|+fk5t_E ze2W5xSsf=i?;)j}jup6i0|#ZwAKNEM`z-ag=A;-js}vM%5~Pi~ttSfj7+OGd z?Yu^X1~rIv38lctt60^_y^xhb?4ZiWq3Z~@SK>BIorG}uEgR?JPq}i6Ku;`54In4z z0)7h6wA6Pdpl%+(t@M@DzeH)rOBZuPYX9wAS9|1688;Lj^YlX^v>(+NL7h`HV~z!% z)QT~!??j-Q@b=GiZ~v^dm1$*!Zb=iy-K~8Kl@T7sLmK<*sE3mR*h3ynlb!EJ-FHH` zKQlSrw-M(@;dtNiV4Cw|*2Peyhapay^Zh8mtZ4@HWV8(jB6uH;p#-=Udnmw-3#fAp zZT%PZfklWD1)QNx>~W5zAaduNg}hZq2rDa3;tsO0bxp1(7Bj5v{m0>iV(Xd~^yaqr zAJ5)a^tNp8U(DV%^tNvAKY_jN=xy8HkCK#Qi*i6XN*%tb2Fm8a2VHqaXumxJdE{5Y z;@aRMCGg$>>rsDB)V12tUD|-I_2{}1UFU-f^II@*at(C9K4_& z%K0A3g-GvKq<0azo=4XPbmcDwSD#m}HzI5;!Y;+R&ERE72DMxUKZvxRjtV`xWiUa` z;`oyq*eHe{?sW$~=*FQ;(+!Yj$uqh6JyvwKX~Wvhn1UN z9XSqF&=5ue?l^#CiUxfW zLt_V!UQx{^hSEWOIQy5_hV;BoJ74r^qrE%}$8=KO{9FWw;sI>m_A_)=VgCvRit{3F zF}j!+>68ba66vnuoi=dc@R)9cHAI7TW5)c6m!7wur~Z0)%C_HFW1_JN0$h5r5z>aZ zQ4u$uj)vn#{rQ;=9fBtC5^0U6h+H^H6PE5~g7LCcJ_n)<$4j|hcb;~Vlq>x zG8!d0N8_Og4ErR6G^ptOHJ*ln(~u4OSvnajMhzJC<_zs44tNgwkf*zbs|H9~%gON5 z67!Y~fn2LNQgXgOB29bPx666sjnY1xZ-v@)E9N_E--;K==gK>myUPm8xdTBHLZCZw zPP+ZPlc(&YoM2yRQqwT>bk!eWG&X6bmA z8_#RdSH*n&--4*m?Lx1y-RJi&ScL~R_*L^r(OS72_v0{8Go_(|sF{ae5nAHuwTeg{ z=<~?#hu5mIZ0R&PR1ih}bDs*X`C_$Jd4@fNkY7dll#|(-&$La|<*OtP>&mM??2*J{ zLNn@}1O_?7{*o?!_exzW+`2PaYT8#S98K;4sq1zZzFso=UHIct_upOkgOd4}R63gG zXHhyl8v}AJ{{=X(S7HgnSRt3-Cl}8pvdQwqE8PIqiWeqvgWLDYfLSWpwNA^?t$6wP zK%7KjGRHad%8+h@?CExjXbG8IZd=T1UR%_?rf3vpBVWGs$^ftSFGxoa2CQA)8bGGI zyklwYC1<^r)-4jQv?dwO$EoTS+uZe1OzY?rt0XjXthCT`@)7$2x(QcogYL;kO)3iwA1P{|f{V^Oh8oh*-PU5?GzpD%q7AdoHtpHW zlUCo%YBI9aDBbcozYU_kOb7Q%w__&+s}o}vKENV7r~1PJgYn*hRymFO1m|=vRvZ9J z6pAZjgT|6n%pYH=q0lI4C%cd$ zZI;%#V|wuJ0q#Md^2-do*R}s<@5LakC~J9+MY@)#=rA7p`-?psx+nF=sB1`=ALpZC zh^iVYtN1f<@Zq5FeJ^&Y!M+=bqh zYt6Ws*pAhtxHOhYTA5VgNHb}swqtuQ_L?fRdTjn0cW{5ko&d&f?g?6DQ(dH((M5p8 zie9@T$K^8m&^R-dTY|>F&E(cKJzsF2U^e66+X~HHclT{(xiT}iRLSf}4*>JpKX`Co z6#2WwBzZh#9Xes!aA6OCuNDh>kyZT8%wH7Ok6Rf=A@)}Vnf>K@3 zB3fyRLRAM<$pFo$hlc4>H}Le9Jx%kX`l1F^x4#R(i%}!1L8W(R{5_jYbm-8OeJ1r_ zO!VBX-b5c~eL8ONo5D)2skhXe1wu`Wy6>WFle+G6$CX{uyjHh=*d`tQEZgLNS>E0J z3A`dvoGvSUiYlr7w_))peJZ+luse$G+u5z5`wrYu+X``SrMN8s*Aadv;~40^%f-3P z!-*mMlZ+Eb_oo!PwNljOzO!&|oP?2ICabos;~kRz`w7`zgMmH#>VUnL)wroYI{^16 z=EhCC^`?-}T_{TGRDHHvXKE=`^xDSQqYmx{AlKXe=u z$J+ruY208L&iRS5JyoasIA1}=)tZbW-*a8QN8&aq_aPb0exer3f@eu87G0j9twqI;r95|KoXDf?Fw!iBf`MX2#ekkn@Cak5k?s2L~jKc7^1DRNo5Mq1}wfCv~?ZUArjz-!!;R#G)Aoip%r>^~13c!J{79*{*I znvK)EdJs_x;|HGfQL^NzLSa&I`@#^Qd<3S6yTkD;Oy}CXVU3QgTX1Y^g-M#8;w;3R zixgpscFy;4E2(As`V&B=3B8mkp8}+ky}16>oehB2HZ4)!PB6SjuUk$Zisz~^-ejgp z&k;-$Z%-TLpCNkTBE5ximWziMRs~**z~i|^T=oSWh^5$Gz6>y_C=B}$XhL>B zX#-&UGb%UYeZAoRJq-Tt8!`LIs5K@@$IJd(FfxDX9BD;h{~qh=Z{a&7LidQD3UA8& zXR7Km!>a22*Sb}e!s3A|x3YWXHo@_9zkU=m0Z9*`q*FufdX5Dh*H}h@&BIt=9sA@@ z{kFQ;Uu!=VTx$>f9_w?XeIy9KGJxD6KupA2DO7egVfiK5lcm#`nz|&1AL;9T;fggM z>Kj~L5+XzPeJytLZjDx$1M5=Str7b&-X^kqh1!lxWEQf?!^SvANzxAtV`_50h19M}nbS)ISXwt{N644MNmmtJ=@P59ibLYtR z;W!(D`uPy98&s$^$09wf0_CT#^R9o;qq{J)4qgvKYqWgD_592mwxt$LTnmY|RuwxQ zWE|m^JZb>Dc3rN&$*sF8>gD1K>1Iou+Fqi3)AjCfcu4uX=tku;(mJbIwGQ)KIMUni z(P>?3Xqo6Pkeg&53V>3)6_)GKT_43dWFJN-;Js3!OE5GWpsq4mNCl?`N#ZD#R&*NM zVZhbwtLdKKz^`d1e97RiX>dBV*(3jrIp!a27u+t!1^X(jk2v_y z?%p5{_pGsi4JAt*f0nxQEKM)6+;h{gZw*qZ3{u_(ak56!uHDTERLvRkoYo+Ydfv>7 zO2_y8hUiht;^sqI5zmny`=b2M+`E))I-ntHF9uON7oiEP=V`Uj{|Ef^(XZuf#^ICq zVxly+oQik0vi4>i-rAL-t~lr8d*lsjF;TW}bf5N(=2d44O_mb+VYn7Rn?ZQ(8=qf8 ze}}|3yl{vuOl-z$_MN!c&XaB#{DKF6o9I`HuRZ#7hGB zb+#&W_wsp9d|7)-gt|~pRnGNe)cmkJm&nP8cP??QHVEHobiVdJK*yI7DbbJe9@P>n zq4k{{p*>38L(&2WY|BF)`mvVnKZPzvU{KB>^>8i6O2>@8jmBc#+s{;-s}W+rFmM8- z`>fC#ZI#}8x~rc}ZP`HgY-Wz*%IKFidf-4eU#tGh*HjeFu4St{ZJW zdKdZmIO$Z*$6W8i@t+j&>WD&bSkX5y8fleFB4nWr;r2p}pH&$VX*nX@I5LuAA3rLr zWuwA639;zD(;?j8%z7~tTQO*NFhM8pe5Hnw@ujF{`x_Wzg`mgp2L3PT*^5WT{|TcJ z>xrX5dLJUaR+rlvY$}SE?c+wp?9x$TtwgNf?iC}>hjBHt1S9&@^F^$dVq=Fr%j5t( z+`p)NP#5ncsnYwPyryG2v!+3iQiZwY3s9PIoYxgfiea}Hc%fa7`IEttk}YU4B1nc2 z4cZD{lBB0BAEDcIFN*f^XZ)_^FXZN~8~r!mU#cJUa{ZuJ>Ic1wL6>ma!7SlbE`-@f zqtHe|ICf76ixA=RVF*e`!o@gdj~MUWQzD1&3E`+ZX;^DrjQ1eMj$s&aZ-U?=9x2)| z+tr#+ZMZt!Y#xm&AQYy~l7`#(nyo{v$lqNHSx{b};jnr=R@O#?bigCha!BJ5+TXg4 z=5>c@V&ume0Pct39wPEM4QB&0ftG!v?%L0l?T?`QVs_tzwVCPDY%R|gce8YU^F^3I z%!pK_gExqK;14G7(t{G;Bt8;v5?>BK_#PEaboyWB&nx`FIwjkefNa z2u4D8a#TE1u|J{no0KA|&QbBq#oLUgIG^M=c*bJy2*-(W96W=`54g}RUqsU(2@2Zs zC3Gj5W?w>l$xq{CQLL}Mxc4D`N=36Jcv~G^TIE*kSLrDOrRT-`!FCQ>Qm6cUN$R0J zQvrD4k5z!3FS&qmObNdYs<8IdAOMXnpiuytTtJfmm@dE+fV2xp3qZyNWCS4V0;lMfiJM=wayyp3g~C!QccD9n2sp1k%$*1C+~Ll>?dxHxwpiKui7-Ijd21LD-FaIW z;OL2Lp6JAi?@fuKgce4C)a&dm&>G?%vl+@STbMd4NMSzoZ3niUzuH zs*=!>T0k&0aZ*q~T9q{1uuK%y7NP-$TcF7O+(+@nmKnN=h2z-}{Tw?_WL5)hcFT9_GCF)t88>$0}ckYQ0EZ z=zLpey^c~OZ)(mRI=?E&zB|!pm*rrB)f1T8C*g9M{y&a^~=EoKXZQi2#E z(`sfRw6$^@C76Q*bLRhJ?>hjasIpy6w(tC2t!F2$OIA+LJ0)YfIvt{q1Pk~ z5J)nZLI;B&q991GN*6>_tRSec_5y-+t=Q02*RE?r|+a#E3W#fSSjsP!#sL&4}@LVtnIC4^q+w;(JIOD`8xNxl(2y64Vcqm&r+PXHI~y6*ZD>lg|V)5 z4+^+$)amruVI%dpHyTf{Pq1%rkc#gWAq(?C8#0l3`I;$6wuP@Dk~~gW@PQnI0uvHz z7i3iJrU0XPMOi1bM=$Wn)V2{+1I#eEpcY{4avHL8TZs*7oDv#q((B}{+Rb3pYU7p3*DK>w@30o+8ye&n z8ynaROx$m?tsT~;*>co@N#hsb>rop&s13}F0PilRL~Y!Q(aZ3!cccso2n`B^2E!B% z+-!@+B7&Bq3Qn7V0FNR9p@=|`Hf%6tZ*<;{o<1FaJex?7cX(koW;AR%6nUmMI`6`b zYb7k!$b&(_kSZWp%g&>myWPr((lfXhQ-uVE*lNJ^>|vxyve3X#+a}z%jie+|t|Vms zHly=?R0|6Xv;D~Qq$CRu47Y8@q!B!+tGfF{(nA2TKu*7?);zGeZHuBOC0RsZgl#J( zZBWtMMA8RQEiy3Dy;PF52yEdh6@95t;Zu>Pwp_}O(>7sgJpci%-df}iKj(U1ET3|I&1yklD4ePksy^{E?I{d}d z-aHtt>_o3s&!na1JhtR54s)LJ*rJV6X^Zx7V_UT8JUY%x4x1lEed4*tN?BcWj}?0O zMPB>XDt(iTcld%bov>pXloDF#)Gx>VC_`#u2q?i>&g87b9-CGC)77K%w*o| z?FD|3a|;@WimpGtJJM`gQP$-HW5+jmE(Uv;Y;gV^L$H*1SG~Gke_5I`zYRY%Y0J-q z+6j}f^5KZ4K-h?S)sNQtIa=%IcRczzhWGP>7wG30t)F8W>*sea)z3!lyv0jDv(ev0 zOZOt#+8F6ww2al0x8?FEu7SU8#jh-WW5jQJ_uqc>guwzEc9HWLY@>%HSJA$S#GesP zqifpk{#lq3nt+G6cC?jZR65fa|6)Hkf|1Az+T(NA23+B2Yeav)Anl8K?vOw}Vakm& z@H)F}3{`B=44;ouF&W(~if<&P#ZvPDeO&cX0-4R*M33Z$DLllFvH0!CZu}W`e)ktY z>5*yc6^^k&s=`6BNU{5<1H(qpsfs1mLg8O&Ub}BX@&sO?Ms=X=X1r*u4h*&3f&uNl zS-6kb{lfc*bSJ?j_Yuj}X>=cv+K%^z_0XOVkyn)6IE&{R+uZ2262r3BW`%l-?hobf zXoU3d!I``D{Q2{J>S$!}vFtjV>U!r_>;=Xq&MTCLrelK<;_IuoYb;}TS0w(90m7cuoDIMVX(94dwgDSDXz10|EXQ| zeEvF2GuyeCq0L06A-2|N!m|9E(Td(>E8I7Tr9A{=Aion>o{QXe6U_7Zm}UKpea=L9 z+{$QlooQL#GKp)s5v-sb0JjOnPP(11m$I`X&g(Wb*7zKJcU7!&^E#?{J$5VJ??~YV z9q=%*1UKq?gvgqP68)RkIH+~?Q&_?4aPv!-k4O1)C|~L!pMdgHD8JrAUX1dWP=14l zyaeTcNBJ@jc`3@@MEPuhr9yi3Yy4z4|yfZy->cv zL+(VmH_A79$fu*c8Ok?#$ge_q5Xv`u$g5BuhVm^Q@@kYvq8uDTwfoPKW)xt~gG>!= z0>n9{h9&{x!KQ{50peU!LxTWuo~fZdfOv?hp*es!-_+0=KwMyIXbd1OG&QsZ5Eq#m zngWQ2ni^UHh=-XP8Ul!in;O~yh)0+jngNJMni^UGh)03ngEE$ zni^UFh{u^48UTpLn;MQkh$oobhhLtHV!B3wYe)*cQ-rS{fvlM{7Z(m%J&2)E#QC|~ zNvxL;|7LvJ=x#ftzf{xL4T$uYlKu&!yHSz;^_sqJS)_kG>7O>bTN~-$py}%-NBTFA z{>w&pGbH_Gn!av}q`!>xUo*PfC+RQO^mQX8{pF95fAb+ab@6{LUG=x*wyzf#lJ?Va>jlK#g=_c=iNH);C%L?Hc}NdGgV`{W?~Rhqs& zLr8xW>3?N(pEabvTGQ934(YEZ{qKzK(~0!gX!`n`BKFcwQ^w*I-^H`rrf4!!!PfyZcPx`9Ix=s2UG<|*ElKuwLH+ih*q`y(q z*C#aTZzO#mk9D5(H);C%Oeg(Kr0?&s{*(S@O4*Dj3Y<84@q4^{ zATm%6RGbq{_#B)P*SA580|Id!O!go@qik{}X?``{huz=LtEwY7edLyrG}hP8%j}{a zugeSzQvJLFRC*NKO@)QgqgLV><_I?Z2G@J%)~{z_+B+riy$8L~M^v4OCfagHQ0!*e z=$wL8_fg{7KzK4%wz)hPT~7Qu1OBSc+Z6hE+L@te`g_aHUZ~&A%0hzb_)j#KsS1p!_Q80n3wjDe7r$>&V`*ZK{Yx-M&es;bl+|tmR9F_{x~(2^&c$m z6~FE}e*X}*BM@R!ag6L8{8W2%7_Y;E4IU4^`KkJoZ=JPLL&XIv_tPp9-r0$FK!^I6 z+_unsOm16lKH9mK`{jvX_sbKCiC>-YQ}F>0!#P*z_o%WmRXdG2?F!i=}O4Ja93OIRx6 zK&Tjl^){!u)?U5M$s66< z+)1<9YP8Lr>$f=+8v7PCwi9pcofmFwynAEyy}IVi zo~5;(GiF28eUKzStfN9N z(Y6>-^adBH7!KV;VWX@X@WmcR?Ox+JJr9eY+8`5@iCi$HpNek-p>6YcZFe(XY=$Oi z0tyV171`O-gge@JfDlu?fwX<2(hexCgwaswVisQ!Fr?B&wlHnq4);Sd@EE3`m!AR$ z1fw(U!f79kdTt985UhZ&8n`Pqfc%Mt{z}Dc!1Y(La#UrwpXJl^^ z?Vg5-8^!&Mwsu?+T2DgH=it4iSyZ-m+-@E0t%l*Vf@qE49!$c6wvU$@W;>3Tg?!J1 zoC)xe6%%<1-0aayFn847QwYb006Y%F$ha4$?|xDU%e)G7`gxR@7wjz?10`n}mX+>h z@1n|H&ScFAss9YQ9Up#5fXSP_Nt?W}zCh>c^g=acdL74%;dR9N;I}*b>-U{Nt-8=Y z7EHpfCi*-~8>r1x;k$Gaz6<^;&b!EW@jcTDOEh|x2wsRnbM-B)YrE0@sY^>3|%|@2k!`0^0OO@pdZ7#q3yxVqg z!Y-9h)qg0T>iAb#eu7SB6UO!in=^)flT;lRpsaTnZdavp?P?x&i5GhVO4S>4kB`RItZ zgEi-{Yt0D?Qe{P)L1|T@7gcC=nlOO{X>IG$pl$w86@DMdj7u1S+xMyTzKUy*AFQaV zbLQpRQ+W6#^P2S^%xm_)o0oR9o7+Y63%ZD_qg*LgQSB2@q4M<|!rRvESX!sr6Tncfz05*yd(=@>YURUd=V z?8Iln8=i^bC*D-1y~{9%bz7vJU$tf(2eIDR7xk{)Vv8?&?KUdBu7l^@2;GtP3zoye zs(ysJkT(?*<}R^u$)oaI)Qt=BGjh4UGZ5C1N9j(56SqD8tpvF5*>Q$Q;HB8=O!QSC zuH?jB&W=@$$2xN_7MXX^e23Iay3jo-ZcTQ)q47vwZ)d^9(&N@6eT)Yq%{($jZ@II` zJ-R{m&Y|@x?h)<8ZA5&~pwVWbFFpKXoigHLks~h_IqG7OxYvgd@MsOj$e7T2T{h;T z12XoavEwcpJN}}v6S!v_X4~wsDD>cq!turyg#|o1E|h0NPXS^8zvF|GrrtAvn=du@ za^ci53QMoP2QRDkRQcCc4$ ztBXp6NUnNWlR0nk(0!|6@=qIzek^Su`o5u-yrqFCaAE_Ibz;NX`DiJf+dOn*8s?bP zP&A;SXoM~T15M!u`nQXGf2g@;gQOfo-x{JrU)X#U)VD?Y)=-SBgxZc`8L6PX)kH6! z>aEgid3veZy%t{dd?4-}sQl9;_GoSUqjHP3{b4bNYP$!{z9#JiY%MmTFJJO1RlEa4 zrT0_Vy;Sp|XMsTb-m+|TID-1ku)aqob7#fk2yqn;cE z*}vdL9o&bn9(`5u&3480OtS3+*1-83c`$vn$;*TEp48CaBuXgH?MvH8vhxkvBSMDX zmcF5}EN~->a=`CibX?Miilk}WkDG(Jo*Gn9O-5?L{6p61oY9hqfsRwPgwFuRc~^bB zMSHpr$0Uu9$zvBD6RSQZX`*${n#5=}-Kpw+s-gNZC^8?{;>%LPd6FV* zgX_a``wZ^#=$nPJwz?UM;(W>rpA+I!rVp=9D7s{n)_D^5R_fDAPE|#oi_LK=*n^Lo zs0xhl9pP_|q}QPqyW3)n3zQYNo_`p-%1FJdeM>jx^3#!T@fuXf=zPkA_yj-3Q~Cc! zKF+62_^lW?6FAMeD<75SStI#`%MCK(#{-@lPmAxg8T>oz@T7_FNT_%o@(5->4=?25 z=?)D6=AZRP^QX*@LuhEIw#LSL*p6m0?_SbmFm0ducK0mWT_-J*HaEL(_KHmO&0d%7 z!5q!tbM*1cSvNEEb@NfaZf0C)-Au>3(jGTy?>4k(_k`kaF7@LfJfRZn4Qj+$aOX1- zcRo9EiBo3ul0+i3KG zywPJDYjgv@;9+`$7B=`@-r$FohCV8_d9@6S=hBrnU;7d#NN{yDR{3q$cpEviI?Bw?C7sb8<1?0z&x?(X54Jy3 zpO2^+m*CzQ8lP73Tx=%3uajzds}aBb$!!7!)ZJq}{GgPSM*BDVQvI7Qs|Fjk1A2Iz zs@>nKu(j}8NPQM$#`n0mKY1JKi!&vFj*{+oHna@pT@xsqy=*rd`NLjz-vG6$r`~N| zrm*VvkfY^HH)C9)`_rbrCf?3VKW@s~5X}0IX5AR$&k3*lgY{Kxx42h$%73)NdcOy= z0b_Wb!A!<;GkK}e1Fg6Fdx{hr85pIAv&nPEHQ04T36&|VWSnLtH>EIO?ec_J7x1Tw?(V)HMCB`-!KhV-a8{65xr%tNv9=%fU|G`S>;}_17b9udB z{EGSby?nv(a~*e!bw7y)GHibFh5RJfdRM~NyHarkrQcg*TX(XAiD(Idct3qt;MK?Q zCcTMtQaI5=&!Oujquyhv=O8@?A9OrkY=v@%(lHs!#OwO4LW0z{p*hSjFf<|FFp!?3 z@HTpd8U{LF!u~OZCWN}1pxG-_HPQ1A22&A!124x{wspZ{%ma9gNof2oBz#R@m30Sy zIiFekkdXVp?RpNbSHs-fU}_cO`*s~RAv7Vzz#HIE zV-;G%p9+D1^9%-@kKpSOeb40hTt?;byDC+^sPbxH3 zjvrLDiyl7;bbFnG1=)I;>28a;ld(Xlqg;Iqw>T%0vElo{@cl8vX`Ci&yABv|9#`;v zfXxGC+usy=Q?cz)g}xhO^rCqP5s#tMe&&o{p!{3t1pPIhBK_n1jcrsAuVV;{N#XC| z#B);gJ4ev*p)cg7@EwuKV&n7)v2hCiJhpGd~w9ukRj>+M&Bg=o8_&wT*m4m!|NX z<#{Nw-A1kvxVu$Lc4*5docYY1Dn?eGizQa4K!Nk8iv6K}wCEsHoT+B*eiFQwqL|K2 z2U7=T;t0@jT65ABaM1DiY~j`MGTQbV=?g?YrmFk&(l5^s4`&_IH9uUT=i5d~^~&}* zj=-Ya-z;8j_Wln2flR81`!Vi*?xXv7Rb}qf`-9pyvXS=bw{=lIff5+>?Rt~u=^5as zl48H`ca5W>5XSZ9BNLe%q4twmqP?EqIsSHnjL$4~wth7XSB)>_LyvZ61~5 zvJ`uSFquI9>+EBucQ{U^b*Y~5g>s4Qfb05cxwc?cc+8i)yhi6s?xp6-I5?LNvjt-v z4D+2dWeUWUnO=X&6ztNc4E1+kea=j8FlXpYQl5)B(&L))Jk+tR(I?RySH~*i9xLwK z&9CAI`f8jtagg~{+FFePT&Awl58}h{AbtoB;#X1kA>y2@)aE3e*YP=7DduDmRjkru zP8!)HDEobC3l%>XOBc5qd}h+_!tp+nX%VN2bR=y2>NPk6RkuRxcACPB+Q$doj)I~5 z`$@DIwr0J?x{iTXEB_Y90@*f+>@1(EiX9hXTL-NS<(te?8^(uGd`x3ep(3i$T-RSB z*Yy|9l}F8K7-ie)%Cw}B=+#EXzn|Snv!4b!{OyXi4Z5{F?y{Ek4b^c!s!*T28;#-~ zI@dbnO5j?DrfciaCVd_HYS({w9dec1U>zFT*g7=5-a2%zz7Dn7eW5k>qHWuvw{6_+ zE39qz>1|u#(Ki0=%~6e%@$_!34BRODRA<`rwJyuyYYw!3GcROHu#bCFWBD^B+Dp@0 z@EQEuZny6Wn#3a$KH}?MmOY-1Zup*hj_w5x$?jds`?C|f?tb2%&?z?E?9)b~ve|n0o7SsF;CkU568zKDOp&vG3c0pN`dd99t$%bX`;8 z$BK?!6k8iySvT{2P5!bu9J>n88;$pn^QU&?xofB*YiaOZE2+or+x1fBW4*l8`B*V8c|O*}i|UG= zu-9+KJG3K<#j}0$AfK`1udf4TgRM+6^}c&troNuqya5j(M(0;(Y1G_xm)qP0doI}A zaJ+wy+S-MsRlC}nkl@+YaoE;7MO)YNwr=2UT}N$Q?`rE^*w&-Gtx)?~Zj-NH&?ejH zHi@cnCMBk!1=V`&voIDI$ZcpG?z2qc`z$lCn?mQ$!~=6leYu~?BN*TF!1s`kr!`>) zE&HhB<}&lGrBELp0VhY~J%{?5jDhG&?{(kH+P+8M%QDkKi09q1Eriw@@)s)2_~NBA ziS_od^ttSPVZS@TsGUQ$WJ4XBR&CX0reDukhR3%?`wQmUkXv0B zu?@DVbatv3Y}3%(^({``8GN79hx?;ullJ<$JKPPT>Q>ho)dicS?+tWgJ*M;Zd$T-u zrdWE(WQkR;Hq*^WD5+j0md6_5QqSU3>x~QVW!Uw(HH*Al#omnPMe98VXqHv*SvJdK zoo>;B&#@92pV<yBXNV&#K)#EPRiJ9kCk91Ko8uis?@w}XojfZ-b z)~na0%vn2;s#h;z#&_!O-2-~@9iNrw;$Ygt-3N@zsyA@sbQ{R^!bIzYi7wzK`sPK> zX`Q-_qH^3&#a_TW24@0wP&e*`%%NE^Tg1$EiRon#@hU2o>MyK#1{uI6k_9ukkJ{u@>UuZgWRyKf!T@os+WLf6Dxdu6C8_R6qk zbnaiLUV5*L3cTpKez9KB-$Kz|TAFA-2szd!ql}9pu9WfbwL$c?!)Od`u z2g`Fwl^EqR*X1d0&F4+V#JCZ38%@Zq zWV%bZ59%)C1M&jS*Lo2&IL{~zBWR!wGJd}xkGPq#zriE>TS$4Co_&yb286#0j_bI3 z*R5grrnH^7?P9cD=f(7QsaN1m`*z&xyT34~ zxwF#IyUlDzb(=n^z7}6guhwyKzLw4%f9IdC#oE!DmYLTnH>=3nrBl2$v$&?%I;6@u zqYOsCI>}jOEzHj;t8r)}U`^~af)Wj{Dyyk+R9Z`BTML{ej;b1KVOhoWYS6G%5${`4 zUR*k@w79ya9J+W?O{Y?4MF&hu$qO9ij^b*^L~D)HS~JCAole7No#?D6E~~U#YpWgB z;u`C07#gc{W~H^Nta@5&O!zzhI{RAU;&_K;I!kLS9F;X$g>iu zyjFOsu+i+wnuO$DoprI6O_ig##?jANRZ(2yRxJ;)P|dDRtF3WnSC&>$8;eWI9jTLw z%c~u|IyV-jr^k?fj-BDdLxVWa&)k7``Szc#P)4PZzUX~FiT!s;%rCyd5 zCU&`m6*d{*|B?Y#I3||WR$PH*=vJ{NWBhX%qptM3tq}&g{E~*){W9z@`EtxK(+LiW z;}UkrtMn%|K|S;T85{h=3u1Ly;U;|jAyyb&G%1W;|OVsPtWQl(cOZ?-DVoBMhPni=h#|$sW3e%m=az}CHC9IID z^e45zzrv}?e{i9j?WnGFUTO9vD%E6RSAd26@dd2hIk~L#GQ7I~VhgqMr$4EU z{gqBTwaow9_wYF;JE|^y%fRJW;pJ_BWLMTCCtdnJK3=WMwL`5Vn#}Oexer(Btc4-J z;_OhbR+An6DeUl%AC-$?;L5atyVA_DUgesM@_)oA!MrMK%4#ls@%I1vFs;|C$rS%b zOtBo=f2ElruTzr={*RboN!jGfdgkN*)(Ev)HJRc6j2TuIS6#*-`7*4qOF~k&r0$8y zNtbogJ?`U-9(zf1;-J0yS$!;4tldmYA?6^`5 zS5&Uaa+@r-q2*3?RALcVs_p94YqH)Z>uqSg&T@ydWU8a|GPVu=|Jbiv1)D6m$$}d_ zXM;Ll#ud`!KWxC<0EZM;K`GF#>ePzjS=Ms00L?nxA}?U|g*8=WxGj6B^E_;nZEpPh z4o!ytU)nuusD5#?zk)U@D*uvJU)f~#O=f@b7h6?a`dN)XmC0j^n#}#LY3~1-i^?^Q zS(o9Q|CwxFYgLooH`)CK+#6@jWo!oinQR_g)MW2X_TIR?|Mk}RruDta-Y>Gg|Md*M zvdQ9`EdC;IAQd+BS2B6trY4(jviZhs{;#(|*|a&?WbYU8YMKnb$>9H&41OXQ1b&+7 zk~V)?CVyGa>H~KaQIQvaVWD2LE5mI6YA=QO6JJB34>F;BTzOXOR<$Ox{cD-+e_)Rg z?5Db>xMKR1XSZ%uYqHxWyKU$sTzMwjw8}PF>xEX?E6-Y+T-hdTZOmG0E6c8`b?~=M zOe(vK*97&roJYSe>#HvPYs)5H!fG4VuE~P`KRpG0#h#5#CNsK{td`fP$x{DfmU>x> zEwBb3ot91*)6(+_itK3_McH||_O#4Qds@GutO9#lP7eH|P;Oez$WdAF3vq?;e}+A+ zs3G(0N{en;9fAVpec7XA_x*)s-Y zWel=sP9gEG(>X$Y&rwD(u3JTKFbFxG*D-!}aSw+a9VVPOfu*~ej zB4`-s=h-t0@`l*6P@0tkIb}gFfM(hd2#(0e8d8KmIYSGxhoJz{6~fPu9H_UwUs`sK z9r^_SWo7pVK|$VNd%vO3v;A}O((U~V@`etv4@eu9o!j4@-Ommx*n!!D2WMqwW9uM~ z?A*+(5geha*}2(8*)TFAA(RV4lbu_b1%n4aMOkSW4dYdqm4T9?JbQK_{GW@(4TNE` z56T*8&&ldnWY5VSlm&pjJvglh8kU<@G_)Ws$DW%9{}KBOS6|KK$E$sU|mFw&ksGz$>M5BjVi3xoyn z5Q6=oqu_@(u>eLPjdXL<2ICK8nt{Jy1ZWNg+5HCqg3Y9-f$ZOC$xW9 zTE@_!gW)G}*+l~gpf99P!g}?YRZ(u8!M{`AyG=r; z_%>EYWvO#wS>@#3ZE9;K#dU9E?UQP;^lBX!XX*TVKP8V}uTRU&>y(>SWbM)^-ij05 zsvSqHlblu7!hBpdtiyOstcjgQV4C4oWi>U9N^8k%Yk{-GQB`9tEUTDa4GOj@;(bfX zi%X}K7FXAlJF1`6G{8!*8cfi6v(OToQ)=Y6&r`ML0mz7#4IxC9HD(%+V zYKOJB#yZ3-*5XG>fhc2xak3s<(mj+$a@GaMDm9i=tU!s=B0 zuqh;T&}~GKj-~E8JYjBa1$02(qyh(C`xkk}_v+lJ+%rkG?gkDiuB!1!RX>WB_*Uh0x8Vj_k@wbR376zev02c=Z=(3)IC?HN!D+xU*{FU!gr2pj7Uh{BJcS;deD9 z;lJJ#@}>W+mL&bImL&bRTasNl(J|}an=ZevC5ithE%_Y-)Ah<6m?HH5{|e(Wtjsa< z-)cwVmD`TL&b)_{cSqUe%0Z6Ve+3&Wsw$g2864IBLQ^U)(w6#h7j8_$b7u?Vf8WEu z^ugZ?HUs|I;Ge(vCoz@eb@1hoXiT?&6!XTtBofTf%VEX~Z!1ip~}hA&;Xbk2U)@6zya_}#@o z4}MebH3fw8-=)aAF)zq?&i=Xg(&+EsJ9EFsAGEu0V7dft#6KTweNw0RPKoh}2|Z9^ zVC8^GBPG^$0b|?Y_rCWTYs+uVt458YUNYOg4`f3N*^g&s>an){hh}HOujxaXl}`bl zUhXUreI-Mu4nO}uA9E`pKSw9BP)4Qu0DK6)8=$lAGBb7~^l}>TXB5VQAyFj6Ls0)W z2{?`mBxiB(F9`Ti32V&bvAh!^EHN%e{Uj0g6>`Qb;@8Ly`0w#IvIhvCCOk#>CZL6# z_x}vS<^T)_2Vgil0AmLRbPlkv;Ut+vu{9K40dgbTNwIf=#KImTe1>Ab33vtMED*zi zftXL*KujAKh&nw8^C)&+;MhPvwk>d3ppiWrcnI*-K+O3p;Ws217lb)X3&I>84|*5E z0l_HQ61+0l$c|9h7J_(;@C(8<;h4jK=+tNo`Yz;lG8s|s zj%XpA+8yimDdDR#NYr0>$guZ)lKYz9c%RO)ab?&@lEQF8Tk9d;sw!(qoe0I&4P>ta!rXau-;qG( z_ZWuTJ+{aH5Y;D;^?VF<@(CvsUPHK+a5v#e!p{lW3o|{1IRrn2;r35q zDbh2zw&Xp7HZbiOoMj(8gDv{y8O$N**+YSWEb&>a+bF^XgewW}A$*7MJHi&vA$EBV zTQU1N%z4Rkw3a@H<8|seSl1OkY6T}yzWBtH6Gpb3@bn2R@v9R!M)FCNSWlv)4~1{0 z@M9-2)u$&>hdqxN^E{4nx94$o-}F4L28W-=I-GhQThZYZ>gN&;Bdj=ucCwPfcMyJm z3TIr))0kVz={^3TY~kq{r$gCl!rK9%$6iQ{4rIyg(FRVwbN@TA>b`^dNbh2;oP=}U z?Hu68BHqK*BQ|weAk&X5cwChvf7Y6%z%fT-xx{2VGJ%>Cm>I$bwh)e;3xW9pGlLJ| z&sG8pX02Fn@d`ve+^S*+ELzkKHWo0NsayF(_vz9oSz176NRS zBmw(`*f3xicb?cf5f>yO+a=;U5IZDTZ(^?q&0Jz{67y%p5|;jnVCBG?v(MPw#O45N z&3J~9l;`r{U}%~V!jGzZHcuJtUa-0!D5LG60Ea=rI!enNNl!X-H5Ff zEQQ$Jg7qQxgkTxO&Is0@*!O}BQm`kyRqTo7QXaA9#8yiA#A1o9k_stZ9~FCIqcoJ_ z@+fYrVB?8xmxd8@65AmSSI`C*sAz*br4hu|3N}{3QMp~kG1@5=6MICkX~bR`yX6{nA&kzql*=Q)6c|m}3rjd5ZzfHDFSMRh@)lyz zf^8$#U9ermas=C}qD_nKkzr4_Lo zhy^R%4Osd1koaTu^JFOp`gveba9;`_iHtgEt)%KH)638{y&jnY}n zDeSb=Q`uv{ac^nHbiI`W#A1o%D954JFmK@;$_(sDVugY|3!1@flF)qKV1RU2o3VWb z%1hMt>&)2p;mXUTxq&oC0E5b~gAf-2>{Wv=Xg*1rlY!MqDtnPMtAL^AM^xSt<&Y8C zzXUr<%xK~47_nf%9y7uc&Dsj~6tP&ro+Fkd*ePOt1bd0tAi@4ltVpmoiH#EM9b(0T zeL$>CuzwJ93ieN8HG+LfY@T4>5?dtL55$%Uc8=I;!Oj!gD461fY`b7y#P$p3P3*8> z&4?WrEQr{1f`t)#S+GcA?+Vt+3rFQk3y#VXr7f}Fh}|rhw>Prwg0&*HL$L0|_9*R$ zpu%%DDu|*##d6drJgK-}zg z?C->U)mw>uN-R`8>V@<6dt%}0W5mq9w9cz9P_5heVy)Y&?|b3A?M89!)t`xF3Z|Hl z86Vn8XGT|yU%NJ*HSM_QWmbVPzevx~sTZwH2rYgPEBgF0kc2@4A zK2GdKU?wG9eV*7SzJ7i_N~ZcAu?~KIe*Q{7^&=DZS-Kzg*#PyQ#KsZJ6>J`{0>Re% z;i@=Pu)78O(u8e)#t+**RQ;CN8-o2n>~q1+5wkSoOf_TMn>WMO4poE9=oxnsEZB^m zaR#x`YLpr6Wi+q>$~d(>vDw5XsCHr-NV7yuAa*;k$!ZF*Cy7l}Gl;zgEK{jehfoP0 z5vx_FP~6YJCMq-3N@D*0$Y!gvsAe(#n9J4bVv6evY`U^gT}5mHvBm0oVs)f>t-9Ha z=L%gP!STCMJz&P2tY06&8Mj)n8OPk&6Q?wW<9_>lm`-DF5L>6-X_lB8GzcbITfoA) zl|eHBHxuqAyqoYSV1C_mLDvJm2bziOv!D|!f&B#GBo+~T8p7>@Uja-Hehn}OFn|pU zeiOozg9ic50SsWfgWrL(mi@tJ0iO!~1n?D-tD)~m0jzcC7l7%Z=K!6dMmd1pLKqN+ zv7N#O$_eb#umy5q-M_*XfqYOaEM*GeLc*((+GzVP9mJiA+d;E2uBjmBHT#0jWCV+WIu$p zkvbZ?&j(sZ_%Ff$J7O$hHem(fD#F_dpCo*r@H}DbxP3lap1tE<21x;71>tpsy9gg8 z{Fu1*q3kwVL9OgYYv#IRP<}us2}=;Z(xw2zL@bK==~j7lhtjy7+2! zZr^1gNO}+sBAh^Y6`-cGxXZO5Sx>m1@KM573BMrpPDHd4_9PracopFa!rK6~8T~}! z3ST~F6PYOqS70k)T+(rncS*uEBqiwy(9edj!bXy0S`w}pE0Uf8ooz|aV{S<=0X|D< zUr%~l4+Gb1bS+0txevwMz%@S>hc79(5Ha}tC%_B_FiY*)`p2tU|!7T}XT zuK|3q=M8}G_goG5S30o4{3HuTj5|;MCBSjVAHH7O4 z_YxifEUbHp!v7*P^+k;A`;8&LE`hKg;b_3Zx@i=iPq>b7FX01(&l0{(_&uSThN;5R zFweL&tWPT8V3JHAoJF`c4Uf6I(xwIkuzS+*2>T@A8N%-Q+1hi$|88RG+T4gK^Q0V9k zW1Vqh0Jn1(@eCa6ei>*RLo)D)R!kCp481C26_m0tV=CZHB;P@}KLg7;l7aT~65+cf z`JBSP5?V4bx0Zx_zI4dk1o@24+yl5N^KQVmGam*F$$AEGaMmk;E3@7MJel=5;G0?B z0DhkJ1EAFJ7r=miQlP|I_cH><_wxpPs$WQ;=dm?5|MOs2=Lx$3#;}xp1K4e5{vz4P z2IjX8A3)S+Ump?QV)<8l(Kuz-oN_7)S z*5|(lskY{SV~AmQfV?gHSN`fyg`LaCUh*nfBx@rZRInpd3s)4p6Bd?jXFE@KM6kg!A$d-=y$|gkKW=O6WZbF_O?m zm_)dUQuU_ruZf766n?2&FS0|#K_n?497#Blu$-`la3SGx!gYk(0JV1AHmWs9?gZ2% z_l@cdl7|5`$y1}!K=Lf%DL{pN5pq4OLa&aR9VW4NMr{pK=m?^)pGKiv9*t{J^l0>= z6Gx*ZXO5Q5+Hvr2W9;GDYV+(ET1m#lgXC)ppC|Mki`bm7-Po=W+huHT!1S>h;R-7p ziz`g&Sj??v?0|4>wc+a+KhCzDfU`KBP>mSGl3DtM^5(EIPe9GF6S`Zp)_py^y9L{b zC>JA|2m=U13BMnL*n+}s30t&Be3(*oAW3J!ZiHR(5&Kd&o3Maz1mSqXNrYDs&LLb# zcpc$#!Zn1O2)7gNCA^F9Uc$qKPZORY{FLw~LbU`jgs?SX9AR(59KsQV4#FzJs|jx; z+(dXQ;Uk345WYhAA>p@#QYm6H!WM+>340P|5e_GuL|8>QpYSHa-GoO7pCEjN@MFU7 z2<3^0{)8KlYHBGy!rNlZB77@-NbU&sK8@aM2SoJi-7YW}2)M7uFwhJVm5`Ini6QF)H zDc=VY1EDXVk%g4wI`BmZ=&&up`&ue2qWlgh(OQo6i7Cf5p=F}C0tFom2htb_QOHK2MLc?*rOEo zB!%7eQNmY9g`KQO5P8P1A19z6{z--AW9Qd>U7_ub1hDAJ@ljwKmG1?h-#8J%nU#n| zmD2&y>kDAxDp9|h@CL$dg!fgVz1`=;74l)iCkRgxzCrjN;Xeo`4oCdfiKF?8^LmE0 z-R`e2%XAF4o_;&jIc_?x_T8pq-)0dOO~-bPn~r@og|L?7{8-Sc>c&=J4^^(+m7r?u zjn>sER)uw{#$HOReiI~vtNVh){RlD&K4%TeTi0mEi2S;= z8aj_4oJ2T>a2esvHMqmJm%@i3oWLHd!5y~eYh-f*d%Fhb=I1r&y`QhaJtAW*Vh~_q zUE~Zr?}#SsMA(xsYX*9ElV{*r-VHO*CRY<~A>2iHJEH%+Gm_{CHLEquf*ErGpC^2Y z@O8rX2tOqJgzyW(?+MQlN;46g5rz?dJ$!C!BWpPmF=^&3z|@)h0kdbKhwLC+NVtLI z2M8Y`e3|sm&cs^%FcZ)0{AOW4G$-sxm`XU5a5CXM!nK6A6Jj3*u;a5@wh3Tw6aF#_ zdop-7`V6+&814(<1orD3lFvnqpNq8$S%F@CTg%7ojV#vkIbf3I8^Au69{>kgegQ19 zNH!xIWibL4Tf70wEdGE_O9)_%B?54sr4`^JOFO`2mJWccEu8>2S`q=bTe<`8xAX=) zY)J<^Zs`yBoFxbFWlKI_)C#Om4Am!=!ij`ENRqZzQZQMuUCkS6z@d`*jSb^sqU$3Z!e12YmXZ`X@wD#1MCbK&R zu+o(~Z2@fV%Dpyioos&7b2jh_2)`bV*a56RsgVK=@l8;$swk ziSS**FA3FE936E)Q(sp?Dd|$WyE_F(kM8bnX&EVwmJmkgfYIGBLO@!&TS`VtOX;`Y z_s_Yf@4NTD?d{(4c20~o@*vU2aJ%DoiM|-lkpZ&w2{xc7(f!kh7i+!PNxs8|+;O;8 zyab``*h>E_t3Gt67%)B%w_2F5aD_7yIHcHpKQff{q1f(U$n?KCsxo<1PhE9^>34UO z?oP6rs=b^pEIQ2Lc0jT8K+v-IBE%2;JGzDKP$h_NV)4|IyP*|%Oo~8>={7_S@jLHq z2uGd-G6d)S4(X@G3}c2YF@gvm2t`=k6f%iok)x^gNpMMCUfRw48`O$kb@pHe|Bk(s z^r|cD`Smx^CEJN^k)NFz?I;6IGDOQ$!V^sO1!&;~p6$3oa-udyt0W|>4Tb93UiW^Z zIUl+n2osmV6)c|pH~wp-B-7$OqjX&lOt;K~`K&_jG^7W{9)BF7qeEY~w!L&Oyh;zS z63%QS6+ZAZUsJIWb=yF1_u_QfY`r1Fq+RdC|NVP0=!NN4#I68jx*nI`JI7U;whebi zr9E>G-WsxHOu2>MmPfpeZqP|>%h?83{8w|@y~})yFRC(>`01i{x#5E6zU!l=<$m-g z=kCmvQm{3~4ik1SinaQ|0JZD;OLl9gi`9=yMxLmnqLLzm2TL2hI0qva=0{&miYC1eb~XZf7AYv-@1G{m}wa97=J)BuPpVwV^tXFp`phx4!lWse5EZ35R z2t-e!_GgSrT)9y8%noMzVOw%)&KgTNbsE(wtsCL{>;F*{^>4vgBkWli>^j5VIv+}m z+~U?;Tv5Tl<=ES?@rTS?g@{7*T5d(n}0RM3xX>B%QBeUgZNYDMCBs$GDH>Nw|_V7>buSmB+x- zf_xY0cdYkA^ZX)xqkTnQEPs}u#62mWELD(#N>w+B6Hc)Y`}&7`UmKf~SfjqExa^ud z`|?LoyryY@P==HD=%fMDIKx_1N{k-8Dg8_t`s9*I2)kWh_%GQPKP zJp7t=lqA6!lUw$;sA*?}yE3Ds;qBKTy(UVy>dnH+mZpRixzE!dkKI0FtZjMc_6?qSijOAOH1(oTmNd7~UWFe}yxN@a^PFZ?% z^19wx;*sIVR<5JDlDDzt#B82C3j5HZugjDku3rD^`x*HU#S_nn8#@1#Wr{gW8&4bq zb>s=72h(kp)nn{^sn;!6L;Cl3DVr`gMP~FXvD|hA#FX+UUNM~L6W)`V88-?YI;;6Z z$FpM(ymGLTQr-NM;6J>t%6wC;EafYPs!C{IsmriXW zvTA~bL@XGEeDQ%rH;S3M;qvn&cizbjNhe7-D~H)30)0i6R4&jyQhK;w6?MsvG2dps ze2ze#$)nWXa({Ke{mI>rY-xzRhUqu_QlxWcM?VJlYIKItB}pzgWOeC*%<2W*MNlP~ zm)l4J{OL5Khj(BpeguvmxhyyqFr$Wd>}QE{ji=>0wI%4^fRsgny!bn|C9S9KJ=zq> z1IA(v&PK(hVkea<8qH3H~jnXS$u~R8!stDH=zY40{XSn~_~F#FBe5 z3uaX4#w%xMnzp@q|KbTsSdKguC@`nQ7+JWXtySHG;|<7lt>h71uD~5jPLy|4&yI(4)g<0197Ze`$fLVPnscX|HSm!N z6dhEuqkD60(zW zL~!=7NprseMb`l_;>G2rE^tTn7!)aj2L)#d`lbzoH6@T297n6H0?S33d~G)6yC#+S ziua$JvRU5$++^*^d`0^1O(y$~xil;HAG5~S0IB$o`Cd#+&hi3-T?I*nr66apXGc6% zedl$zoc<;qvRB2xUMmE3_MUA7G{EVrCUSwGNl*Dm*2Cx)CX(o_R{Qn3dq7rPkMA1q zvwam(5;Yc!RDQ#AM~W0+2F6(-u3D01$X zV#zOM3Oj1k+VQ?dU~<~$gxyhNA8D-@2%kLDncKHSmy>BMkg}t2MBw8k<6}qt{b_Yy zZ-v1BH8%WGE{snz)P(OEBYK1uDY5E#>Oe}!M*b1Ke(nR@8}?1pa;4zz7x8?H8taLG z%803XFu!^D%xIT`R7*?=!a{m`Bd&^cFg)7vpZq-yJyJe+$?%_LS_ZM{$ZhMIv;Rn$ z0&?k7_Z~UL^;<^@%9+b6g()W(( zHc$7O=wq7xWz1nN)KFZmN0aZG!*MjaN?fkaJMqMF;4LW4XMZ39DYN`*hLj;I8@ybT zQ?)4u9Uq@cLGyVuM@*{Ms z5s17E<~EtnO~1K5TlvQ97Y2VsskFF6BP39>M}T2ajxc^Se_G?oXKXeE`8bRrvd33B#Un`lPchuetYGFDqayo-R)U@R z=>A`piRNwymfnlAFLNWCKvgH2V~U+6?R%|yU311y&-I_$&hu*BpKQ{uq^KV|U4yK8 zCCj?${DT1FiSawQT z9ML4XmUH){th{pCf8mY}JV~&dzg)|fqA>c!V$md-Y6+3#%*qM0lu%lJD3Rm($(3` zcBd`i@ynKE(fw^b1N7~pJBE`7xz{QD^y;{ZiUf&Jzxd^YI}rm+c?fB4GzZ9 zbc}3&z0WzRW)7D|WI&%-mcMxnhu?ebx&^l-c$X5f8@aau(Z?&TFmBry);INF=pWE z4&f};D9Ko*MeNJ2f3VNDvZeEAZ&a)Ij-iCQ5xLQPPtdyc8cM$tV@lF{3h-_vU1r;- znN$k^bk2-<_0dH77N^Zg1{QR$6$dr(1LMuRrg~0h+E$G0i>-iDe*Z zh3gc$7$Sgg1bV!ABgnX++J4Ezzh>bsY&F+Mss8pZXzgFf=CI)KeeU^vsAk>WB$E_Z zB4uR*)4agRL7bd$8s^RGAXLnUgej8*^n#YZ`d(r%CQh6yCSZku{*SU81dQX_CA*CM zIy-YpaK^OKOQ~X@rMT_hTb+cVT?dcfvc_56+yCXBgy|gCjPGf8y|Qd~%!#v6N?@V` z0e!_^J6T37{n`S~11A;&Y=BURwCf?&M8UsEGJapN@BcKZ8R6D6+MDeX)|F3`249_UNBCJ zBRS1U2dgGVs78gIttr%DH!9q|Nzs!S-)GF}(6>-tqaPNJciFm2?DXL-sx2mu; zLVF1?DOm~KSD3()&szOfu0oa}%!?U`(pgl|jjMZA?lfMN9R==G7(|I1`i`6A;uxsj z6hNur>8-~)ew>Z5#y=4YG|X`3C?0m4>uAw_<{lTa2Ky`FHg#1U)}sw`q40-Imk@MP z2oGIisNV&v;TM&@0LddX39dd3xwDpH&j@nUI;|3UC;pwiWL3w5cH*gW(K-X!Yg&S< z2?MO-yq6vB^@!!m{jb??JhRW>AG+7^H{I{yzgPj(MffJ~=AIhjuOkq1>0vI{FEgX$ zEt`UC#NRtPT)U6AA=SO&YvTTnUgohl;WKrKKC8~z;io@Gl#4QS>HLLxaewFEJ{rIH z6xr_Irtr^t^r9iMeezbJw^8rnFjA~LbtWP$%2L)2zsN53_QEw;fCqPng4E1S2v6TlrG!n6+-{9kj^dzCTIS|>hkJu7QcQl;XRZ-=h4{%k@O ze3vqf03EJjNajwIEve zU}(7AVE*FqZr5z;3s%eQ#c&K4C(G+;bpWLeh3Vn_0VLb>?ZBLfRGxD7s|SJTg)X!72JQw{lTbggi3I=(x{oE-mFd0b=m2U08+Sv%ox)Nyf# zd4v4@IF=f~(QiN|%!y3j8WLAe)1_ZA*2XYje;LRr6Uqy1nOMa{>DuB~d*)E`UbyE2 zQiEmxssapiYmFB6XsHGcPu*@)aCSO&GZRHjt;l|eiYMxBt(-_!5&V7fS|6Vh8P|!v zv}WZCSvu*_XY0K~=h>2*&TzSk=lMxuA##=BdbN_-taIf{H_ob8aW5{bgmsT*O#Rmt zz%OeM-K$WJpS-Xi#v(*9a&%dT2}3oOwlIxz=1*SOJ;kiSXyn_BpSGaG+5L=_htl{E z%m@$-uYO0Xi8%OWeDo?9m0sVC5{e=NPBuTOGr+x%1+Uu_pa5C*xNp<+#d;xH&qjR` zxl_#Z0wRg=Kko>RNGY+(GpCK{T)&5@I!Po8@AR^w7X%3XYT4SM5y$`T_G2wL-v0MJ z(6)z$#aG1b#~q!(pJo_;fuh~-4mI0Q%CCKnBIVFK#8`2mH-E%HEV@_g1s*QC+aiFKS>J!;la6V|6R>M;$;5H@>QyAbIrzI)BML-dO z5P;grw_$QC`X)`E87V)gW@<2YhG5+-p4)Jm4kPD7I_aj-V>HKdh~JO9(s=la7)zX9 zLV2W4fv!+A!^=FnrQCiad&#oTK6)y~lB_xly_Pjh?8Pz)$@ z3=eTcK-%e_00@O~SYMFkpvX3^ozlBM9OsWn|MoK@-Z1&nax_s#CseKw()8|00YGeO)^swE)bVL-64s_% ze>OZ-I*&0;0gPRIzVB|U-`pW9uEDr`yJfxlW#n9>#IE*@(c2N3j?agWWW+C8Krx5x zg?&%mWtr{mSc?OHihFGZFoaS9K#8N`JcFRu1vjX=E$#0XcmKrm@-M`z)@$qxclVJ{ zW}rBcJOy&eZhT5p3C_fuQG86DRa=0@mjiYrE3$r>@O3~oJ5|CGQxeG<5)a6%vH^M z{ASVT-ilJqgFC>OcSm#Cit`h9Z>!Om>9S2FhSS?Eu$J2RG1>V2J$UtnNnb%dv%P2F zG>Ca?5pO)Ixy!R5+fvmDwNUs;L6S&DYC4^V|HfaXNT^uI+Y8O$J{KSK9EL6!JH#(=}i$m zsNtvxVEMD6zJLU~2vIFvgrl72nqt3TWOW6dp}<&#dk%JfS|%3|@!tMxt9CyJFwbol zybA#?)ICy!v-UwZ&cQhJEuvSooNI^N%>1NQi+MMifzjPav{g1 zyjwpc5l9)raQ>tXs@1ZE*1327R4Eth8S$^3j+M^kdw9efg^nUQ?OY3DSNkKO0vu|kYLyigIU0 zA?R|HVLhR{CM|EOiyQ~nh9m!*-mZkO$VrLY!sJ=tmv$v~e@-A!i}9o!&Li(6YILT= zV*8pLu;zR7(i#O?*n03{p9mYHQD@r~a3O2JvCcS8JkmqTfo?Z=xVo|UQtK_0D0yl;!W~zw?fpAmoP4mwixpBRF}*olS@s!A zyzQzL&ap>`?R0>FV1vFo^)*;R?_nv$JB>K0#kvJo4lcI9d9IoCWJIW@#Q?vlLgkE* z(=gzP83_I<{#2?3{Exu42P-y@>ueF}z0WLdab;X5s>b4e(RdCf0CdRS<`JkPKETD! zTKT}!fm%Il|IG^zRP9eTL6<5U@fqO*&2ksxPs27xr!X{;bIe=t{Attt7LFgLakD35 zFz(zY>X zP9F`XCmVNt5S`JYO=AJL65@?a_0-SjCF2h?{Kuunq(@TVde`*f>nsmk36Q3x*6X|K zc^6Oc-pT5b0X_^c1Poq0p5|i~6ZW-SRBz~7qZB<>V&}yRPk~9nToRUzK|CZxmFxGN z8wCJow($ei?M^J|lIzrM7~P`C>|K;$gd_~FpOQXVCu>8J9x77H{Bf;{sEnb%t(#+} z4)4%7FRWQNJ`1dfIvXQNz`f_-`*$OeoR(-MYO?MWUE4h43zcjULXUh+YQ?xQy1JS2Ks1^y!RmY0scV$V_Q%5OTzZo)*DgFYcbD^A3*Bx zgr+vq0{Nf8XEj2Dn-*qsm~$&Y_FKH2??ahxRE{f#L~x?Io^1EHv=dEi!aZZ$ZfLAL#s>SSk#mOFp7W*?J~YfKJig%PB%7-OE}c}x*O(;x zzYxbES!(`vSo2CxE*Rh>S(t6}k*f4_c*J+!U1fD&xE(o{h*NAuwMK+r%rf>&@ENe} z{6tQE$sjY||8cyhR;-D%_P9~v7v9bH&w2Hml2%PUnagkI%p8NFU+om}WHw`^QB%Yn zz<cDh38yz&nJbRy&={Y7O}0HyeC6XpNW+`T?%{_pPubf>`OT@81^Yz`WNXD{aZk+baLYqeJhK2v+_)#q( zD>xMFS6409%J6Up*DmUxY!poJnhzd=e?HCXo6XZsiTuv1^Vq?1Q^?s|nrg@~0y@zb zqBndg5q-xpUkU$%15F5VmGmdKB$QYdRX*bZqVeS&o6?R{V?D385z>hQH09Rc{|HB^ zrtXZddG&L14po~W-7Al9pT4u0Vu_c=C@ZE1kxJDAwX9v2do6Ey-RJ3aO+cw@vbQWp zB@?qCPwTZvXFweC-Aw*ZkVwdP?bvFThdA-r_7hT!YOfQ{GkLJbj~CQ*d&l*I4Fw-_ zlh?vghd=EY1MqIJsW4(QFz;V4?_{!VGN3QbLw7=QQ4K@By&K*x8njYNz&L58rH>*! zlKNTntlU5gwGLN|#leK(iJgd<{Gj}z3K9RA3;KePL{IuVftDzlNa_=1v$BbDKs6j6 zI8cAG7tXUT-*ERqEdwL?SWIC)>6DX7eCCRFN-xCR3xRzq$`P)SX_)2waAkD_ZH{YoQ8!GoxjE!wEeeFviACUrvc zDPxoOEmo^Tgf0q5d8TZ<=RpBm}^@Mdqo|9};@;t$Zv% z;c7Iq5u>&G>GN{>^zA2VP8pIiA_=K_$9*Lm6sTZ0O*}rP`Ad+dd@p-uC^~5BJ092q zk4o!a(~G8vNO1hUEk`d=27x!V5aBchpyks^OQtIF!D11A5AH-+q4c7K%F_ig(lA0$ z?K}tTFpb30Ue8Ec8OK6TEpsMJydxuL*Rguz6 zt&P1j;ALPhc=$(1Bsx>&u5{ZNZIa$0WzKgIkCe&Yl>+OZPGmmO6D%$c^3%P%B{n|+ zFr`+ni%=1{WdS9!fHYV@lPn+}7SI_Bhz7gcle(J(6whI(j}UIDpby-cEi$QOAJkek z7B`|ODvveMA%Z=pxvB`VQ`ea(b$(LG`TAyfA>)k5B=-##f)J`7dwBF}RuB*vd+?&0 zxmo5SXAGB_{^i{0chzt^06DRz0bYh1R!G4gX*zQGxfV?#T7$&oV9bhF|FGGT2~KJf zN>;&Ep6*Nv1QFdW4J2}yw~IqMu7LVBk*^YjNLK88JW@*?_WnODj)Z=6m;P08od*Hx zsnSyn%eMHhe_pFuZ>;C$sJaR+ODqCbzxF*?;T#6PGMzD1R{vG+$E86bj8V1}^g*I9 z%jd%n`p;7+W5s%v9_$KJgNJ>hPNqO{@Xy3f*mV@aI%`{s$;1Hq-RQ-v0pNq?nu!Du z^UQfod5b6lzSTO5_8(8<@|lQO3Zpqg2eZ#d7Ng<|ffR->r2m&~#6h^mEH?62Ofp?J z9r_f?1`H2}uP-l*wj!Kh{r)cP2f0mzNkeS0qr*S&*H#N#o&4hns{CJo0RPoI$Y2faaSom2ZE|GIrCGf=on zkn;yh>t?$is$nXDKjGG2=KaK7?;3P=ycf@GVb}ZB8^b`Qj3$3tR%v4oHTwR*+)>Pe z@;BT3lc}VPQk#L5qd$@vvg%}A8$>E+UL5FEU_t%E9h7(ZyrQGNcx$BA)_&uBSouR& zB~;;tEG#-T^v^nrWx_1h)`H6Wy|AuCC-!ic4AY29y01TJVqnXg?@R=a8 zW`Ms85BbVM3Leqeo6gn14!x8F%+mlvAh~+EMPkFCzgQh4d%ynPCv84Uhp7z+ED`$Q z-2wqrOb6C9XU-BHxH+T2bSEiGP=VY2IWQX_d0v}x8{3BOCWmyX?^GcCI(xQmQj+-@ z#Mu2|lUrO@2Y!;e$`HX?5yuk^6V`J$_Li4Wsi+)xKIDhJ;@JX*X~+3?FlBl2>8NH@ zr3kW|Mp);WdjL1V2Doe6!Mc@+JagRzmZts zA-IQfabUky=<{^3_45mEx@#9BDnk}-#u8c@EH+Bw1F0^(5T!B3#>#;?6jB0gicq|1 zdVux7Zu>dR2EZMjb`Gn<@}ta$^>CWA2!(#6+^+S_(fak9p69NF7Hc1m_9X%fns424 zi9d@2c#JMv{Yw|=_WcHRE3t=nfffC~M#1yD4`y({rBcPQqOHv1=oq;w4y(ZJiRLBF>X&W#5}#K#8|KdvE$2Vh@4GnLObHptP_A3)_@(!zzVSJ6EiUo zq%cYzUZw#SwJIe@M;D};AG+|nWv>-$X|@xL!BYo20*ie4v#_6_7d`gZH;`39dqpy% zx8#rd$I^{=$gQC>Tz3{;*)pIE!ca16oO24$k=W^XjmJ_?YV##+wg<=U>bf(Zx&l}g z<-JYZBPSFk%0%Wm-GrxSbOmTroYzUZcEaD7SC!z;3xzVmJ6D|t+N`t1 z8ud;K^V)Hz{1}NI+9jOuJqASPl<>T2N~9a8b#F%kc+y&KaDK;S$av>g#fwl78%hbJ z_{^-Hi2MR&S5=9Gih4BADjrp@w_w4IYd2bS19pS^&ET$6XG8Ajy>k1|?nHZpsV>dx zc?0R$%aJmSzt&=B;6jQ8MJpzh%lV!ab(asn*;_LF7iiMSJ>Ab}(mU&J=l_F?odji8 z#Fmw{Mdo@j_I!~XtKYgy-l6C()UJ%X8O(WXj=Mb|yRjE}Zn=HToOp4X6Y|3$eDUf< zld-vL7=bAk73uIx7hC)t{|}VZ)@0@COeB1r7=;)Z7bc_;<#+VWBHjs#7{)JMe6alF zNkY-*`0SYDroYd0nHIJ(L*LMLo2t7j0o+kuItRVA1s!cfw0y>bB`(4vorZ}hUfL|q zYA{}N7HXYlfGyA}Ys?kOBkDG55=D}xy_1hSSI5DNNv*zBRUzK!8BPa?+M|b6M6sf` zw`<{kyw=JL_L|ljIdOnnbF``4DIZ`fvDTBUcH=#=rfsBa5)tT?9pS2|!ZM4@&;U1p zGWd1seddEhg4Q|zS@jq60D~S6bv9<>d$=$R;-bICy(-VE2qhmDHbe;fy4Fs|d%1pc z;t<_xxykhR@B)){`oEc5s9}bI`McM5TAq`(O@I`0TQw~rw_;VXBC9>a37l>fowy61 z_idZQe(<%mu3BSv`9;B z18@>bOGY}gPCo)9uY^i{R2J4HUCKfu4>L-v?mSk5z|FhECd^Lcd3}3$iPWNMLDVF?wFe@f4~TW+_KyS^j^oL9BTB(b{&C+ml~2LRy1OQOeh z(#i;_qQ5Y)NLqqZ=6N^Nk{p*@tMcMJe$IG47m z?0=`dF4DZ#9Qo60A$&FWvXfrz{3VzP^U#951%s0+10aW$4`l1gSr+SmZi->aX-ECW?R^Q z(X_Ek7wC-c1_5t%tAd{7+3j3vA9*1~Wr~^nN6rkC;w>4J#T~j=>$JLKc_!n#hCtTR z#k-Gy!^aAB>Cob9Zx`3314wm>WKdU$o^(gXuxon89t!qRTJFK$s21Smhom-0DQnWj zMWW+--U-5M+H^z2utZzJX3#pg?5nvv!(u zw^TFaNTaH*Fn#WFgH!8Bl6y{0$$7omkLDLdpw#`MzNp#T^>~szNs4HdJ%2Iw64V4f%oMb~rJ7&I;H-8p~17xRoe0(sk_AeChw^0y%r zD8}gHtc8kP1?&-yw!l%@MeuAtEEjfpR*}(ren;S=qlXUc#tksoAJia4$}j4{cne zrzWezP>+Czb@P~0=)gt6St*d#WuEo%N~+HC7q+P$$m)+byE6r|Ki_goVKh?Y&h+`P z!K&Y41a%;#h~Re|qzWZz6R zTS_&tKYx7{RxzYJt2XM&2^$j>pQ5hbaQp>7Xz~)8TX$uJ)e5?IW3%BF9PYJ5>qx|O zWF*{W(O5jLh-JS;_@R;{UvXGB z%~zLNlr3`!SEVf(1G^m-?!+{mPpU0EV2~d4Yi^i2U3WYL4|RnZxb@>`&o65>&-inf zhxS9r;+s0jYJW%k%TCpb*^^NVna0&T>49TQ?24Hgid%VumZb>$7+ zE4Y{(&)er>+}cRhDR@1)7C&3^n)93kLgv^WXjlfx&>oabp1t@YZSfxBVP6tBUv%xL zsD7>myv$YHykXbRn_GnQ!^*`&x^3BR@&(7>FJTovrJ%N=X3(V6c`F1DYzwj+()OAZIc0P2>5kQ++2$jzlq zTN03AcPa_!uA4Onp{|dRzR5404%*MFoK6jPK)%nwdHo~g7u$7i2pPvUYDjtxqDElG z)V8RtPu?>p)}jYc*E7YF`mpYvG8MuCdL#v@hv0EsGv&y!fRxm)k>x!Sa}araGm_3l z0YE7E@l_h2E^o>>(n7P~iUkBi?qh{i&QnxChU(X~?ANaz*R>Gbm1Yh_cg3-rXsOqs z0xIW@#NERzpk9t^yx*GY*P()kOJSJ^Y0*PRUbTl6*VJpVJRMD#Eoe7bNTM|3gb|Us zX+|qZES(4NtVntf&Dga?MqM0>4hpATk9Ny-)2CF*ev~0&Emg7k@c&0#+G6vQVl7CC zyDM2he_22%ETB&;AYrxZ2=!|K2?!nxAO$If^pk+L9)v_@;`I;Ote8ld#XfDWr(Uh6`yxh9&_w-Mi+qdXz`@X5%TCl2iLtQ2*=kD-_sr?CV}9z)9>IQb$q4b(vR48I)$6Ri5L6gw>{A|H0i_e$G_C^rbHb>5m$Vfo8S_ zrHCUWO!1pp%1pB}&+i8|p7AYw=GUY*DOWGZILN6^t+h3g_GG2YnobW4LRlf=$Ti$@ z%brZq;xAGJ0}1`w6FrM2c`*G8N+mTBixF81rN_A*R-L_t(JQYv^Z~uRnU?NRJo}Pr zVJN^k*!mC?@6&*H>DgQQf04R*j)yd9)-D}e#rLQHNA3eirRZDianhwMqE{uS4pk-`6crT%b$s_@UvrO9aNH->FUZB=>& z>7tDBWzsd8dR{cShtYCfbMy`bfmG)DtcK9JM!yv zl%HbxYt-V`Nh)L0+4kG0#cjg@P>WYqwU3x22Jv4SwcM~3{FV%*A^i~|qE-2dElKA? zgCSjRTM<1F>(kP@&3x-Sc7y zi@}=%pWNANY}JrBb{HCG89VojYf>1OtRq_uif{VtFKl@5r1mP#m?7}cDN>*y9y0l& zQ|*wUuu4(jL;R#6y!QC{+j6Tzzu$(k{M|(1Nt6d_(c9dqBHtU_4GO@gcpwTXab-7x zBj#QZsu(|6;d#VGV-siW`|X3OVUE_Z!q@eH&Ma`}i_RLjZ244?>B5+A7!d`EPJ6M> z1D38p5hehKOu=+(MxCYkH8Lp56FnWJ5KVo4)WZPjMOd^1NlZ))84sxadG8n-%ZVy- zery&x6fmDb_H1_AQ!4^(ROr=z)NXrnG$6+JTanql*KH9~eb#D=BnWPN(lP{$cwD#= zT;b984j$6|q68!mtVs8ZyT;lqvdm+RN)R2zJ4rzaF1kGRR*IwslnbHeMBoVEbeQB>9?14Lo_-s zjRJ3~8s4Ejht76L@sAxnNH0brTZX651>v$rof}=p*O0fkKK#7%zEuiXvp|cS%%$1_l!ETukEOdY!ha;QRDb|jmJBB_G7+6d+>Ub z!1LzeB4K4#3&nJLS@pYrvw0zL$n5OKNzZzqr7b@55zsy>g7zu#Fr!)sUnT53%S-CR zUz3otf=mlL{ohN6=e_;xP8q9@;}64NstnKzP$E_dIjZur|J=S!LNAtW#47P50VfS)2X_XJ~H%qWx@LN3aj@ z@29ZoC$5{Y9tX~3*yb&+iO)3UNjhjt)a_;CY`{lbE;-6D&X8VFw>s+@+JCRgSb0@{ zw=GUFp$8?kyh|lG;az;70`QE#`jq*Ssk?Gq@x=qyxZX{A!d=@8ynAro$+&aX!ZK28 zy-`QjZ?o}o<+%9&(6rlr-)EY&>p!R&IzDz#`0tXN(~|jlrp=92OU2U+4a769BN%ZG z(IKjQ{Bh?f=UN`<1)#!{q}cHu3BSX!j5RwR1(8>E#p&M=KcRkK%!o6o>^w3s6YAt13@gl zte?>;IOj$lG|7WU6PVH%jbtDkfDGRGK3Q1+ou2i*P*OTb6hJmUCuMS2 zMbP+?q^|Bgo7=r=ZA%Y7RAihyvt=fLPUyqEdQ$7dYryC@8tUrtl9oVu53=AHq+@-c zruZ)ktT0>ybjHiLfQ2Yp(#6I{lokM;#xD`!G!H@GNgmI))2iov70z|X#rSd%tX~SN5zbb>A>@;{d>=U)JgAzvDv_zc=7%{)|sE9>6u@*B{~m!HLzgfoSN0MrfDa5Kx380K9ROumtX z1Odzq?8G(a0$A;40zG6aL%A59O0Ba)d5aF$8%QzG9FE}S^vpi?q(8vM4=CW;8aC|A z8d{}8rozt*rNf+)7$wKz)TO-!W;i3r;p%zqe-4j)ppvfCoV49f4Ig|Uf5q61XHP_e zCC)~(@t6rm#H4@4~fs=_HHl6r326sb@sLms}dHG(BjCNCKa$Xy@=5^lbO*k65oq!DMw5 zhTZbLQ9336*q`YElm;*ZnVMb|_St`5{xU=R^>Hc-7S>GPB5BtU%p#&Do8%_X>jbP2 z9PitN9$~1YtiQ!p-t;-Lk(tN7!}@sCQK-p+t|@JJ9go?kJH?G0(C>L4(|?HsQa6yp zmc`7U6$gp$;*r$)0({jfqAWiMd8_@NztZ}Le0kvJsU)d&5NR%ReD$BXt+Zz}Rz4^n zAxVJLbbJs7BhB%j(f%_qqjgF`%KpwLF(M6kuR$1UNUp(F++kge}#DwoLY9~V0ki9;gQ{~_r} zw1LB9TCCBqEAL?zNBzFA~v*qA&Hn0DgGJDM2FH)hsVw zQa%(?e21r)L}{menD`grq|Lm3uw7e{PQOSJy^gXoxq7P`G^D{;}8&ebtTQF;P}^wJ`9S6f4#h{LT86BtRoPiqZ^g!L%5k z%37Ij-aA46r}BWjJTn!QZ80u#o%uyJ>k|p6Y;|A5vHJMa-NcX=(cm0K3I6#e$K#_K zlF<7+MoLU&EBG4u{>Ymg_uusB!$zI-xk#J0Q6m4b91*HWwfiV0z=to~0(Jxuwr&m9 z!t`Q80=SY$pRM1u{&T}M5P(!Rb^ZuM5(}?3kr5?ZS6qK2Z(Kyr&z8G&li)aN4YPF_ zBo{~NT8taj0SV?7r7+metW7bF+Pd=1;QE9g?Mtu9X-b!hZ-Q zx>=Y$z@bf&s?uA0GkLIlPqq(^#UIPI4FhbC2tP^Un&9ibS}1UBoPQa0oB5-?rNjFZ zeeB53fO72D+oPa8lmRl$MaCqG$)H9WW4HP%8|llEzP0$95#1;P z-bF@D%2iMUP2f=S_8@4_ct8Qknxf3@GEVBULj0Tn*;QEAi5`E=cnzXmWUPBr6k=rA z>0yKzaM>w^ev4lCu0Fs>YrFD@zA5mbC;2QB*GQ7#cPli#j=unQv=&9y^JC0iu86nE zdoB6cwK;{z$YJ?l9QfG1UCBFsBQ00V@nbA0Y7?2Jn|5aPeE}sApm+SuA7W$>GxwVk z!(koMZ=wIr@?dU?eRBJh(&F8Ii2-J&9^q}2m0Tcg5~Yz+i6sT4yI}$8 zl5SXX1%ah^m)QOIzu&ww@67!@GtYDKo^$7%Ip;nh8us9fB#@eyVHgJ?{!;Dg-}GF< z?R+Qc`&ldVOvU+NR?8?|ijusPj){cfXsPfgYU%(7zB>Zv@4C-Mg$zi8cH6RS8j3zJz&~*B?F?Z z9@oDy=wckI(9fuJVla&JgwM4 zk<&Y-wDVaRoxP~Ho%q9s3QsQ|OMyNey^Y*?rBGoJxl5xk&>>q-l3AVll`-Eyafc^* zp7Q{haPIkdu+r{RhxpeLBXuyt*mOD9#zVXPxi6JUZvzWF({Z z{YSyT|ETMm?A^8q*3zuI!grFZ_bj(o10&SIK8XO$3Kc<&I#uFj2t8$=_XwV)G7%^+}oDcbX`EatWt zT)viB7l0>$Yck?QSz!6|*OJ=$G|u2*TUW^Vyl3o3e{QA+jx~v^PgY->J2j>0^?n-{ z-pO&dJ10e3v`pD`e`np1Ojn*ge7d3n%jq!?ROnJ8s&XVgt5^OC`!#PqFCj5a5h1tB z8lCB#Yf_&aOfbbd*Kv7tbTibZ$c)6#hX< zWMr}0Zs?_A|bJcaq z7^M1<#LkGSCm^#x&gDxmIn{bU_wYi|;s=c{K;_zC?&0MR5?MUMn^VqWNm;S4n7vqC zl*>9CM8+dpS(wts@XefW!&_Obnc&N#H@P< zxIHYdr$xWNr}}6>LE@*n@7DZ^JF_e^WG_FDd*t?nX#bMUpj<^3kEj#>$8@Cq4`WaC z9}}FdLs5*xO(QuDdb10AtKq)!T!~GY=s0M4N3*tK&weDx#@NAr#K>kz7NqCv*y9+Q z+0h(Pdzg~+ZcA&;7$K)V;W+eu|BOjvRoJh|zcflNF0Pz;V6}-^N^9I_o#;+3Ro;Vh zH6{sdMKr0oL=-mLCirFI<*_WSJ$qbQjN&}IpMWRD3AxzLR$0j8l&~o_xy=Jl|#u$jFxrN zQp8>z6g|QutRmOYuLYE>8Gn3eFzZ^|+?alDBH$i%{HC~(ZP#Al7euMG2AhLlH53xR zLf$I>7)k8OJQigloJ!YB?D)+k(!?-3zrj;#A%rFY*ztLnEY>P)SFW59vyzwwkwQL`orO;}LvgW%kln7b6 zSEMX}3VY~2K1oO7kavmrz0 z@`=@3$Lv_W*>eczT61=SjoG+^MBhnVwl&DvFQR_wp$qs`<53giyzkt2O;c2aX@nDw z8Efqct+8tpN$8=5abvd0C@m z(rL!&7z$T#l`5K{l=QS)iHf%$KK+ch$9x|GM&8?FqReSAA~C>8lilrZ#6mvffc`b+ zdw-ETV6J=UC%o3o8aX2n@7dYs`kQY4ddf8a&TuI7M(|IlWO{6<>Eg9NQOTK9`4bDE z$C5`PpAmG@ShD(keLxgioEt3+v;e=~$)t$I-b=9#sMv*>QF#iH=f&u-sx*DHH*KmVgZ_;JbINNjAc~Qq?Ifq&X>QZ^K z^-CEGxrrn}&5P(TURQYX1(+*lwcST&+u($?FqaJMq7ZKEc1GLn`nH!ZW*5m0>F#nm zw;Ce}K-|dN3u0~`y=>hI#*AUnUfZQA4F-80Kmuh$wz1?Owx{uyY){o+vz3ztQ-p7C zcN*fK4elwJX9ZSZOA9-|s)M=#$CUjK*@lg+l(x8=w=FXd0{$f^%|0%kli=%uwJ-j$c{CnOPxW9&A!Pg7P6R z1;i^T|Ii2cFLv=Lwql8M6tYen=3IKvmfIRi(k$rMb3FuX%`I6BmU-xwtQe?cG)|_3 zaTt=fmoYINjj2#z&(eYn&M!)v&NZ}G52BfW0W0w}CQhz6fFFVm?VpwWqkZ|70O<|WL!xCfs zp~i}JI@7k9f}Cv7LsF@46$Y+njGyjB z2AzzNYBScrVb49C+2W%RG;cqN%7TEo?t@SaV;;o~ye1Ga=y2NXfhjWYP)B?kF=bpk z@f(l*iB$QStR(&i*y_NmWrw+;JIoRd!}pXd{E7-bWexoPLxc22Z)&v*XRUP;t}x>3 z7VF(yL>b(k_sNhfIBe8R+$aUR`E~F-F|@>~L8l9nqi`zKaJ6Y_NW7M6p?d)c{?|y= zI4d~&h9X6OKQjxg6cCi_b|?k(^kA#$=J=j9D`SoLRYUU;maXj+)6LPv^@1HGhrf_3 z^4p1L%xf;U=IB@0z5SK=E;IRVNefnnKhFuDGn;CNTXsKwr`Qs##S({S6UTdhQysZ> z_P8aUA-SRLFxrHeR}iV`eg%~zMq%h6E#EAaT&b@)1^s4&q9hq1?jf>ftujoXw_usJ znC=xlKAUyLZGz^@*gj2UAB9dB>Z@i+E+HC{oo3Iw_wSY>Ciw5T@>{Iq^qaA21(%+* zCa7G%?F7Z8fsdqA{bZQEW=+?Or`Z!}xY zUf<}!;knwU#>B~60dcw=?(hv&d2dhW<=X&K_7DxdgQZMOQvUH>j+HuK%R8SXB~F2|PL9F5Cp zn%8_h4&GQEG@-1%-{UT9FlTON0!Q0$W8aI`WRI**cc?_my#@DJ-%#FYc$eZP2s3MD zM|eYVBzEcaI@lRbP11VPL%IH>AK6Fnjt7M7^T;a%RZsn;@#~qg?;@@8)>(MCZz#g& z7GPe+#UV)S;EcZ=vWCdp>zP&=x5F`>hccV~m3smTw+NXGbkTMv4y?laVQl zjd~Z*)DOwA$XB~Tq$>)1H_0PU!0`@&vA3ZbmxS*g97a}ocIz@8aWEZ5y8L!|S0rvn zpB=E3Do>n<8>|=Mg84o;K?*7+tJ|PzMeRck`)SAy5v}p9kfd`5zV%p&ADFN$-5iH0>>=K9Jp+e?V>oCnBA-G^Pv?qX8l_?}LLboMLWa{f z?cgW7QsuZ`tK0zT{2NI`V|N=Ykq`&|yGxRMG2F@z8B;;Rn*@K?tHb*v+)^A{<_Sc! zc=X-mbaU7V5Z&8Z`Z(~u9b8nE2~%B4@$1u&?zrrzt@qOn34C@1W}D61^ZB%rv^CA! zO>|INzeiA77YS_VykYvJ`D-WnX?{iY?>2vU)W+jpx8h&}oXSl}uM?UpfgzLJ$&`0a z_XD1TB35)tFMrW*DrU>u?5A4^eo4p17q|^>;OUW}G;7oR`|(PW7E+DB-K|iv5`9oi zo4fXVZ45VbLv{TwRBpR8W%0*!GQ`_W0qwm!-Ye(J>|}tx(Car)@NnccTkQf~F|SGQ zuHFZLyY#D<*1xj&%CQJI{#cTSc zzqljpHXdAu-x`^h5L{(uJ(!c%94xBp7>T*pK7T*X*2rTq3EsUi-7<+h*Jn)=gEp9W_H21)V0Y0cCyMLZ za>MB0A*Okz<{Kqn|2j#Xk2eMFEkDZ)^+p|P{XP(+O;u_bNom&^>>+M7Mp1SM=UIz* zT`j}H29BlQk)6~d01_9a*BWu?9+$z2sH>X_ny@Vk z{caTg#(q|SzcNfd78Kn&FbB91aC?uLCm7o(!kz8krj303I|o&J)dGlF zIkMg#kwTdI%m4PbC+bUlBl*7cfX(|{ivF@qPQwJEmdHM?GlY4CeOi3Smg$O=6DgLA zn*o-{FsQ2JpG@%vvyeb)2=@pFs8n;}rId}vHI+r>z*O&?Ic>?H()2Cqas%-C0T7v| zRnB@4n8jXb#FV?Po27qPIl$?A-`V`**bLH-%%d?*;Y-56ch2;yb(*>;m>iJ2_3Z=` zx$Xd87~$Wh!C9=IWbMcry=x;<2@K!UNnBQpS}qCx^fP9->?1ZrW>;{BV>F;__UB)3 zdFD0souaG$_QvjHn`^KJI1UkgJ%^2^t!;2m{)t7HNLf;0XW&a=bb8~g>oy0Ho#VpiU0UQ|1r1w!#_jldEFkmfAU1cD)rJL z{%i$R`teS-{v{{rUMdd`QhEBaElvg<7xUDNQO{VKg|H3C&pPqhoc&?78IcoT8D(yM zDqR zfx(HJ&e>T+$EVB0u<`zzH-|q8c}QCxxQA6mX$7F3&g0L$Id83i*zD7L8AA|}ir0lH z3PbX_*Vusd1Ui_@NsA(C;)Mx&hl3@+EN{gS70TbTMyh+4!~gy$2C;L>275MrQ0lLw zgiiE7lauLx9?$$u$H)ZN$K%s8?qjs=2jH|DUr>GXuKnwR4S$L#z4uk8%rRpIML8dI zwEVxMoq3!{dev&OLoDQ}nwn zG)dTu6wslyGScM8uoj$9f|6TLR;37gL%*SwmBkMq>kHDT{7Eb0Xwz*lapM2-p{^`@ zFM?_FbWs#inGGtwMYd$rQ#Mtw)GsCv8madOMP=>P856{=3eumAQqvV`>|za}VJ-x} z8C#CRBX7AtMl73?U`Cv_|+Z8r4^*t`Ho-K%v-5<+_u$N<#``=o)hh-d`-mXv6 zJ{M%$4=XSh^F-WiO45q^dL{m}6<_eL{ApSAdKZh7cs73ppM~DEKGQ6}l}QssGA-zo zU=dm)Anq>K{tYI7`5h%m*<79MD`inr{@dffGOZx|uvkekct}{i9HJdGiTbfM(^jO* zPfEK%HPB7-Dzwp4xSTOqFH!px#l{dDl<&^C*7ME*jbPgTYB19O@D;nMm*yRlkgeQI z@8%)B12_cFdA9dd$qUSKR=W%p%@7aomaD87*6C+$S?ShYL6q877$7eZ$cW51Lug}M zH=_PBie2_+=j6Wb;*YbH4WmEV45so_Lbo2Ih8;BeWTfC~hq&Zh?ctFq`3iuO>6*DuM;_-%f;> z5C8^20gi&&GyDMpFdLEJs8$!Vh(HeK?Re6H^L_gPWT8Q>M$?H;41f??*cGvx!Kn}eiT-kzO0qp zyBcrpU$`4i7XbAD#vJbEc?`qD0w>n?9GzV8u-vWz-Ts4CNv8MzDY%-8oq}#;SZ>w% zUOA#}`btxS04+$Tb=|)1i!;hr?bI9UR(>+?@f4>BGeWZ4Aeie=Wu&6x<7RSq$ZP`P zart*SogthZa>6QpUSm9L@4-_t4G*xpB;hxYKizaF?FUkiyR-TCpz>$qF}Ol|f=~Ehk?#6xZK|AAW-yQLFlhwoc-=`;h2Qi=Jb;D-<}r>s!4IL+Bm9A9)68GF0iov@C_MOi+OpFNcO zO0Z=q(?ZgMB;NxdhkH67-%1e+D@#=48OhF?5ZoJuU6?sCwb1v!Bozm!tRgwu&08>aUUMl;vXw&$W84rOq2bD;VkPd;YafFzj z*e%fCEdHy#xUEj5K(9{1(()j$a+P4JX0in$Opmsp3ZtwBwwDtTl#3*tt;I?- ziYz*9?T-;AT?%Sw5w#+#S=M(Suol{zP> zvNoX9q>JMI@pdv$O3w)xc03eg@+x>K^?6fi01CMzlrJljzj53(Aj2wH?h_Fec6oyOKFMTD+F(&>GkTyIb zbt%9fAP(9eU^Wd85gw`4k5ooVo;rMIC zDT}5Ny~8i^WE`8#++BbY6_X}m>O66=PiD3UZJP)WzxC1-(evkkAGX|M7V}L_F*WcH zrOSL}nQwINiu2o~E2aF!9$P{7N*lc#+ldiLLij?K-d#-2?HN$F+75lPAQScj_5~*; zq}EYV+2y&oNXP5*ix+wAQ6p7Dtw~WMge}723a=u8ETmVzn0P5(LA#0ibIjpMKh&qT zq;JH^Ri2h_|2Qzv$6tN9lcZFYxUITlQJofXz>jyC#=n|VXyo(D{oAYSwi_|0xX6R` zm$t2+)u<@WW;&{3u3dBn+r(QW*i)^9<|$&2oBMi?t~~xT+nLy!=US9mRSH3{Wl6ky zvu3=ylK&JID;L~#J*YJrPT+GQq||X@FhyXXQl+i&WFa-^1BG%d&Pr#I`%gBOjD`5K zf4%D#L<1(u$-QlI(Ffq>f8>-C16jWaiF^k`%Vf-IJc4l*Ba`F^U1w{*#QBL;CJBnH zl&XU446BPAVYMAPAUz*SA@`!>j9=#lf56^Fm52{^Y|O@p2D{DLaGbwP`l@B*z=E@h ztxWGUez0PRmU8QNE@(i@g9Xr&r1G9i5>=xG*g$j+o~z;qI(L;=MTgga!L1J#o?d)1 zi#Ckl&?#3jbIfO|>LHl_B{-=vAL#yl+sfxfr{7PUuoVpBcY(Z!J7O(Qs|=-}kyu@agO*ERQ=9{;V8$W9JZ+s~$j@Ei5M*s??I)OLzi z;Ru;~uZz1Pk^kQCe2Ir~bI@n@Yd8lLN@Z1;Wc`_Ck1RJd{l(BD_;YPYG&3p;%NP02 zL$NLyCNV!Bb<(?BVEBiXv?5m#qc;>rhOTDEmM_n}&}h{ngS9Pu#-mfzHK`qfyd|7y zbBgO&Es)_0hS<##*9TIqN<5K!@NOPvF@L~rsgp6MT4Pae;=VQN{@mlyP(e(K5c~7s z%3ptfkDTyxI17J;J3qby?1uGy>U?pHdihiOL54oXs=y}yWj2jp@22xP=?VSd25~ie zVJmC@rh$l-N|nLGubZtGbRiW5nnAHlIp!avKm1ecH+IaBmJ>7DGpOkgc;w7yK>+8y zhk(;8O@$P8i<#=rawn0K7~z3|J9&d)&$mGn0(*7~g24*5J8@E{<1DTHg88!8zo`Ur z2Y7*EH~Xrf1`4C9aAmDuT;`n20l%yur%Lm;DZ5F(+WPUB4HTS!hu><9xS>A{j_oc6hx9>N;dJza=?MhKEU@Dl+QGr7*^QhNPXw>) zQ${C(8>Pa_;L8IlTcI1VcC{`N<9NH`#$Rq~T4J@7@mrH(#^r4mxPJ69&O!ie)R$~c zEBOX*AG~RV!cg^#?@!(dW~B*#AEUO8AEW;Vah@2b4|?qP)U*5LvCs~i$}!i@y3(=J zj!8~rm9Qr>N3)h92*2T9VWv{HVt-2P5HuWhW&p((70zY1%QaIIUaQ76g| z&wp_mvlWFDcq=i?Z9Eiz$SsSXIex5JXItNXxEB4=Aw$vBq1JIOE@Pg)>7B#eFN6E& zmSrykmfmI1382c})XqVgArXOUrFqlDQ8#n@m+4w^ zC3*;Gmzai$9Gl5Cfq34Q058u1j@HuwP-v6SRnea|)57jbH01^Ql&O0=GeS;$lr>rC z8ofWtx~_|5Yg^T2%#n7MD!yfK&ogiM=lxKQ$lrNt*4iVEvGnWzCEtoy_gJtN7ezB( zNt5(0IL+<0QFRldjc-mXye?9MIIX^1fAdK?&Ro#mc>NtxOzl!E(f)1uP*cAuyKI-6 zb>#t+%_{-5{NPj6^jmmK*Dj=#hgIgmL@tK9af7AfPU1D$3QU>s>cLlt+r-jtpug2Y zjd@iFp0FZs(~L_xrY@LmI*oj^AXQ_ZzuUjnp=Jl%k!(#U4 z3xCm9J72XR;ws#Hc|l1*tBJxEcsaY_ zY*qLyoI6{WrHFj<*J2CEF~RQX7K@(B5LEf(6%BGry%F>TdSMRwS4_1i;rJe4ZscJ4 z^5AbqZM2jsXRi9DYr3_#!>sC;Bh>?Qa}q!7&Qf8DQLAl#%OCd`M};2IfAd=l7Qexp zzvCDAwW;ZjUOiojzZH$9`TRU)l}4Fk;sKI-zWeNRs?eX3R|RSM+X@6nnU6a>RHwL` z{B}nD=|hPfzUn*q><6^IsTU z;@#R#c^&GJ>d+*p_gk4?2Ae4suz>lQ2}hF)VHGhHLP#BhY1cAJ@a7e3~=}Y`u93emEfP;&->u$$1JUqwSyBaj!*tV8JPjv%$>w16;qP9 zc`|{dFs>p5u34?846J(6ALpc900QW6-DQI+*|RVNj7fdKuG%gpk6Si7j+J^ zVod5K%|tKlErA3WyTdN)`m{P5Be@U*U4OMCubS`Fb}@n?Je5mf{bMp~<2P=WO+WmJ z-ND}ZWF0^JFEQO&)qEC&i`8agB=61)2(FADTuWayYj_`O`C2|eKXOVr-xlYCS#7kW zZuN_+9N`khMU_EOmswlC5wWvMuG^SN*{9>2S(vl(2= zhh6uPktDTdt1?Rpywz)8yj$AxV6fi-c?S);7}ord5YT?#T^n3qXRZ5y^3s}qZrLt| z^8!8U#v$1D`QR@XeB~yM9`QctnU|H>TgHHOk1F(b5$EKf^&ce3? z7uFxOqnGq|E=l86on_&xpZ61HreM{NS&ZN0K06A(rZ_nZo- zWZYiCd`8N?*pq{Qf#S#&b8JR}(s7%(Ri@~nOKL9G%#AUpTp;>&Wonr{(7zI8iP~sG ze>I_CV$)M+D8PPPJ#xRB!@DZ*fJmr~&)IrMD0+Qr#*o#^KdH0JKmFPMVva#kdUGT67r;>y?@;XP zzI>T1ZH#ZhnA}GO*^jr{VlV7RYgvkGE*6swSv_DxsOU%#>`>a50R%G1wfdyZ3ksDh z$Y;J;jF|$!mu;+}&zrhLtu?2vZS18Vm44h>6f;v3S4~&s&==@QJRfsV4tj$!}(iYx%(k1({m^3 zQC3$8OnAMsq(l5FEKZBpz^|(P;(m$!k%tx}2*aZBV=@Jh;VfEbsaXv}yDtULq-#}t zq;%u8rkS;;+qK?=ew5KA@5|*a+04xw=ewKE}$YstcG7X6HgnFm9M z9@N(_CBiHQyUHKh`PH=cM=eQQy&tyn6_$DXrq{P783$+u!2yqT;Z(Rk6%w>QXB`EU zv+6>nRS2y*ZN#nWIq?{LFVZvXc9R5fjHD!R23WHJ?JSab+^q6=W1vvLS1(zdMff6d z%fu-mw47BK*VUT^w`1Ux31&CA0jT!7B|YIDXe{eF0O*AefVel{fR9>O+?zScTL!1dS{9~A{r`A8g0T;ZhgVCx;>d2H zh+(>eYvFEEzBpa~{P9nsw~^sMP#)p!q6g&(&7d_jElCpR+ZkKFI+~&8B^vinIc<>o z5@pFl_m*eW?#0j8+!H(jFpw=jY)Op(hE~II|1wSF|Fe$4{d*mWd*&CM3Z1&}^9%t% zc}8Nm&q!nVtL!Jb>0&lY zZXx-%VK30wuV+}|UF?%xh?FQ+h-a_+_h&RxS`@34BadIncANunNb;T_VA+0o#0t-$ zIIhnHK+khYad@P%afE$70!pQ_a3?&g@GIO0aNsiSIOVx(;XV^jtvbB~t?Ip4VbnaT zE2`7JUm9}1P6~|}473t&?eJ;=`;ApRs(jylmUuJfl=HT5T*6iOO%%I zqA6&=$|(HJndo+6WQ$01koniXsB{ebR>wgb!>Wpz9w52R4$!sxoe(7yljm-bDR78q zBnTUfhEV1`dH+h`g%MSo`p^*n;Oniyq4VCqVzvAL(bYn<&{?7`t_~7_2XPaU5UDC zxa2VF$*d$+?gvXA>^!+giR5+r{itx11<#3|G!|_O)T_bsg)YmfW+J z+O>YP%dQphxA0Fw_C?|rlFFX7zx(@^TQO=u=k_1po+hmqY5%I4XfqYuV(akn1m4AA z-|v9Pyuj~UhujlvarIeSEX5ZTy4TfTG?G#@lD=rHbA0PieEQWwnpEn3cn$)vEv%LalT)UHGHZW{P!ONKenf;k8%C?};xJxmtBoCaKe*swB2- z4}Ahe8h%Gnp9JdQD#`LjY_g?8UsI@AB@l9nOhi$GR_?J8Mg4V0f!ORofmq`_AKxxO z2lvr^wqOdi{N*U>vU|~i9B+gjh1%mo1>&ct`S_VZI=JQcm9-FZ{n=F@esZ6hK)B*O zajrfT27v>hK6xrQ)mO6QEmP;TF!8*#@N7A}@P(i&y!9P44UBHGJlym?wDJ080G@j` zoD~`*$AjbN55^CMo&%w=au7W5p0#~=o_`z;4XB^oqi`PCP$-40csMYK4mWhm;eqVF1Ht=}Q5^FUD(IJK zP=2!*08}hS0P4`kV=-PP1pTQsJxJ!efo+N;xbZ*PrT> z-nl-(i2vTuxD~Z%p!2j~sRUnzhOJs%eMY)M)7Cfeo^9adkNSD%q-CJM1kDS6)T>It zNvAsWU=5e=6nfdaeP0YwL(3Q9$$s@M2uG;U#sg?EqCK2(gBzOT_S_1BkcRqn0Ra|A z?Tqe4Zlo~rt`!`~o6raTod_*xcJK;LGb&UxRAgoQ<`K+dgXiQbnNZJ7{%hb(&+JOp zQMm4af$zy}Pet*e(hIjG0UE-3c3Ug~i-pAB$R6kSOUB_gBbm5K0;9Nj=2v*o^U*w< z9DQG$lj%BnJS_n)OVHPG{%riWx=koWUL(e)@q;=y^S8gR($UUp1Dqr zW1OCLj-5M&-R2o_8eu)x?sIO-F@_t~75PW|@y-hL)3J-Rg_9!kQ~Xz<4;}cj8C3!w z=zSJ?zroG)u9>DYM^0UA0Hfe7uBTtjl&yZDCgH<2O;%BbyHD{pcVu6Q^|jl3`{^53 z8#rYr^OgbNjwZ<6QR5HUi;d{p0hSauh6M?t1AR~;AY{heDB_~}7`|uN`Z8ESk|?k_ zf09TV$NMV}h+_ZoWN@L@fq_qZ z;g;Z&z#Mo9zB9f6+#nrxJIXGC>fkh>|33 zGrzC82aVSoW~Rd<_DKhQq)<#cT21PDW(B@lc--&F-XH9WJPCeCbp3;H*SCUrKSRms zvnxYe%YF-yU*?%Ngm3q3UF_3&>YLCfYWpPE@DpGb@9vDi&i-y_F#}lPgogzClFEV$ zC91G-QD|Y-;N7m>vA{Epw7v^wkkz_vBcbrNhh&A(y_D{G{sHi2N1GwR)1iZfFOzit zIj6#LR4o|P?@zOj4j_$;1k&E(pRUk7c_Kf*&Aqwtax<4SrEs;G6yv*v6kG&<{Wpw* zUJz!W+{B9vGee~oVpvQ47X(kz+1He5FDdzU({3LNlWcTa6~c@FiMh2MV!XEsB-r!F z$Ngb`3WW)y0t&Yj!`kSqzwq6DQpwL32)cb2;qBcup)Io4w7X(2CKJv4bN;@1`BRo- zRVuo4n=x|poSviPnyI&s=OI;~Nc5;%ArTK&hc}CeV)|T@G>StO^s+&oN|<|#>!rWq z2@QuuWS;iZ)yG>d99V<<7ErHMf8Fz{U5movYK~xz({4+7-ILUJQommMr}Tzd z0BJWBNWu!i+`TmE7=cS-s=Rzu2^sTC6nD?Y%Ufn93Ef*!GQaqfqu*GcKHn`0%96AA z6Tl{r63vv4dd{>#yE!<#@yFjR8c2VdtMm#TOCrZGa*1=_V3wp7~$RcK3| zvzIVB?8S~#_*Td&>Iad$5NhyM$2P6S@(v64h}^@QqO9!HcNiWb%*#y(Z*MuiJTFS2 zCz<&EgQelP9p4mTOSZ6x)A#aZV!m4%Aud(Gf&+Dn55(5VQ@e)254Aw%7YI%$8w2qf zL(gFRHfPH^kFuxy^hRQ^&(hU%_tnTV(gT*hje3PY?F6i0?8StJCsT}%W4~}c+GYaD zEfb+Hj(@$^%o&i$2NF81%?D#;d?_zLsvs=1zCNUl`FNn;yuAIL z{d`uvY<=uFIH)P?s&~nyUKqlfy(TUrB_kPhclgh4LoVp%P{j_B9pZcyR4@Ova*R>b z{wn8h4r07DXhP2m^9(*Jwd*zcHE4ZRea~<#SKe=U^{VxA>&Ew>qt)y^*W7lSV@@w- z0qRFfahi`L^;h3`sPyYSa?=ks(Um}41lUiQJ`dZzz1fqO!;Ye(?zV6BZs#x(VOdxb ztR40ULwJ{bzV_Qn5*uT1z0&**^!AsdM-J&5hAS$)Tk>b-Vx$+=YnFU#?& z??@;4Uv~}j2JlK#9b{+Q%D<}x)^cVRSxE+R3szamU>;EE&r9MDZ5K!9*7762 zO4N81rIOKvFfzJI1TTes?GXUY%1v-Tkb^b8f_~;&y(7*=W7_j6#5-TDI*> zUZ9-g^J|GSogMU0?NDi|X!(SBqr1V%uZ;3GL-W>y?*@L=(rpL-rbdgVK5zt@Uu6E( zF6vGKQ-z3Lm;NoEDw=98!X|_=2|56$LVa(zjx60Q7ulS&8<34|t{c;#em5aU6piw8 zUCs9%s$Ry?1lF$K1Rn*^`27ZL9!2Qe%`oD$@ddo=|W8D#c+55~Wb zmzxoSYOgIC=F0tW)=lnkU`}(%fIK>Xh8p%0e3(y!HULtM#&tKM0bfGwf)CE^f=3#O zAWR*f@=T(&6OE&_LtLo98Rnrvu;xrloR-paYr-yisx|-RjbYl`UBSJN9b`6e#p53} zRL*qF!*=z$htDKFqL)C1eS7s{J7J_wcBa-JPraJHu8kVLI7htierJBzEYj{zJ95d; z02|zIP{=%r`8ELlD$eqLWf8a}XGM?6VSU$aCEQ07X5DQUW{a%nJf!-7=(ct1nL+f; zVBg6sb+gAzF6tdV8S|$dtgjfVg*=i;5~<$ykznu)9jKw>RTtbO+op75y;rkd>SmB+ zJJI!&e|1bxgnf3*0&OOezt={%4I4gUl&3in>#dEZr<{1QbGmyWFJq7Etyco)NRma$ zLREM2)E6}v*fnU*ns?v_GVlqpvnv} z*#z5aiCpv}>d+!$J=CX@?&xE?-|XY4*|)vlq79-oqXme&rxF4z7CI=_&yM!waV@kb z*A<4i0)$&_htJzm8WpR?tE&b#Bsjq;D7AB^lY#qD`4EbiLKfl&Iw0<{^)eMm7?f<@ zY!B5!IVoC9Gs4-Aoo}#$`$B=f6q^v@fRIjAzMKzz*Voajui`~9R=rcv@TXlYo@b~N zURXmv1JCQ0_Z~d%P3H4*xFw~DHEP0L3^S9Iq1jtrQkL2|mC@agZv{7h?7|~DJxDj@ zqA94rOg*x)sx7f6$={XYC?~4m=7qvDrZj;v3PRuE=EKQZe!$Gy$6p$jR)`4N8Bf7ShR z$&V#Jhi&F+Ygr#2Kx{~`ez)w-A0xZRWX*emJWdRAs3r6~YT2FX94`c1D?KB1(*zE$y@sTb~;Gf-O>7`ur<~| z85gU5U+a=C%oj9igolY}?% z_(jZ-^>)OzS11`M3h+n*${oJ4E6t43dOmuK;>*?|V-CmbCe^VH zv!{u8-t-q2mVl?fC?n#=(92DyiHkvplLTd%z4FRn;#h;}M#k`)R`7U=;{Y`8w{RrgaO6tO8$<{uyn8El>4uT?v% zCM@*hiSZx@Ojf03kV;VsM|#mhMPU6s&R?q=*7%;zG#l*I2sbo71BfG}TNMLR2RynG+?9rwr!(VJ8@l3~Rj)oo zx$M$?Iyc`nbPtO?k=~Vn{>y;iuII0kx0tumY^|!aD77+!y79ehECrCTCA0e%c!4Hp zK@fV^Z1Ar1+&$h@8WD~-7uj^numr%VdQ~!RBF-5$w@0GNu+iOmY`7CN_jB+j0DrZc zP=8Txq$pflKt>mszEQxvkRA0&-rf+`7(@`nQOY^YEJtKt;&ztBMd?;Cz=S z4yE>{LZ?6&u558f0=zWC2xcCe(FY67I1wJP1dQfZ1F$?33q2tM`B5%DYjf@IS{nV0U?K5bP=51Zi|o?k+SS z)g9u+;C@BJ=AHK-2QOM!N(Bd=9Iit;p$h}!m(^tD7WLfyKLAlcuD@r(SDj}9=M}=k z&auGx3!uXO>KqU5BY+Bf%{c+we5TL@muBqVm0V-^;YdW~g02MaGH51(BfC?M!nhiL{ zH5c$K*F3x>=Sjl9xh_XJ5WenOfpQ>x!xcd}5WeY(q67&4?uwxt z2;Xt3C;>nyyQ>rBKzPEH0M2`a@4Hq5=bwPkKfAiYJ-jFlcwx~R;9LOcU>6l>;GRU- zP}BpQMnHu%6|Dt#GoZp274?I=g)m%nC2&H34%SxmO>nmoE-AVSI7JUA z!QDrAMbRz5xe`!eHx}Ir_~WA60B0UE#hTaK8INK)?GTz?}OLz+U&GfScSq0l)A59pDe#PXcasKLvQL zdl%pj-Om7Sb3Y4skNbJR``iPN@(%Zl;Ql4yuiX29^J_rp6Wj;D{Qw~J2JV-@{To2& z4cvbM_rrw0b-xUpM+hHvzXF`c0HIHC9|rg1fY8$2e+B%5`!&Gb?$@!6yN>}r=YA90 zxchCuJ??j~b-Rya>n8k@`#r!z?)S0fy8i|EXZMHLLfs!>3k6iz8}5Ij2D<+jC06n& z@aF=8+)6$N_dLS7k}rT$OBgKq5;zM06&5XVC=S*RsIXXx6Y#l`BEUT*Zoq*O58xXm zg8)A-@d2JJDFghXq#W?SCBp!}EIAF3c}4(k@{9ufzGpPx?Vd9M@9>NTywfut@Gj2; zz`H%?0B-Y~r?j%SN}OPU?Jh3@Yv~_D-3&&9VQzMW4Ik!VmmX|9xa6f$HWVzh@nAV! z!e)SldD_UcMh>1e!{=1b>78@W z+$$=6Td~FeFaM|h%PQL{+bi3v6V>wqhXTg}`)mJP`&#YWwZrSi)Ll?lQMa+~tl-$D z3!0`h`C6)4vMo2XY-!on@>t6&EpNA!hbD!*ZKt)3Z9A~|oFx@Y7A#q^q8hoP zrP-xdEnTuay8M4u^sf9_E70nrZ!Isb_Cqd}(={r8}WME`eC1<_9jH4*)MP&?5t2K5mAa?mwI z9p2lBI=#OpTIAhD)a^Y))Z=}J=pgTBM15Z0pOBV$#}O^}P9-|bTSN3T?^2>8yh);? zyjKw&?fntaGrji^9qWCJ=y>moL??LvM)Vx-heXfwx(*?o=p8}yLhl7gm5aRdh+g7t zCOX+0BRbXFOLV$-6VaL8twd*g?Rm*%Q_zGrPIR@P-QKlC)86kBUE}>JQO)}R(H`$JMAv%%Otjy7 zoamL_lSIGiEqev&Ro<@=UGJSvbc45!=y$xA6aAhyMRb#QJ<%U{Zz6iF_ZLL3^FB`W z2Jb$iH+qi}z1jN_(ObO5uOhwGJBsLS-bqA%>is&=+r2GB@ARrf@Amc)y~q0lqQCI| zjOcdngG7Jn-A(jY-dBj;@BIhS2fbeqeaJiHFw#f76NokU8!`^eyOo=yJ$_0A;vsdoX<&%G;%e&Nj!{nEREsKfVTqE6p-qD8(Zh`N0T zhEvr{l5PYt@3&PM(y7>hG?zt5~4w0CDDbxR-z5QE}~7o zD~T@h{g7zLcPG(S-@`-~`<^Gd)b|&nm;2r)y21y>G`4@=Frrc4xkO{W*+f-eJ<(2I zglNK-CA!-89irX7EkKXXV(f>m4*;)oee$$}-QaRvjkhu}*26e0nK~E0m@xAX=2$~m z9`9%Y-VcW6^X@4SulJzoX6(yjj5TlO?y+xx`&#a9ME4K5`)Y76V$Ey`Tg(!yi+uzB zSHpiFTg&?4|4McRTL=H&V&7y}!T)-8HTyRFZ-D=e@c$k7|1SK05B{%#|4s1!efa+Y z{BMT;YvKQg@P8frUl0E`!2gfn|3>(~3I1<}{~yEuE%3hu{%?i_B4Bn9b-q?8}R=o{J+Hxv$x?N|N2ouKyC}k*e*=70b3Oo0qLGp0+|^lkxG2 zhIG6qsb0oH{aQ}#zPLJ?i(VXBRG-MH7sr!H=GQc}yFJ+-O7~=AYB284<+6$Po}60X z0bAs7qFW8+qTLzk8H!h*?yQO?lkL&iYQd>Wr+U?FPWURLnjUqkP9v@1n#nVa2(i^Y z85ZQeP^?Ssjt2U2YD!C_Q<{j>lu=VP$!Mn*NcD7^?@6h#9K@m!!G%obdbFmDEoMie zv%0+y*UAfLqcK%Zu0GM7$XVl5Ce!Uk65ZX=RNU&T>`5f!YF02&q%CR`7;VvHk1h)2 z1bWp}&Yv}2g*;5V5Z|B8M*9l|P@?vL%0!9>*lNajz{U^vXAG8Bh}RI!FjL(2*V#hq zKn6*p{AM61St{0*O{Wr9M9~k*sv0@&(fVzfYR;xRv#O@q*#4eeS2~-xLe1I&S~Kxz z&R#OCl0?p4T&(1;;!V-zmF9k1T+D2NlIj^Q5M*Y$poB1wRvs@*fyk840({Nj-tPxr{ZNuW=S_3-AFr!0PYUlk-HX3@| z1^QxYhIbI$pUtMTQeJDKv0OT<*F#NDDzDGidCcDllIV=`e2BncsyDqFUY(=>W0X)c zHdajns?5d{<+X8jukl)IE&_c_cS>Tm^&#{&8?Rc`Kw0hmAjmOE{UtM8m@KJ~!3m^d z={Qu7l^asm^r)$rYRjN~2w$l7i#h{WFx8P}E$OwvIJtlW?GL06q6q@bEdF5HJMSfkfpA4 zTw{$OpI#W;+q2PZKM#TuM&p8GR6(tpYlz0WP-}HoE2P<>@&rV3&1o&s$9i&F3QC~U zNFoJ=NoNW@usD&LIt9Ds7_{4T)}Mt}wbVFNmH@ zgP{BLcQ&eh5GRoCz=W`wvp!N8*2f18Otv!tT!tIB6S zi55=&9I#eRso6yA6v>)aQCBq8sfN^?-lxdJm_5v*o<=BWdp0MOf_FfaP2PW)x@zsZ z41Um-nw3$TO`G#YBMuHW(Dg)vP-tT^$RAMfq+=PvbWbI8>bg~TisK{|4(P*55* z+Wpm`R%=P*hzD_{%(DEV7AlPK8fgTyWv_6y?9bCfZa9etL;e~6Y8-|u_GSM#7 zl9@J01E^0T7S(cwmDSY#4IG1lFdk*n8fiQ?m`#ngXt!uj)$RIpJP5;8N~H%4rf%9x zMhs8FG&eM(fmA1m0hYk3DU^gUhYi!zrA6&fvt(Jxfz~-hFt7$%Crlu8qZ!&)P;ytd z%jPrp2{Wv^U9yRJE?at1xkR^maR~AUsqz^#=(+CYWd)0(HvuW=CNqZjCSt12XVjrn zbB4%<0VcU6;|nGNvPoslN01vgB7K+~W)oP8NqsQkv84oHf@ls(jpcT4zME=eSu6m*2S8VI4uN|fo2WJ@@orvl8I=lI@-?~V8+|s z)4d?h8lru|6+wdz>s+7X+8C|5n4JY(DUOjs2hg0*=O--Elk1pek8fmjAy`vppw-8t zijg^-ZVlJW0wVnAGdu|m1e=IM-mB9+pc>&cI2XjjY3^l>AV#4;F=&s_2`z1?)}3_? zA>Fy48eWhuLx~qo#8zvvKW)kqvS>&hrV(-xjXH$xfiOICJoBy45x_^iHc>5Tsnt-9whW9f~;IR-k#$<01xCAd?;}RMBqWWbc}c!^7Lqp z*wPZQ<}4^44Maxd6c5Q5A+|?CpbctXbd9(u8N1e6{fnd76xOPxDHzOlv+Vrgc3Bww zmBPmZjAb1X2568hrdNFWkeQWaoQ$F1g@9N3L(`#Xj(`X6`A_eP_S28j9loS#{ z5v5^n3o)=fw0s1iYBWnLgjH!6viM@6$P_OAz}qx1hN_}4h$mU4JRNOKwaZ=%i-@Wr zH`E$T-pSc2xp`$8Y~8IlSMpF_$l3T2fhVokGWkeB$VEdkWnS`A@l7wE0r3XRqjEPz z<4!~0xtG+3JLQL)vWZSyk&+%nd!!xeLt>E)&zo6V)yNm+3yO6JlC$@dO27PM(2|R>Q@`E?C^fMJ`y}MbZ`tQQM{wR!~ju zltIZz@O*VdT5%)4p$hnD-rAa&G4lX@#n4=d7iQAZ^R!-^!Egj`uUtx+8QL{PP~SL;0jO(bBs4KSUf^$wJ&rman9IM;x|02>0WI6!~TrCzJ@ zAp{s=tpzxI`3QS`v^m8pAok+e3bOch$VgLs1;(yfI9pU)*TM-E_cw#Is4)qD4Fqak z!c*DPozWXF^_bwtQNr}maAA6d9+?bUkcW(LP9!EJMx&zSkED&1X#_NUk(l`sddT!f z;_?eI(2|2lhvoG&P+B-5HWSI9uBc$}>%O&7&2Z}vvWSXpPbiu>OMr@@Mk$OJ$|SX3 z{XuiRT@=8W{o4F(Q}{3{#RzIx)iGYxx*cM*LF`6{Zg5D(hTYIGjSRbiVVVY`egZiYY>Iud=XA=nsfXl;lz`)dP{ zP;gm*HTajRk$@0!HZJ0cf?r0xofSc(Z zw6Ye_tZg*Xqp4)*7>{#b22d|VBt{mG(7JY9s{ke7yDlJILz)q-E75KAa%MJ=9n`Q3 zY*ba~)NB#)lZMDI_0W(|hutJJ+Pu9kEqyy5u%*m~y3#$#c(^N@UW=U!H{7`TNwKJ9 z**-JUB%d#tN`|q8BUIDmhb-#|#>YUA10NQ6s$vyHPF7zSk)Id50txVM)HX9)W}0n4 ze9pER&75m9oq0^tfc7Vo>9s0MfLn!vbVYkr>>acm_0w{9KtWorI|oV>ji+&@px0o1 zqC<`K$D~$ha==5z0H4E36XH6xFB*r5VRtlX&Xz(2mCG2SX{QdK-qadnw8@aR^N0_M zRA6aP#izjBiuLP8EDj#jbig{u_Gb!&>dO_uCK{pmDre#7Y#G$1IcP_du^u%2^!~xh zF-jNC_L~)8T`Kfvpp%MoOQ|*01;a1@m|*V7smZD^C#7_FVXfnF;ScM&S{BlDo0b>U zaGQ49HM_7@=V^3dZKfSy#soUTzotdn`Dh*i3ks&vEOG^Y@e>^ny_T3f2Z9X-gIJRz zX@=GAjOfjJ(fWu)SYtYc#;BO~qGNFuUM5Bf)|yR-@kU=_U{asNout}QS8FcMqTcgN zH>OREHo8%Kkk3*4nmH+i_UPAiJKgj&rmdzW*xj<}+nAQ8sTxJ^6k&#oE0O6nGD_y2 zzHB14=mk@~(QE=V#+a8{IgkPCZktwl^v~y@xsLg&1#1G#aq@+r@>lmmyMV!7BfXF1 zq_2|=(M(WF^C?xm+N<s0I8Kju|lKuAIe{h2{j5Gc1BwkKvNmyB%CHqs2qrqHRi< zf~Zzg{j#6bINOuS$xQ1SfYy}as|}55Xbg#teoN*oBFNi%r&+`Ew%}2?F(*N#Mw?n+ z&XU9U+K(J+WJlhvM4f#jv>WK~<>hx05buah<+Cy@8X$uB+}g%l98KhE@Oz_Pk9;*n zj%v(I&4>B4kgEXp;W$*_47x56Hzz$(o0KLE(iW4Eo<-I1s6>42AvS)=;FrscE4< z6s!(JT0?>Ayx=N-Roy9qLJ-p6KSfx$AzV1bd|zEK{1u@M!BB{swEst(n%4UIQ)Ii) z8+Zsld5WOLEx^nRs}9rzT3Q0tk(!04dJu~n3Dx;qPASGvb5PD}Ra0Y4ur|`z)ELNP zHu!^$)s>C@hWsF-{COdPMt@~}0J0cZdaAH+OR%;!&~nO0!=b5>aMQv-BS`*~vFe-r z)seuGaG)`S3&HsXic~FZ4o8|ABUSZHp;P8_QFEv^FHB@G5?Iun7uFJh8BL_xANE)J z3nYtm1UYKU55YR6S8|=r7ipl@U$r#iuMfkUDQ14+i$Dn)@@tRy)%ko;#skW-YFki4YkfFaFeDUc3Hs}yrt=>0 z*Vi{y*_gF~a6x{ks>L6!szitAoYt0L!33wADn)xhRZ|E2p`o2^)o#+0wMw%CK}Q^}&W<*pfKs)CU@C!*y03cnb2Xn(A8{ z8m+v*lI9lZQJVAPHZ(W2HbTn`)Ca1<*1)#v%0Q&4*~+YGZLGo%W)Xi&tu@3S4r7&7 z+j1UU2$F!XKucr6?6&!#*<$C?*xFEO_R>61?>`GH>7e3IiWPD;HtPA_b6c&l`tuSQML}IBFi}dQtLTDxSs$&0%5m9_u z!^J1u4G>DIYKG?ZI73TxrqJD%&=P3Z@x^Db^7-_PMSARvOo2@%^m`-3rOR$#76pH!#4|wRR_M{NvpP! zlr)=P4j01F@>%q))Gjiu5L15;=QMKK=+|t1J{gqv?Qo9i=P4L#v6|IOOJnV}a0>%t zNGir3D6};QL*>n$6Fjw8yY=xJJ{Q+_EHS93SA@w$!d@Zvv*YV#}*#pOoO~RB&l7 zk{_!vo#H#$g&%h%M7hkk>c&k~)e15B(xP4MwSrvQfW~Cav8hM_O)#oKssdSHc^S%o zEtNXGmKh37isR2@l4jSTe}=WpIW3IlWHhFBrTHN?`mRH-hSsR>^p{xXemXl-k4$ot zwz_FHKTSiEs(G5OR{xSEG57}qolymkC)1s{&&bd>J5MXXlj4PNeTO!fX@!^=lQwFJ zResIpH^M_b9hPw6CwDLoVn}o(aJ?(F#>SzQURtTLX2s4!Q5oOZcp&%IMK$hi&cdWT z+mGKYNcV$UYbvp(N1UY;8}wy~=ap72nOq8cUhp#!|EMQE*b7g;zEzyQWOFBeWH()c zsjtuopIA;1R4{3ofV*pw>8SXMSlg3`6L2qW1u&dbrx?x|)5NBA8uPfDV^-ezVyp*h zvIn=THg$C1T1I<69=Gb~0CB}2|H9c$L_|rdsm@%Nq2Ge5S-luqX{IH1*kmPdrJSZ_ zXV5ks{vyqEN-vNSmlC$5As*_c6C~8!RXj&vHr-z1Lv4c@2fYDnJlar1aiw^+IQrHk z)}D6?HJf+-)QHmx&71a)7;y{^4K{kBn(QIz<-J9(-h6Il-rFp34X*Km{KWGU&QCNy zLFvdK_RRc?r*w4EIx+^$oy^9LW_fq8>7=1*!a3cei+=1-3o>^9)-%VN76s& z=2`5znUEKdXE*58-J|u}9>PUh8>=y0sLC4CA?P^NxP@60O(cUI4GB$?L~C@E`dbsY zv#+)_SZ#<}Q|Z%=vEf%2bQ&e!9L2s%2n`A^Mc|*myZlt&IyU zlWorDivj+&NJ}8xvXr(jN2?QAm2b$`->UE9jO)rl12X@l71#AcgR$D&au)%ME|cb` z6Q$S&*B)Qru&;LLR=a+q1I+dem$4Bc(#6d+jYZ?}i0OlwSh`o07!gfUmPiubYHDXN z#kXckGf(`)7KwcogU?N+DIV_=WR9`fE|N;?J7L6*8hSWx>s44pH9k#*j1rnWzJbr>UZ`8?MDs{+%JxZtYYfF>KUv;~SKo4_oaTDi-M#%4LM;6Ktc-?epw*sa;3b zN-a8)vFUS0(o~#kYcMN_)}TobMOY0f@wSR)6s4-0=TzM?L$7g}XQXa<%FfiEwDTiT zbE}&Cd_G%GAwNVcCs>}hvh-)I+(^uFy#hUFW$DjZxu||I>+38W{V5C6GVh6G_5E~m zB6g;pj-5~9H@Eg=?6+Y^B9b-$S?|CQMKb+4%O*hMo$_(#>iixls1;z+{@MZ^Qcx?% zri0YB4$5W<8OO*?K8Z~B3u(zLbMe6F@o`bidLBuvl;9WZrWAiLPKoPok+ANyuB6a& zT0V=XDqg|20T_Ek_^Ok&e+WbSQ*#z3ZPc_d=t1cU1}cul?~ljjD;kUk%>InO$abxZ zonf4};~%^I$)xnvHJ#0=aax?4g6k3T2T;*t^W#mp70Vt%OKf>ucz;huoTw!M@x9ex zkwTTo6^cuHRs+*!Et*VN?cC1TbmIw&I)QzzE~!ls%(V zli9)*Y8frKH6_apPwe9g1E>}~E}zKc`#tnSiF}7qDA$jh`1I(snLm)?M+S_`op291 znA^soF4Jw+v2G{gJ~f!r(mJ)R-qGmrr{a9uxV{BY9$&S5mK3YtQthe2_>A2glr@_l z!)41`v-wHktV6e!&*HJn0bR5C#Y(MhjMoZsNpZ+p(+rnXdSR?+c^p}e^7PxzqeTH> z*l3cQ7P!=GuepP^R^Ge_`jv2N-?~G!8T9p(X=^#kC?LO!zF9hUHxsR^XyA+ZACn{_`E< z`tZ+v7(n~wbUyc3k5FJF++SA7SGFjg;kVs8mUoeu__Sg>uB}@i1untTPj}e{9%+0q zbk7(UY(3todNjHBl6xv!mn3&T`JIeq?ZCPcWposJ$6)Og?2SLK;al3V+-7-uCH*pV z$y6JmB%(@r4I1^+h)pU<2dY_9M+Y-j>hzDP#(i1R9bEowXAjOECmXIQ`spvmzhE%_ znS${Jda`QyT}sT~4i=T=JiYPFQU8QXh8-Sz0Zo#uS{7Eb-7t5{srq3HimTs>MwC=U z7ofbbBu%s>i`9>tYJ$@6 zDOL?N$xX}Se9=iWofO-$bf)ET_>#V~+@;wWe0Uej5Sr}45P5-8v-xSUTwc`F>HZ_}{YTsOG z)vR6&wXFba`79pGZYx)f=VM0`(>(+K{!iSQ>_*#j?&@ z)Z5Tzi{eVF@3wCYg%rxBIkJ|>wVPju*4mP5MydvzyseULO(mpr9efkDe)t@B1kq7h z+?||E#3AzP6rS+Gz8CW?`rt-&tvu2+qPfOrqTrOi9$|oOnIy>4q2m>MRXtg}l~VUMV|{68BlM(VIL1TY3h4xb- z#XsHiV;HPyHJ#C5!Om0~PtxlL8?q|yRue00^k6iR(r`^8E~YIk!*@b3x_XHg&d~56 z<4r%9FAmU(a`F{ZeaA|3oxX$`*ZuO!Bv@PA=r{Jcn0CL(!i5t3V3*EUrOTe>B+P|J ziPMyllQVt#=|IZ4-XgU;4#u(WmeKM!=B6h(j+Mj5LwR40mdBAZDrM7}A?vHHFR>=4 z?>p4DBN{d`S8+R+(Gf*FzREu;Wz%alKP?fVA=;5paTSuzx#B4?JWu!*Pw7$riN( zW-wjya)h2~z8;e3rQU#cdP&dG@=G3<@2-Q<3f|7lQ$pf0tNdLIwc`9f-Isv_jacC@ zCU3Q>d?JY6WVB43pju)|Jlj z^3Xme;S6;_nPmpw7|z`__|0Fqs}okgVFKwrIco_CcP?B$qVz zN%D^PV|d%K@K6`2FN#WONlt#`(#)sq4|R1@O&LD2?G2xl3i#+6FYZxQYo;NCfs|gt zhHfLG__|5=(M z#T9GSG>y?&Xlc>v7j-keXseRXPz&h=bBDsFuUSGJ@m z#tJ?417;#-Gv>NzVVF1PNL+L3XW{CGuEc|e&aaa)S<)U|iECK;CW~*~l{rF?hF{#8 zBBh;3rBn+?AGt-x1R09dL)Vj{J_S)5s8k9F7M&>g_@4bZZOAN9liU!cC3!MoOX9%J9-=xX zaAGTAWYKaLP35_hUnWM*V2WmV+#@Dzc^)VrKS`t+Z^MZ|X99PZsM7riWJBwhJku`{ z(Oa2#i{;3J{X#T47g69oG~(N@Lqn!<8yX&%uwGw=y^D1Ef?v8v8EWRmFdh***J;7Q zu*^l#Pvyt@Mte~Yw*Ih$)yNkmmo_tVsTqA(i<-f+AC|ihO@T%d;(2kS6%JP*4E;_F zanT#vY_uhxGivDu08jy%{F42qW~ASnF}yU1fV}G-%DV0mIhUT3Ib?>DRLC3CMI+X$ zb)RPO>9M9*VokBcnqtJ7YKb+~5^JgvYnmn2G)t^$%zU?*zL|y@&$ukm{3Q>z7-|CS zMZRcCQrB=XMy!bRXkbUsCAduQAoQMr?>FqARz$zD5Q&P9SNeol{;d+jC;H5U=#zM$ zDcFc9y@)BIh*b{8O1!cDu75Y zTVm3cM^IjVbug_Z1dSUj#m}K&%jJ85XqJXnGrzezniZ!&}$Yb)g4RKm3C~~D!ec}@_*NSyBPrr1zODv7>1uXomE0%brXZZKYNSuB^ z0?qqq+}Md~Zl5%E3z`q2stWDtNfl(9Oq}5eW;BPJm2;~6@iC&(o}jq-WwHsEEW%wP zcVY%CJt41q)iavIlmCqC(6c=+j$`R+H#c!E?*olCq3;Ni<2 zd`(qfsHaaS;WV#oT#J&;C$8>I9in0RbNpUZJ(TZI#f^^A*;reC<-D4E{=vAH){Dj2 zdfwOfq;NcpODS>*@jKoUt=Z#FB{NrPmXvWDly1p%8+=|V2 zVA%sAN#m2V?JKk~VdFo#6x6gHxqukk)JhNvaL=R4E0C>%23##fq+H*7z-kdQCQ@Q)%(z z6TEAKIX0SoS^O0*;v_VT1H=qsakae%JIG2HU1*V8{N@&3U&o^d<>=H$P+aJz)79c( zsOkQ8HJ?r66ppiyT3uA*Rz;y(;!sz)0jDvG+`?&#H07Tl<3ABrYyAEg_e&A@kB*rU zxL=AOg|U`!eRZVXzicUYH8w5gj@tUBN`JiwZmQCq)qxs+YkipYki{5J(p3}jBwcTd zzi&pr2&mT|+22k2S8uYJw0{0mXsL9Z|Fl{~u%Lg&G#&)BAr!1<{)TFB2K`f~MAE4U$O?RoYELc; z^F4S1d}|B;+S*!u4U)yz8e0dF8Sz6HcyeC+ObPUAw80F*_y)QHVez$o`a)&Aik5TZ zYx$1orVfLTQ4J3%FFcw|ieu`v*(i*#(JX#iF{AM&Z2H0Y=fAdKsF^Se^!G}+Wk0LKznXNqe%^#!*ubb#iWGaEY$lMtBi>Dvc6 zGiPP`+uO5H#wc$=nL^dq4Ba5^j>S12ZvV}D8)#rYkH^g~SSp>*qoxmLOFOnOTmcm~ z&K6Fg_A7((nPR?e2_RYUnX>d-6K#p8B^KQrDN1G&CNl)5+C#+q0;%2v44c>sx8cr+ z_EWu;u4gfB>7T0bziUA1?`}{{KgsJmZwn)L0U& zpZ_cT)G2&bCcgUJY5F4kl?g~uPMr=-!@n{aGsah>qW0y!Dy+bhY8F~WXC7M|-OS_j zT!L6Eu=cwCh8&&f>GeMBHG+_(i{I8f);b z@lyqLs^)KMlF5)SHJa=ji%q8rUrRRAsiWza=H~_QdxSAOp>^elCe!Vw$QT+r1(^lp znZ<4`KkIyUP(V>=sTylHsi|weGCal?GxOunIuXv|6Y;!2{dY=9dGPm0Po-Ww5qqGd z0r@PL@zbr*dWfMLX72NJqi~R{8+_?UoG0gJsqJC7t`kuWW5mc=VK#ogq99#kjF7cx zJ>z}(k+{)ETf=y5cB#>fEr2Q`W((qN$>s$s)6@-X1mTxrbkmP(8Je6`<)4(*x563a zjcTZAxQ~k0zFpnSWa)gBwFU&Q%eZ{os7C#Yc%xpJM{*hf`^yG08w9_>&lAVVuPgV|n|2f4N8RNUy3kULjjJAH<`UGwplRWaB z`1VoIT56*e<_fT+G6|+diaL*e6Q~e#@{GLEhnC8$eP_)0bf5=B_0I~nQu0B=k_W-E zWI^IdIpADd@i{Y*_YP~}#b71powKx__5xh-vvGwUNTqo*u>S0GK9?eQWXYO0n@5&D zSy=@jc(!s0F71RW$c)73WI>^jTsqyJ=qwzTN<$O12k|?ZY|Ja5&n}cvS=J`Y(jgJk z(tZTb(t-rfUInu5r1F~_w>SzGE}w0Syjty-V#q$~jl{hplI_G#dgTRR_if&ZV6gdq z-U$Avf;=SQmK+O@u12u>BE3_ju@Fy@NrN@a!=T<$s-0(T^TbM~&3ccw>s-85ER)L? z2*Dj3co&4m4D5ZXJS-M`Zzr!x{bz*CNBJf>U6Eq+OIwnyZE1Z*?7RT}yCK~JPX84Xe#Xx6>K9-Y>L_3 zDcDlCVuqxoKGo!!_PNQ+tS%5Q884LN+I(hA{MLGYNXKd;P%99s|EO4ANP_RJDfFgT z)W+|`i!Jgq#@W$$ybv2q(M(UlbgYVFzB!8bot}aXRgmpIRc22S$V+&NKwhO^71le& z5}c=i1w(a>E0D4wty6|^k@4V!{`oH>ekvx_qIR$=0@-YX*2yw$Vdx1G;yWU!TMz%e z^#mRY7Pm)2CmUnYY-cau0g=WoIVJ6aj!N!SQ#P(1Q0t)eucZJL$G2!_UO=G5Tbo^YtTTVxPO^ zS^5|*!Zpb)4!nws7tps*?O#jxM4+e8B@z0g=3~Yq1@DyT;ajiqU?n~lTAj#bKwRQd zas3zX_$oYS>I<*p2Wjwwf_aLBpXMj8bPuTh8$iN>qwut~7H$ z-(h3K=iXjh31r6NE~siFzRBtpD#2waKh}^)CSkmz5=%LgxhcMqZf2G-ds#vHbzS{(4m`MM zhVeajm<`d@Sv(p2Y>u&i74l8n)I-KEF^A}Plm&s=W5_sD6%xM^XgI`4Anp-IV{|W_ z`bhH&bm%Y{Q2fn2-K}qp4e4jdGn_Qz5zmzP^dgRn;Ko|WOmj}`6F@(Hq@_D7h@Iib zcg2>KX2YlTNSl3xJEfPMpK=$T4t?`3?KadswPr@~dyus2SB_%aC2aXAu39cmGfR4U zMgnwDHJoO(WEp3}@CsHB#YRU{Ru9!Vax^ovfsP>I55}`v{v*ttY9Ia{T~3b?)Ee=W zkfxtY2;#*((Udr95Hkj73h7$y@Eg#OtwKyx114Sb;H46%EShU}Qt zJg{d$Fln()`jO6{n*Gn`9+#OcFMit?Acn{ye$Ma+OP4SO)g8T1#ckzpNBe4zOuAb?_d5 zi7gS<`)WiOzFRoMY0(oTQegJ#@*pR-goXMFw+Pa`+$_c+UmT>DHt=$eaZZwZqn2&U z=Hr%2`3#16$TDGUAm-^*s#;Dz2E}*F$lbMO@64qa@u!60ikp+kpVb{XV;3dglHAKT zv32U34Ee2myi*d48a_uBdz~p2I_9c-+RP-x@2eZPRN-E)nC^rkWz+riEDNMNMAg!n zcrT%yB+hGwA26A7S>5SSrgm1T4Nl?kZ5 z)?CLd<5m(VIr{1M3uuTjf2)>n*aDsr0S}0_qgnj_$a@>$xUTC=@OI;;8x5j~A2V#4 zK-APvL|P=(|38vw5d=U97Dz$_D9Ix!NO!;2Bq9)i(SS(Ga-{*;8>>dHI2(J%*>$F( znWU1`#xr(pb~jt=R4KKdDy7z`b*kd6q{>NYYLu#-o$+qGyPip^objIToO|E9?{(vc zGL@a(CD`xXcmMCX=bn4+x#ym1e6)f6U{sBizSGKAUfzU;IKfHHPvy^gej24STr(E_ zuR@da+BySXyjYjA=I}`j<06p2r6+ssiPHFZs6;hRipx$N*?1$iF(k$aX_l9(mKFt; zjKBl)0(<`gVjlc9-R2f##9g)uWVQdx}eXTd%TQX zR_`5Eu`|T_QD@rWZE7R~47`oFfNbJ2F{A(v&`u6Vhlam3co#(;9PG(*uf>r7)y|Y;57*f)*X%*Agj<$8JuwPs-V`Hb@3${G`Sei<&ZBD*Qi)|0p z%!v&xGVP3IVP$8ajieji>G_srB-J`o?>iUQhy?5N^tP`}js4^HvTU<5TIk}Zp}X*@ z6}841!g8UF@Vev+ttcAZsp9Kj<6v>ZRsMpcLQFJkW)k6_9-RLwc@szuYWx&~4KkgHYA3tkX>ENkM ziYX(kwT>QNxyceO*5i`{eSEi6omGTs4&uw6uy*w=3^O~cRZz{r5oU+tU55(Ct?nJ-qig)f#&$>9la(77Ds`A7mCKagk3I!m<>4Djyj3;06Z6R3_6 znl>zh*nXb6HQ_=`BB3sJ6SeK_O~1E1A(ZX6vP_U=5b-eT?A%LQDQ{LEVDVtFp}Uhs z{@Ofg=Xf{coU+B~aEtKp(j{1FS-S-NtZ0F7>EzkfkjItICv|Z1ElBT6?hy0h z?cNFs-jBf9QBAb@we_tPaB61I8=!h2o#Wnw>^1&ZLqugQKvcY)!}X5LSNF(NW;uOz zmRk4h#QN57*3I1Ros^U*S~YKOs#hT7A%_tk@P+{2CF0cVo6v-NZfT)}^|3;e)z3TX z=RIR~b#1xH%Rn5+QtU+QmnX0g(d;JM#zRysaU*Jhyj$kNLvtAC71v$oE8wJw004CF z*;0Xe)i(LNiL1VpZ(vsGLx-$5!ji^@K6g(|xoGqV%oQkpIvFk4x)#?>%YN-vOYFz` zcfFXakuEI|Gt!jCQ2wBw>(F|~y;GZB6biY@`|*mE5X?%0i1@~G9al$snu6FZ=bm*4 zMa(fUwd%?8fS|0+-l(k#qbM3yu4me0RZG`=1XDG(oYB}2icRdqCL57lTNOUS)6w$t zKo!>X4Rlz*C|r#|AY3(fz-?~$hr;<(cT;R4YziB`=^y4_<-_oha2XRqh{`GpaPW>U zyF}9nE`7jX86_X8lWJvEE2kP+)yPTp^pZ1pj9k<^6>CvqVaFrg*Epz<(8HsBhwU&1=(j$&#AO3(u+5ResAkP{wb$ zkB-$a)G8mj-e5aQ8x3{CA?&Ji_p4ROTWfr(RhA!cldil%J%Ga$)FVcN6lP9qyc%Cu z%Pq|IkcttHv2M;0F}0RFg;g4MTxjz4*QE#F4NNx_sd>=&Z4TN|rj+%@>> z+6>A~4YTFd#>$rC$~_E<8UhWH710IZqvn9ebe&)ogbTbDdRy(?XA z-ydvW$!pB^)s5LaSFTuPa?o+rQw?azhag#&;g7|z@jX^Ny*pY zD#84kb>-=;8^m=@t<+$ZD|n#U`!eR`Y95cUiiR`I(K7>02!W%wEwv@rcskZSo*f?M zIJG|ZEXKpO%)|lYVzmXDoBgJ{o_R>uyDG2|w9U#hWW%~r$GiDUb>8-51}AqsjC(VE z_T3s35b^Rz2yEkN69C?XhB(H&ih>^VE$=K0e`#x*L;_l#aRdKQm3vFfGcE`Bwj6!s zAhWFNH6d+S>lor~*GL9{WppPCRX*z-XbDi zJv|Rrx+Y4fL@%5BkPljI`j&ee9%pk|4mC=Z>08T3L7k1!V)?uN^Z1k-I>6GY;6N+3{>r+K{J!RuR`UvLi2ZrY*Lv4^WzFmqb1vefSzJ!oZ*Hv7peLrJ zVbcPh)!BqRY(+u&LQ{uVM3F&hGx2x$ta{DN!hR1h3ZP3pg@jcxZY=wJ)YaM+?26mm zR0QZ7w6;-{!%ausY-n0VvmPucnk!%VFsi0?9H8AqMU`bvbe%0uF0L8=QFd4s*TfQ~ zx>Z}INsJ~6Y8=wZ|jX1%f^zB zv#h*wOj^O&@h3SP={4Rhf8CI*T=6ODt< z<`gq%T9%(Vnh$Y13=I!HWa-_$7&`E(*!sDDK!xRHRE>JzXkpibutJCfXAqe_+fsR- zBzGQoWckCo$1JbvH}#pZUL!Nc=7u-K)`b%VU#Zz#Vx8xpRno%qwJYnwXCFL^xA72c|~(_nqOrL7&M)%GE&I}Vh{wVRW9sR?}#`x1cpPwi-S%fbdA_hXmZQ; z<7NgApuHzvSbvpS2&|@{aJRNfG)29pMLPsT)`_@86ZnnV%4Eyu2(GQ(WNC)biq{sN zog>2S%O_TS@!q=cgd&4xhgUs0)Vl9l)cv_?NLSsHf35qAZbQ-ZWaTfgX9*hgTP4;- zt>dveNizb_kX&)K4@8 zF8j8_eJuf_k`PuL;86nopjVBC&-&Eb+AGV18mxK~z9Lk(5N*!++G@?n+I_Fq*7`bM zgQu*EL)W|L-L!bm8iQVDaQ^hS(k)NDLEbeQw?dO)=H|6vO@E27jcBl-y9b$dt!g7W z<8n;FY<6-CTs*l#ToPAx*@)}4Dz@IJvvw6g*u-Lb!^gIUhhYXAJp5*qvp2m#44A1i z%9LWXFzpudOo0hO;#Z(6+&Q@kEr!TZO}Y1OuRr!!!FgD72Nvs;SwJIok# z3lhz(TCglCLt9?9{N@%=G~_c@Mxn+}$stJJW~8wL)zbMbuK8)T;R;U+b&i0)MaZ#7 z?iz_)XNFf^dYhfb!7@$NXbn(e({9Krt0b*9?x-o(lkzRVL_g5OIIhwZVG$+U8`xmL zrTexMjv(S4fx58i;z#&$i8s3hgf-c;TB+R@yAXbK4Gczu&1Gr0 zRUzZzVb;Z8aI)poT_Z=CmqBE~j!<7rU1O=Hb@;Hd7w(X6I@HXp7RzIQ7#hjEPy%>0 zz2_}>j(>?wOE3cki7Ku7wJjyhcKaM6Wi!33Eq@@(+giz)+zVTE?q(fyiAMA?HiO7L z={RggNL^ai%pi*SBrZ}AC6-lfkRBpNt^uK*1TC+k(X2$rt1<2CtQVugZbXqFc;O0jN`VZ-B)X2IFOifBCvQV0!{*zYclf3t_O^HZI4w0*>*XrWf{21L zkP)RA7KK{LY(;F&7zT)pMXJeF0f-nSqKveVc9Et_ZT^oMr?oP4t1+OBG9cS=GPcV- z_XS%1xTqNSK7oih{A=Ti3woF=31+4CRo5Vq!3{9AK7K52Y`Fm?6S0g*tM64@ z)zdP8i$tVv(a3+oSlEMD0@?An!o?rUE3J=zdNMy%ow|^}aAvA9nLSe|XESH2GnI>H z@})|)G<~t0$&?D8QHH$nekL~d{n7H^gCaZ6+%9G4U#@f}t1LTC{uUO#_&!kaVS(5j zYy^o(v@093C#Q|@n|npMA7*ef17F{`+~A(T#t`xYLw7El300z6t@@RC+FgMHsrh7! z`W@R#(!G~zw`J_W(59z3v`4|&T$hq_9(Lys$J2z@RLhYH!%-n=S~vYd4kH&Qg34p&~MA?95Ek)Fis} zVwp^v=eMpDm@-(S9b)T~58T5P)0L)J#MY_d*ESoMp-&T>sn1Sr+*#jTyS`Cdzd_UX)00I)ItYy?SFW#7gc~;% zuV=6+#HRVxh2>36rU)UtFvcl~peLXk)MhLwO9hXd)HXI-M#+Ha9*@oivkg7zourZV z2zQFrtppgkC9;DN0IILShB%hk*H;T?KU=D11yZpX|!(gJVogdGr96| z)p{R-^3=ZzhOf7Jmu>9{bICiPd=-nb#WohBA))?dXL|&x83)79W@@Byfjcyq2MjSR z`$SY1aNA9oVL}qD`+Ywtzf0s$fWG_IH)N|NF~&$a_oj8-k8ju15tPtpjwns&G8NCT zDPPs(M>EDrL(#QzuyDu0gG?-Onr&&db&Q;K&lsatfzd=oQ{(_zOx0Ge)`(}}a~wv^ zoN4Ta#%FU-s7`A{cQe@IqQs#k-S)()71H%?!mKZio((mO7uLj0Vd@fU>=B=UteZI| z*4bo9v{cGRRTe};=}${@0Q|MBP0Nm(b#hCnG>k)gjcEy?d|K}nVT;SSy~9y9bEJKq za{UWjf~KxKmuC==DdptK<}M+uv8W~LM4Jip8=+}3=hn_-wQe8F@Yt{=>(j8!arYMP zP9fCuyrf6;-qi~?d3TLz>>^**!`^sNkeaSrXXLa|W?5dWwV>qc?c{jXo`>b)jaBQm zUA?CC?%NIc8qwu$0dn~)8!ctUmJ4^hEib=tQ>O33SmmkM^Prkt)%Tcr+f=l&c*QkG z-a@`6%fOx%F*SN?IpA&LJ{#KI+RdLU=Lu6gASeAZ$2v(Xo~I$ipP+eOm=L4$$)ui{ zE`7dc-jnKTj|D~yfrHt~v&fg+WQ5HKp*6Mu9s}T(<|8FsZjWhA2Da<<`1U4X`&+xO zXsu6-2w&0vLe1FE#c0!yw;dDa{$8iL}j4>F=?D~4B#5FxZk zQD?rPxW=%oZJn0fegn<^omUka?*VxYTFoa67(Q|hpFas&XZq&M^}Tw65KF|C32@_l zN^Ud|Tb-P0x^D5ynhT-`OQl_pzF_S1-ll7R-_Ny-;z z`#5H8276+8W^`(DVcE=WUN0c|Y|F9(KHGYF*>NC0Z_QzI&bx_(7uU-TFEfw%2(S)e z78G~DEORj}PeSDTbxM!qN^OAD7e$zRzgm_XTmO9S2)2|3z4XznTg-Z5&SP8Z9>{2- z*6`|9{zbX^Pi*@0hdy8}N)*g(U+I?cDeo}qvS?jvDI2X-%(#Zivf&b(U}QOtw4LGr8UFknS|EM>ecHqUW83t@UFSnMn7k#g_P>gy~GI}(u7)(*d!wr z@C26-FnL4GpCDFNW}z=);meYD1A?BP7uIR2FmoC)46E)+KIdKK(SmJmW&{miC+6sd z8i2E+-}G8T6i9+LR)ZtWr_Q`<+VyPqbv~%8_YVxG+wGXQ z&!@^1u1(TjH@u~HG4`A$=*Vb}XgAy2*6RLji}mcRSWGYdVxyVKYfe6sBd=`6Ex3(bv6^=ab;l{7_LRBPtd%pxY`$1( zz{_ze*<8L>b&AzWsgXlf-BPAncgj@Pa<)--;8o64oJJ;BZscm2dM1lz7mAs3xlqVg zO3g;SmO;I;B{!R?G>iFiHD4>_;Z+^1~~+ttXpanbCpUCUiD1A zQF6=GTC?WnYk3#h=Srn&C0nVNsc&5;%h?yoZn0R+Rq{@*I!jeL#52~=)VI;~cz z5lkB8I^~eBFzhpBLYY#nRByONs*E%{Qy>%}0M^Te3|AtXE7YomYBig!6?3^7mq-z^ z%`A0SAy;eUfjOl@E>EcDl*`miCxfcyDc4HXB`nL;8Q3Fs6$xEyl}yG(!crz*t(D78rJipRR-?p_388&#*_WUGw#jdHc><_h&jHJhn6 z9e^b1O+Db^9IT4^>Mf;8n{&eV#iM5R=BE7?*d?^ay5 z!kAOY6|;?UHs8n;Yx#N+ZLHSvxl)tHg;RIy%`E4YuMoVlPQFlbn}s^?zL}|IDp{ag zvF;Yjz^_W7TyorEjmCJkSz?^1)iTWrMkAHdbh4;KqeLS+n=e(1^-QgrL$j$jfmn@9 zwNY>gCh#iJplBAFxqQA^qau)3xk2En)+u(SNTUgWt~DEkIkkGFTA^B_JBlR-qpDJ& z%m{gkQK3JT<>sCo~6CEBQvQS}jxi>TWfI9;y~|PA=Cd zIrU<;;?@8Ox7I8*3*{owpj^4&B4MRbbV>yGa@BFNr5c)@tv72~r<%(WylPGz^>Xq= z;_5l-Ndl{M2lYgWno=m{8g(KT!03FD(3ZwUl~A`>beQHe2;fC(oRtuDGAz!RioH_uVD>exIazuVzH&ZSmRO@xDOx9((TCZfvAZAtIIYYIcajGuiYS}Gi zYdm+<++3+xC-ij7&1RWrg(}fYng-meL%o>i;Z8AV1m~)aX0cYTR=D;Rf)jOlwqDAW z>UH3%Tcx5ZL`m~BxNCVpwMcL(6l(c$wo)V-TI0M5HJ1oaBSZ8!TSPw+Ha5ych-jv9 zX@ns!f^$A!ExE-~o;r%DTro$bQC^L5rBJ2LMOBHmR0(-%B`4!ZgB%(Ib*gM3m!lzG z;lYxaTzpO7W0`5%_vnKX+#4njWSVIngs}7rE4qIa*--QB%xZa zG2WMIG=7M#HR|PT0i(8-DHB2vF|0N!C8r=LmoJwyO@}~PEa!P@qK<767UgL;=CT#( z+Dz4nTT1b36M53RrHVx zuX>qie6CilbBUm+IU44rVudJRxgjOGgab~oLepQFhgAhFD>rl5GEMhxou|1{hDcnY zQKD&#<}Ze7-Ko_|#e$Qm=X4v3d5p{^kzyj!nJg-i&!b62VmV5MQh@8 zXw-N-64fW#RVG5$Xwu||235+*yiLNt-EzE)z2nWLV_Rx8zJrc#r^M^rTL60sl#s7#CtXP>P!bBzi} z39%VG8DNKYEG?V~|YAIL9Qbv?LNCSF1 zm&xUFG&FK`!cPWtBU_*mS<7XcZawE#nbb0tG#nxkwMv08x=AQsE!2o^WQ$F=$-P~3 zDEEw;&pXX#t^mwwG#p|-3J#?v0>uM{212G@D}(M-h=)MJ28}anV~+Zqc%VXoySADu zXKT%DwU#5o?C?}hRJQ04?XDF|L^c75Mzc=LN;T`&3E`X?&sI*eL0Ch*UaaSt^`S&G z1=SmcO10=_ip)^f3FC;EHHje8ybqd_Enu|L3`!GhJ?o-7h(uSagrzy+7n{Uf!i%QU zaxO=GL2POk2P$Xl*<3ZBZ-87-!e)hMg?bkAPn{+mnq!1hC}wCh(tJT2Su-PJJ5#7; z2~TsxbT%puqi>-|Jz1zV>p3DOXd`i^1QMDM36~oA3==+LwQJ3Mvy!8DZbOhMTc-)d zZP2K!7a8w!jYdA7DHgL1af}(}SBY6_RBAM(6zU+qWhRfcQXx|$O752HbqAf+tUJWb zyTmyW-$twsQ#nG_D)FCZ(;?Sfs+as>G!d&|M61aMKMYX_(XrMQX%?6L*49TcLX8GUXa3(~_{( zMDPkkhg`z^ro&W@c$r4C+|1@3Vs)A&>22x*Q1wEEW^`tdN)B*KyL+m-_SaM2)SRiS{@Dpr^1`$GKxobh%Tw*SX zDiiuMEv)Cu6^D4Se7TU#HtWn|R%x224k{BLPKysFkHp3`iLq`vG!IoPNSH4Zpj?+& zZpWc1o<|4GKr}DXyheXD9*6D1i$WtW3^oq=B4VvGHAFY?Dy+CrBX=_=U4~UAn zwLJ6pG)dP8y@|NjY9Pxp>Ex>!nq4bp>fAE3D})_1XfpJ_M#ze06AwWvFKUj{q*=Yp za|ecTBcCl2H$<)A^-!5sP&8hPRU$(TjztuKm_#>Up+?eRb^KjZe-G4gr`K+Jiek!B zr9ennDGHa+;xzI`Fz`yfxz%cfbk=0=9VXOfC~O@%l9tIL?8J!mK9)B<3u$q4*>%jC zS}Xuq;thX6EkPGTdtE;#x2~dcykHhJYuP+z+Yen9=~{TC6$w~L0RkrbTU!RP4kL&3 zv)J;09~!j9=PPR(>4x|`$I759yvx?`?@SZpYMwPBZx?$@bgezt;+khX#pv;r3a~BX zYdi5vD?zcuVo0BLtby=;cO_f$P z`nA-STBpA?wLyNaa>(x!7rIEy`h?^4g%^CYPI54Ru5NG`JSxhw@i-UF+nVCf5yq zyOcM=*ZE8G_!QM`jZ=5auccsvZByZ#-Kx4CXiu8!0a&bayEk_!eU;&|qSUo5a@RRM zVl_0}?!H!Og2|dfZjMqjQ-LxY^j@V}y4*9U;~kyzr&UIM#;bLmo@-PSms6{u7U#IZ zwNgEIl#1QqnyEhIr+TvVqjw+5QL#1d7uAy?ytt;&H%n?kJ*(yz4n(8^wOAr-a4CL` zA+bq4E_J$0J~vTb`)C z94Am9Izfs`tNS$|?$==42mvWeVQ2q7s?^ytraHmOX1TIdrJ)N{m#4Tsi%K1quWRO; zLoaikKS@1=FY+C@Kz(vWU0~N0`kUjF;+mn@mnme5#vjtbrDGqSqW3khr*RrCC{B#InP~E1uAV;xAZC9+Tb_k zG8XjV+(LewYsgP>N2}0pQ@Snq22QCF#fb=xwdW~AITYbd# z^DtuozLzK$HF$~hnqjD2_VXIJO#a-LgO{z|xy<=o5SSd6FSyYXbu{?xr5d^1QB%P+ z;MFG>4=7d){rWtWe3h|~pfa?eM;hb8*n-BDIpyP-@26X4#q!6&0zI$lywreKuK^D` z$BYXxC&@KWty|<2pES9QnC}G-ie3qW#zlBBWZaAq-WTJ7_r+L1sl0waagFK9vsCLD zW#jWj`Z2WcLyQF;;g@xv1~Bx*-r-cU2lkG^_1z~9w_=|-+_o|4@c;!n9KwQ;;5SC# zC%F%Rd+N!%pGBr=4l@)P{RJ)pJOnt1X9)Vf4}Cq*$zxm${85~-a2({~`#rM@|B~*) zzl8ISoH|%aiuu5PF)7Z0`KXS1bj^J+n0wc{cIHko?=vwG53xdhaD2CL3VSph7VN=} z-Z>l$SA+hyIjP7C%}PUWo~AU=+7k448oO1YMLLuq50(v z`nttymsd5XhTOofsWYpb$4$=L_2Ra=$DT3Vyy3K0$rpV2GJhHV-QiVAjk*06=X!(r zY)5i=szL8H4spCR%S`KPyq0iw%|DRO)S_P5>>n5Tw>nB8u5$A3^RR1AIgE6`|Cm{g z$XXD6u)(cV_X&MZa}L)jzeX_p6zV6doK>#nt}(M%4>fp=f;z2p*iEis%d0(jZgAkJ zsXG2C#+nUYm-^VmVGnion6wq8H`FT!5)y%d1pWM^yq z_{+S;xo)-VCijP|QEp294`2=Y3Xip08vCUmY90o4gP9p4epxME{pfXab&LDnKvke3 zIj?pdTTQ+8QYQ@T&6;bS+q%iVSnaAac7F-RZ}J#lPrYT~aN1=nw~AIeu#b;gsl zCnvedt5BhUYx?Qa#7W|NXT5y31e4CKaN6quxQ69DrpKfQ4Lqrqr)rGtH#pw1ddiDJ%UohNyiR-AR^w7F+|5gWZc*5(rfSIlHn-6paT{L0s55?hmc8CK60MFg zbxJ~)848U+OKxhaBjZEecZ*x#uk=IV54Y5(w1mhdo_dMs?VJ8__WUdGk(nCD%1B3hA8A2^Smm$pCwK$s+&-# z+d=#ui7LR><9ui5_46kd?QchTL&G0%|y?jBB6jP&?rYSDttk4}Jjq<68p&<`w zX;fNMJxBmB@9UPd|KYvO-WHJM*#8!HCYo!DVFj%DAXtZ<@C2_PSE}ze7M!yScU7N; zMrNPjdD6j8-d#?9%Y4zE$??;=by9cr%H8E0Bz(<436ghK=WR-SK$iy?ffaEWN`(BA zyAQdR$I6A7)Brnr-3Z!!LhIMYm$lx|B0dyk}+gL7c0eh3^JK2Bc$^CpTf<4UTVd>NRG*B*)V{6>M<~*$jBh>q~WI_Z(Na zmdkn)J79iGyXPnU+GJ*9E5MxHMgD{Sh*LNB$}zY>vKzC~S(d@yuvlC@9^6!^@t9uI zQ?lEYZ7^7;+HdStRhN;}A7-!dpaNYzNkyN!R}E-y-%Tafcm$#f+5e}iut}&dP{`f8 zD$H*2VC&pBJScj4IgJ?d;_V+TnKhD6DqZGZHnr^ja*C=c16io3G)@kV{$sH&rF@&?0eZZE^59O#Q7l><^ z)AIVXmGhda@y^#$sKk@%NzVI8s@>z%OJ-PJ(CZ#`Y@N$!F?MZGYA@tecv`{ty5{4- zl{T4EBfe*0w-BEj^a-DV%x-PhE&UL&C-;G{C-7UW9OsF`=!RLbJJt9yi)f~ zhxyC#SPw7Vll!F$OGboddFk`}rLXfWd&f?*FLXuvb)7Lpq@-Tjsw{3+IHkb|JFQ4v zyFj+OU#YvMJnV2iHfct|_{Iz&-`+fa#MVObd@oJwc*{(ie12f>1&geZZ!wmvYq=yX zdS3isx$VFFp}e16uGZ{|ohc&mIj+1cJ$qNesvb0A2aFx*X8 z+Gr%%=p&1>sa~e{b&Zj)dh<@x8&}~4&@H9+U&@^+ZPCT9=}ukf!ao_=bW6+oR}k~C zp_bA@bv>waW@kqzkH@VE!eMAKb*+V59Og6HmDPG|3Y;8J#J&7$TcT3+m* zu$)`FZ-2EsP0Z557Pdwxt=mL4e#M~jJ!uo%(Sv8_Bq}W_jl+X!#bwt zMf$x=yv}*U>x`YZ1aaE$5u5Lom65NhvJ}`gf-YT6b6%J!Tg2-?!)cLsPoHLtn&htw z%xTS#&%?T$hgF*W(&|OcX}zo>3qL8f>OzeNZgJnf!kVG}K7^_UXSm&VO~VkU9FLmW zJ~;2Hsomz|yU6>#?sU~F&3jRj=sF*uwDR8i2fOz9rMuBv2+r?* zu3Kh?J9qb55LW61mo>Hl1tWvFu7s!T)ZGqKdwW(+>)l!E?_+`q_IgS-In>0ori+Ve znQ=pQwnQqYj)g;?(Y;{kWA}8j+bBH+?LzeXHHvwWH3et5-`2doRP8rA)uX4mX&@yn zughiW+#RU)24d&*1^}JWTg;ND>>_~SyY5ZXXH{fknWu{tYv9jO7$%~Xdo*mWb6J}f zB8P<~V3LgQW9m`*Q-l7u>Y?vTv+5uUKDO$>V_gW*HCAo~ySUa>T{4&-Si@Vicn1=; zgwb@v_2`z)Mu*@w{Am>y(X4y9TLi4pZGjm)DzRVd(|Sr;Q)VeE!xypnXhQoJf3l|d z9V|`Q3?SucWmX6N=(fkUwb#ASy)nT`2T#Lv(?PHsucjtL92V%_iV``S>q$u^Z#{{@_H<*O%*1+s<^31nNj-aegG%9 zJW@Sr`YkE7buVaxuli$9Od!^M4-ebqpZoBNJ?LHvRpSn{AZpg^+_@#%@&F#z^a*aU znm7k(6_wn$7wz{Y^_{h*GREv0>k&2LdPt~!Ubz=FSvde4sYciDO|Q!k^QR(v3!lr` zn%XDMhtj7*=#R(LZISy(N*jk_pmyAQKOUoZvSHU1l_yV=-l2R+)XPmRf65YGm^f}slO&X6Oa&e zj*!SmScaf_UQ(*>B}LEeU+Km*i;`x;f=OC)yntj~L%LJ_Hq8h0rn(N(ZW=f?zrD$r zx2f}$ZH1aAyxHIhL>AL#dr0(L{GPKpc2O5Fi`*7ta*O%+mU>*tw!$lTLHK3V zEA>=y{E`wSJmZgi^)_H=Jf*z_mT)EN(O|gbw9FfgHz^lD0HT9M5BD$V&7M#`N1ta} zwi))H2&#BqWsKS|T=LQR&^FK&ib?)w!nK~=YaR7$nAN_U)WZ3@EYfQ#tpYr8L1XKJ zB^>i;&hd*%#QU?9;*v6I{oEI0MiiM=h7zeG7c{>QhZ|*IrAU}J~6FJT+v-#{{-Kk(6W_x-` zneAyW^@NYRCYLE?HV9Ncn9og)yJY3(Zzgy-9-q@Zb%UW35I{U0%x}etx#ZEMrNBbW z%QtpKjtTYQprj(`LH!ljAp*!XhLbuIETPpkmY3&|DK7m+5PFXU^JsW+y1?()Co}~y zM^Y{^bK-XN4rW zUpFjKs4q4;(ky98;ivIR7@D!xXUe@-ixxK^2n~rkx_TAMA_j|gAAY?oM9aL%!gB&%`NOv`jJak$TjV+?z4TL=8=AbRe@yLbZ?fW z8_HEig|HixsCKh5;{@e_cDmh54(0T0M%~*#^{8>3v7TvuK4v}BED)bkk;7)0pcM!o z-))t*zkF6be=pz-kcQ)H_~YysK8(_QL5ibf&9Q6w_hfdG?bz!9 z4EB$4b)O?Tm7itFDD|x~UYLW$ogzE4*AZ5XrLxw-e5sjH(iV-CGJO>>yEK#cZriAK zO(B*1r_Xx}x`&xi0JPnhV_%A97GB}%w+>L*SJkqrsh~E)-rE5*iL|#rtR9$D&naWJ z$DAh#AEM+LbnU~cL4(KeDl0)64)iR`aiqLyz1D50O-&2ceXpzCLtj_w;Y(cinip$I ziMpi?IGHTWExRCylmqsARd zaa8I*qm7(A!v=B|SW!dTAO?KM=lE656?J%yjiEfxDW`RqtGUZpx$mF%hJ!k`TbNm! znfW~=X`8sDMA@%ixn_m<^eA@`CxuO3h@A27DKFH_Y& zL+Ku*luMNMW8^wTgTa*hBEMgzUxuEqYxm3Q5q{cn@7Hnfx8mN@CmzC@Kn({UsN60a6j`E{vq`?r4f{~Z;*?Uhw9o^6)QOV|k^A!0jePV3q)u;#rcrVj*Div~W3-$im=V~c7a26miK z=&@iZEUirnNjo}A&n53HuW74Kz?VD{4$E2MvRalk7M&)w6|k#(!eNpK^DJ8-!&!$p zws7?n+lEnRx}~_H-HYMa4+QOu3GBq0+=7A6@o=04ZEKC{{7~3BUDq5Q=~kx&U7rxH zoZ2gH0CyhRE2f7t518rJpFTUvJkc#qpsa~*F}yM+U}+EWX1nEnG#Kh*^E6L)Qw-O6 zA0Lm-v(F`M>uX6*nQ8=6;w2knj!*KU=?dpO#c;o*t)0O>nr{V7wSOge;Ot`xa>c7$ zF;RCk2lIW^$285OPcv9&IF3=8LkNzpJfoE-{loEKU@_eGiv23jc(*`8@^@b+qkvWG z+*dnp=4*d`^!DTq&nk10o2B;0eg3ACSlMAgVr7ST-8eSILw`Y|AUX-=@N^d)h0(b= zCOj84q5?uviVz_oOBgKwKpP1ZVnO6%Vu51=p~bA^Ga4lD)`w3xxNU$N#Fncw|Uw~rA5;^zF_Y`k!uuxafy31f_E5tT=v}VNi zW%gmh_PNRwWKo$htxnjX-GTWh|K9+nMFb89PhP5H3%nc^n=VVr2MHFpGF1`4?=y?r zT>y1Vrim#g4Oi^h{FrcnK7sb~KV}H_lAgOgl6l+@flb+I&vq$=xgQ>}w5H|(a}okA zv!_REJoYh)g*HmV0x_TTf#(fQ-7QAh&@?_F8|trW8QDfqx#ozy>hQK3kNH|zA${!= zcF24ep%d&Y2WzDs#%BAZrggJwRqKTr3l83ixTA=7K`;9+DbG^aeej=BX8Yafs(A{M z#}R&!zHYOyVvb{6XHk`UBp5cY#ZJqfSYkn|io%`};?603cH{`YE^9>#ua3vyyP(7d zl8DE2$f?~zjHD7`1#FC}hoqck4KtL!(4lOEO=~-b)V#?p35PA{l`4mEy{~B)UDtv= zbu6sL;kEi$P-tU?JRopi;~s?>m0q9`hN&(E9bEDJ_UwWPBD@rh_?rpnI$U zn|NRMI6lMZGj%e$XS_5Qc|1;WSb&PeCbtN=proCt>ppn5zUYE4TWDFd~&LS+#gTzP~; zr!}^6=n+3uq}iyEn%$j&?5?M=D>u!h8_s-58Gc=xO9;uK(`H%y%>IYXM0?)W@RKRz z2JexHMiTE;4jA1sXqg7}!qnJghmis-(tU#mFuH7vE~p`M+?P#xj9gVgQx0lN^w5Hr zAOvq;*x($3TBO}}Nzd{W8=iJAs+zUmq3ym6U|L0K>UeNza8rpE2=96i7_+PDpbwc*z0mUXCoD%YG9h^G6t^#_6N92&4=&fC6jYfwLOB(IPz{MP~ zEhXBo##pNUzOVCgiJ%5zFg&PJ(DF18eeGMLkrvA5=q)80h#~)pb!BTHnte2*ffzPK zu_hXbL-q*}b=;Ubz@CF|$XB#4Z7s6kAs#j6o9{83jcO#kC8>_yP+}A(tUJQ&-d5ozY>F#Z{TuMRYRpi%DEDM&Zdo_?Eps8dHRt-?BL z>iBC4=6NL7(AXR_X9Qb3PF=2RNdNK(sD>Fs>q_hVPONIk_;Ibgjw7^XY3y5JC-ysd zCdMhkdv$7HSyLSKxN+I0(|q0SJuen2c0ZzT4m8(!bjxv6-*C5@nqd~c!6Vo|v}_JR z+vc%F)79Ur-qL%SI0oHq+ur12mv>rqw+CwC3Z=cN%n@$U5jKVbd}i6#+`}a?=v~i@ z*b(y`xZ0>1q$T02kAj!=1Wt2!`HPmX%6H~u^nZ8FV8lf541@y_{yER`Jwy6;G&YF zSVUEe;hdUY*#78Q)H7k1Em_#&2F@=35QNpJ(@!G8YNWS#S!Z%!X55RdSWj3%fu;<-;i!cn$4CsY{v;C@t_t z=q|0nXFH4J;eavTKzVb3y;` zqH#fq64tVkyF*U%^7C%;M~a{#mN_zkkSWbLZZRo6$E?wo+SGDI#F*Dp8fqY79~?k? zg_)ak%vM(k^~>~b5C9xP!~)AAv*cT)PAX7cGTu+Mf3REi&H8-z74+QzV@B(Pfjj+h zK~Sg0mnm+MLW?vnWf>p^3eBhrK=3JuXYI>h4(J zMpx^~7{h3($V|7KOltci-JYwOAvtjJ#RGn~>3pUh? zM&$}Au5kYd-On)Hm$jd4JK4rrIyLcIOfOm%Wy0oArxDDqwYbl}_@jF*&Dge2_=gQ? zh@Q7dRjw;@PP@gudDAK zDE|oj$7x(xSBo4DU0*X~F2Z5jayWR|jT-PSOB(bI@~TIIb^$u){Kx$H{l0E-ZHe{c zMw4aWG4-H252JibLi5ZfU4tc!A{*#V`;6^@6}23IRd-{Gs{LE{>M9fen0&Xp!@?Jw zNbz!O(X9}%?0U_~pru~lb3grlPN|pgjdjJ{YzqC#-lo#J$$spHxjbk1CnQcQ`&5LS z^}nTDJ?6qzg^a;yBb5@`8hPa4awzruW!>|88ROjFoMp#JEJ^*CSIY+^jlr`m(p=#k%K=jGmJ$K|vN-&F#BWRh1V^IG9@kxw274L_YSM|XfXrWy7Ir`NrG4e ziaa|wo5(!3C6v3>jdF`zMuvN5ZPqnUyRLiR)FWsaBW%{yqNKyHdaT@GF8|N`p!J0_QHr4sEif8wH(US6S0QxUbzyRK>GOWE!2No$gr0y~;c$ zEh`6Q4Cdgz%N+8QL($725BFW>Pzcna@B!*j2-JaPIn@u6!&w?R;DAgn*$| z1GT7RwW#!gYElZdsPq9_R0_4I^Z{E`wpvvFKs70cT2%gkEh>jvRQ`Z1s#q-|ci!Z% zpjYS)kAG*cu{R;^saNv?wKQn#%@zhfm_cr)tAfb#cxUW3@CkvL zlVKOFq$S^F)+c}}7*2zl{8-l6{+-Lpwot#qWPU@LyFb@8YiO+L$&}aa_5)EgSW)Kg zj~A$@xh_jK+xDSv4l8H`%LtuX)-)Np_UImYJ*vcxuo(6+OV<|r!(QEsv_O%`|D0vD z`(+hr|BHJC0GT_CB*9-j+fB0<4!$hx?m;DTFn_fcdGzi^go+8~sUDm$|CJ952RfJH zPRG=2_qS!Dsr|WoRjD=Bh!E`~(bDpF*NwfBU^VS({L+U7n@x-15M&5;+b(d)c8Ya; zk*1G!mOyPxQp{*I8(v5s@AUIncpZPy8igjl?dQcm(^;cVw(g>ahid;<_X?oCy&K== zL^@z=&)CJWwG>u7E4X)q1^@hB6Nzr);2u`^q2M0LtS6+x65nItr}koq=K^gs{bz*X zo`JWSz48!an!cvEi2S;kOqku9y*IYljbOJk2d_Tmy%(UnrQf?9Vzy`hWrlicuUury zz${piVp79JVjv$8YO3~^KM2D40-`$}k_g(Fc%r-H=Npvqg-h{gE)i=*+JA7b#=%co zAqXvHEX^qqwEJ71W}7lB(u_QEupPw(9J3se4KUw!ih5Yeeo}K9=X41_qeMu1&InG& zo(PFxXu16`aQGH4zFT@ahC1aPF14X4D*FAe4q8R%C!7r>@3#M!)mxHT`YW^hUhD<> zyNc@vM(T6KDCdXt6`3pAC^EHDm)* zWv}R+BltKx=!{PHlrlEz{fpzFxvMojjxDgYkTV`+L2xmNMap4I|0{u-rPbD998RPi41+XqFh}^mwRGaiEg(q@PAdwb?&|;d!JBP za<=v_ONfoW;3G^VBQ^$ZCFt6y7FT-H4Pwg`?o$w z)$Fyw?zghbmc~!oguFB%CTu69?EY~%VlW>Gj^8V4Q(vJn$@x!Pxv9rxY)^$+BY5{1 zF_Y#@hVRa4H}&ar0g(8c;Xb70e&iJ;D($XbW;t51!oP3Rs1Fzr8Ifqq$}hiXeppO> zxf8elBdFH7P91Ww0c$J)`?suj(Ls1}w@ae;%T+HC9=~+i`^lxE1oZ? zwBf6_c8!17zQu`Jcr938`znbv(+9aE**|*RX=|~|I3Kd9xajs+_&;WjEc-`c)se0v z<#1@63|!GW%W7~+nLS@MB#TOO_Up2e6F(|8!xT?WvY9iWYS6!IR1KmgqBjAJB02K~ zE6$=E5Y`V;Lsyk`>Sb&}h4(Mj;j7BFd8&?t&&`3CQV-eJ0tK~-tPyi6hylJjfoOQk zNg+P)eab$*pSJW}&3HOV5aDav&%L?_r3sd2_QI{b^&@Eg7Po%G@9oFKyZFMh3!mk9 z^G-0WEOpiOZWOwuVJH{()in+Twbcy0*sDF(&gSI7;+a-=T0D-py9wj`Q#^Z>;qysh z5w*>2sl%cgV%BTw5r5w`s7K+O+VnJZUhJ+VA-6ldqJE+a5nuVR^6qjuO0l>pwlb(^BRUqVni@W)xiUE=Y2QZ@)J?pCv%QZTJYRKY|G56$A}W73 zv6py<%Un_F@;D1>l0ay!>+Ku4t*pzYOgcC z$pxVu{kaD${d5BRTL+FU8&|5-~ctq&0S~q4w;7F}u~vYSqK708Z?FS#hwGV5+4+D>^YP!1?Tx6Y?+` zQDOSnS!#H6sK@U%g$0X8_fEU+aWcBB>fOb+N;+ZY*{~gF&%Do=KP!8FgVxGw$UftO zUfioD4hsy3$2`{!AA=Yu8ml$spZ)hv2cHP{t6BSt{A9BOg597kv#dzvWKCf>%;22@ z1|rTb9EBRQeYITX0ObqsF47)#q7iCASSoXndBez%0Bb;$zpz5yjq2cuF7zE4twxgc zJQqpE;2zzc?msfR6&X|Xc_%XZMkR(%diSOykz}+#*^^euo|7usmySlpQ~l|lNGhH> zlE5P5s=>=-9FvdKS2)qB;b;RKFL8v$LU4zp`0V*;v6SuaEjaNVAd_N5iQ zC|)u-nC_?NNM_`8Jc@*PMB83rRb5O@V-Qf%csvF_$Ba2 zrWj{>;T|A&G?JR=18GVP@sr6Eje0y2z?~F32dHBrqdPwu$q=l8FFQXXh#umqlRNHx zj1-~(EoB@ZnMQZQuQHCDqR1%;m;>XID0`wWD#Y*e@QshQ-;&QS%Iiz=`ii{1iaLy( zA8r4-eE&vFPk7!oH4_l^tF&@hj4MU!!YM9=7h!22Y5MMocu4^vI3um}5)&4WEk zC8GUN40VbRDl)qBR*K#cyg^Oyj>a%j$w8z%PQL{GqC+R`!Ppa5iJdlX{K>KIvH62O zr~g$AgyFBmDQq7*J#>DHe2x_dd9z-ge(Y@MU8I>WM`c!6riGKR*u!q{N!TpSztFkO z@&tk@qDb!w9~Oq@YMINyX<4MJ(qEb4AgrixuAoA3&;mSNj+>>@#5ljp=WUyu24`_I zTz-l7%v!8*D22_N}M*&ISLfe8tlerDE~6&kR_ii zrFS{3#&vTUjs?yWb;~mMf&F`jd4wwO@i)0$$S=zrWP#!4a9EvFyIf|2>zQR};a%hs zE0m_dy;Ie$l5SO%A%t{!iiOw>?uk72RFTT9u%>L2ehu!sI_n!`7^VX49Q&1Yua&tM zGMtCxUE?#(Rc^mSxm4*l+Nn@+f6y@OJX_0!{Q|iV04zkWiYj`ji0U0Cb|cz99_>%j zOtkY>Pd|!V~TMXox7Po}5$3C=I71{V=2pB%KglDIm;&uV&bW4hF-cDJnW!LG5hCZv0z>?;>WyQ3PxNus z;>0izd1z1cP4o?upNivawEa8uKhBp9Li${zjY8<`BVIswcjU#Ow=Z&Ln94cZQQRC<}j<|6Q8%NqW&KpPD zICMtjh#E()am0;d*f`S0ao#xE#vvKO5jBop$r$FaUKfvSvz~leK<0u{}JdWY|Y7=3zl z`+PilNcEEo(|R%yjS&Z_d7VfC3mh78qgkwPz5#yvTcB3${~AmtKEDHQ1B^R!0CQLY z;fn%521e&VyE3D5#8y)R8o^*Lz+<=nI}B%f^-{>o9Q+QR?KV8laBgSV`&;m+vGY4j z0=B;cAD5%J#JG&kjI{qCL2V|cBbA&OA5wknBwzYE?0yT z?KsZyTP4!1y{1a#i0fzu3CH}FL_{V5g`%gxX@yeq8CqnxEgv)w@i}_>fl&AFs z(x=}&1N~(Vdh}2`$wiMID*pxg zEylUWUl?6PQ(nMh5x{r>kHwKRO&A{;og)<3ekU0pAC4YPCun^h^uxj(SP9p*PC{Lj z8GRv`#PUNDD*XoiRt5m+8>1`Z*7R3Zs4(kirm0sh4{>IOe}F=^$A5-LW(&kH68Y)9ubT7v^-VPA2h^O`c?7D&I>`}P>PSX4x3vrUNo{3`Jzw;IiGU5M0B9id zV28|7ot_a{$A49dX&+KOM@F~%c+ndrCP#muP@)guYN82hj`mJad$g147ol(BsMwGm>7DxD`UGhA8J~Tv$>LxI+yoN(ty)J??W4JRS^Xn!9_O>NA8&OzLvJkbt7}#g|rN+AHqAzm_b}?8ayR0+2>_Z40binGX|(5J*gHTmC1=DBg>yq z-{X^4$?O=w_=N`xzP8gT$>l+y(#ZD7)X4UDivGpZeGn_A61-YZp(~yxZWee)gg28o z>9vbE1ga~j@ee^?p2bM}>>yK#R9uJ}<)5a{1nRP#^86kYLI*!xsuy&UJd^2|h%{3P zE!0F*owJVGOY3(^M?5m}IDiVaZ`0@Nt$!#X(eP@DouOhZi^*t}DXgL;$ysM8*^&7EcB5 zji_)ASS~?$fi)GqI2VOnl;qM+;p0R~`em>XLjN^oNkc87ogi}C#~6`6D|7m1S+sbF zKei8X$d@JL%N#N+A@b7X;!XK@lgZYw3_HpdDEC=BDId7M%*94BbtRFfQ>#aVq0{7UmP;LctZ2FJ?4{m8$@!A z6SB}7XR`7(ybek5pTpgc2j@bJ65$Q8(h!%*s(zYTWBH2H=dg;z10h0-Sd=^thA=)c z&WzwgEb=C{`8-b$r|Cb_v+dI(8I(1i>^-R;g54lz5U@^T*Mx<+(*WD{sYtT-pU0$| zN4L+6Y-fc*-!2k4rJ+akSGYYbpu;kov1h*51&aI_k4OX$h%vCJ>P_G?fzJeg_Ttfp zM?W4hJg|mM4B(N#V-Sx+cnsl@#N#j?V0scGc#PsPhQ~+nID*Gd;c*m?6duR$_$VI7 z@fgQr0*{}@<32pnc$~nRAC>G!CHvs&V;8EM#AgzpN&ZCbF-7zyQTsuJ4kC0Ap%51I zLQv2f=TAhABXS&(A#CU!LzFRgA<7t{j3LSxqKp9=V}QmOpfLt$i~$;BfW{G|JyIJg{z-(E;vio0;hocogxN#6YfsRK1Nw3ccX*La&w_upA<-M2tk}_;bjjjmKy4 zc&n#>B9-Vj;?;5N9cUp_6uEzd@NgUpBU<;3$A=+c2LBuxV8S^tknSPx)bNCeuPI(% zJcU1DlinUt{SipmU*|0$jQx+Q0r8I2$#XHK< zr2u?`yEiOX`e1hDWX$6KVcycQz?P0qP!|z_>%}`h9+lo29w#1-g2u6GpP>1X zr=19sl!)L{gcpqwo?^ZNw0Yg*E@aCTeqY1`y!!S_*pI>X2UB}=BGAS3Cg<|HOjNJ) z#|!fD0&`+-3!Q(P3CipIe1TWZyfe7{8~prjX1STx5#^-$MM!oMo2lDae{7%UjV|!^ z6U3_Z63!(xtFirc!)k1QUFtr%eGZS`V`SX^J(@#?d5`cMGnEiNQnH6IcY|feyak^m z=5K0$Oi8XiaZK1F+mq6OzhauHXBND9zl|Lfhj(4tZ;tDCl6QS2$i$Bi==gEql6INw zx8E5{C&X`LdnVe~hmdjGPrRb0gm_#^kZnJc7eoB7xD#fi6K42hQa&ab@PEafFvHJD zPjd4PaGn<5oE3Oe?dG|Moie4ogQ*U+fG@p?2Pc;_Vit2N*O1&iS5h23*SsU2aoLH2 zU?(#Aa+06C9Tw*$b#nCOeva_6fU5?U3K^zwLXaAZ| zImJ8jK;%f2i0QwLVR<#O{iA4q4EX#vG|NzmXjDae2*VY|KtFF75W){ATE7xQK#RWU zkAEEPANa(*yX5APuJOus6uo$*G+4pjBVe@sdGewl zY=fhPSR8-RIKE^YUonoaN^kLoIB+PQ8kvp@L`R;8Go0z2;6g^87#%j{jZ{*D(l;X& z>Ol=w@{Pxbw7bBoNnOrwq_|H~47n5|=|tZl12RGvfQP#uV2I0}+(ci(^gkNfo08qI zVHNZ7Cm{%DV4x8vq2DQDiBl=65fwc=va_BV-C0Q(hykObIw8Yur#Gbofs@kGVdzkT%Xa4#_rVO1?DSdT5wBEMqo~ij3}1Ve&n? zb13K|9{3^4Ue9MZHK?nM@1(9Y+*EB{OT_Y=hrriD)ROKQc_U4+##2dADTC9|QpLFW zGF9Zs`XhMo7B2X*oirW~;&Bp>(|AB5Yo~xm1&=52IFH9P9#7)|5x~wo9*cOqfX7RC zU{$l@;BiC5kMGh9xARW4Up9t!zAdls!1r4iLZdrx@rorXA75lnVCSure11t@kWFu2 z!sA)y8!z$mSz#wx?nhpDLb|u}>*@Wh8MNR3|ASSBpE;PxhC}v&?a|J|(vN-c)8MJy z&eNxMv+j_&Thj%joyI--CDY8^+MamuAjTCwcJOobKXWh}BfT#`%0Re%jmRrjvp>M5 z0HHCqDB`@}8e-lW-187NC8EPbL)zcBJcKv@q`Y44Nh_#rLFFwnBnyps8F%08$L7s9 zLGvf*9Zylz0bY>wl52<(4Md`m-bg$$97#vcMTzh+Z^;A3HnZ4Z$u0Ym~Dt5{-{ZjVv8sDD!vNvhU+!?dQ1^5pp*Dk<~S&U=T9C&hW+_`aXiN{a7G z#!{{K4{0^V_eXbrKc3JD-^aWn{_i0!KKm&4d&J3)Zofo~g()HFxv-Q;GK<6u_f&E? z4u+msdr?v5_4))=9HGPn5sbk%k|+2W=11eqLdz?XGOvWZh7e;M3;msSfN#Y}%y!=M zT<;rYtnHVuz)b;zch&)co%PY3uZx5JC(~fRqGs-vc`%y7T4Z$RM=4sE9ug;IZhyQ_ zAKYtSN3{_ZYvrByQoQ2Zc@K;2o%d7vlR)2-jH5DISG3*sbw%54=!!y#DwSkyTY{y$ z-=`>ee@{@={-AE~KL}+PKa9iW0Pc@8Aca6gw7yz@S`ZxeA* z0j95>{?Si~vg~`KpQ4Y?h}7USF;+SFOf;sC3mlR-@JU4;lJKUk5jDCH!8!-!s!o$^5$wL&Kt7ypBaibPLD$XMDNiz zPU;<+0lbExTc@yvMFW#}dxEXl(zoipL1nB@twCuGEv6Hw?Mt$ zcv{X>Ktq?l=CJaJ@|$2qefkC~d(bNt<$!r?IcJ7ck8w)0?E&=vAv}h;`w+yX9OCD& z(SaP`9Fd`Surd)P;XM`OzPL{8#?=)9Zh^{15-p&z%2HU;K;dlS6;~PyWGYbIpHL z?j3vmzfW#X{^5Uk{hwWa@ccjf<^S@nzpUo}!#BV2yHEc`{`Zn&-#YPUCtgbZM&Uo7 zy7{NS`mg?n&wcww=E&dtC;#pb2md^BjFm9 zVsv13^@h8#yy-eh0>2xNXpO}IS|cP`CBH8g#ZwUx0_7&6Y!>&}eogX*Ta4fb8Ng87 zKiNW)Q#^h+HW>H*$)Oc&!eIv<+r)i?INI`E`7ftRzMDwLB09lv42iz0)6)M#Uf4+c z%R{jN?CZ%ttb`K~yU}|HZ|3rUs880wV`TepxwJ3v|1TfHDUvVffTTp5(4T!VY@ZCJ z;}NgsUp^M=OGskVMDs@M_7^bNaYTow(!bN*+kYogyQPc$96w9~ zpB+#v!XDYd3h#~2r(!VzBUKwmnXuU+ZX7*|B!;20LeE5kih%r%_ZNnvacV{!XBq}# zn5N+xjP*rR+8vAa@QDYsJ*kzx<3{Iu5d7xORuteIV3+TE$Me0zzL?x1M`Jyn2mSYw z&`^v{j6-|{iBlhh#PNi$ZBBro+|d2x#&npB3vnb*ypn=9$&naMhhG!PYmx(~`am9n zOmB+%c${%}p4yD(KonzX=QD?qCD%)eJB*~(_n_teSS$h148)_B=fpTcXkt8^EY>R+ z2c9m*5QVrV&gvL(9xB8`d~RR>z0nuziKhs|qVcG71a=DuA(DOQ0B{%BH>Y8~^ULES zJ6|RwiZc?OiKUVwnG{q|=Hno1NQYc0Vv05DPm%{C!#J8x{N}hoOTQ8TYx`>&P&7WN zx4(!Mk_S5y;z9ulc0ocq&pIAo7>^B-2jt2_2xgHV1dZE=hyn~yZ%{faFcIs+{s)|B zA$o%vJHgG3QzPTCSRcga(L=F#3SwMoOspq??0O-IO#nb~2pM}~&>-UDQ|y-)XWs;1A#OM=Gy~| zPE^l$Oen%QVbJl|5Q`kg;}hc}6$4leUK~E8*7mY&6JtytMc^&9onIT-A@cH@G`aAJ ztd9`z+P?!AYphBZLNfaXv{K8M8YS4xjc&g)x_w@PMA(U)tN0L6NF+9;D?T>ao1{vN ze>64(HhXmEYY8eP$t5KcI9d@0*!vjuzmZ6@Y@eq?9Q(xPEb30nKlJrC;1;fTrwU4u zL_vpQ{RC1_1uB^k2V1Q31Yu^1+h3z6^=b5IY+w}Q0z(6!-}w^2J2B1~v%4R-_N5f{ z1Ft}$;|bL>KF*YvW|BTRJ{e~eps2tuDoik4W9cEI_Z!n|;o(@nF7zu>TDu)lpI&%& zj(CBy({5||`l`EeR=%g!Zr-e|I>z^OIuz}6`Z;%_wY;`^E_*g}Hk&P<&74k8ZLMr> zZMf%F-L1`y+REwl{8oKsx$%s9XL0QnclDf8ujb43M$Rb|n$2v!s#G7dC1^Eu;-^MO zh9hcl>gk!OXOu zg&L6D?;`26;$Mi-J{rhL2So{ihzn06~*?= z>?Rn?z3065Kli@ncL~{@veRdt{sgL+Yl!sKNF*$diiJ^=WdfWmP&;;`>VQ=V2N*qU z=1B{bM{OK1j>khXUScdFqTq2w3x@O90=|%+n&TK3-9HijtQ;1c4at~0Mo-9)%t{P5 zKPQ00%i)7*_}QypC&vR!4)Rx~CIxXxbxn0orPDdC2+M_)8(kpG;buDe3s@6*S!vQX z#D>HaWOJo;f1BrPt*s`$qOnF}Uj zyzE58W^-6M+$jFUXnwAM{kKmBX48XKUW`XKG^%i5Ku~~8PYMKWP?5jr611RzgqP?0aN0K$;Q4|P=c-gSEEY|G@d{u+j)wFPge*)<<+EQ)M@1b^ zG{LEx;NYK}5?-?qoJyL7@K0U|D%zth*@%76n0hp(9{Zp%4QNaQ_CaHIqcOX&4;r%r zjoE>H(3t&b%zo^H#=J*k-eVs$<`Ww83HwN_0035wj!QEIfX4{{1Ji&lrlL|3*mMF! zH3;aL3UMfqliS3L={~PLsa__V&(o2g+h|tQSEPlXHX3={1uCp$q2|9k~~$a_y+kM z0HULK+a^U!S08*N8qK%Kkb-yv9%Asg@K_<2#?J!(skEGQE=`yNP8F7bLmSFX<7LGN zSXn|Ax~*xM+?;eiM`#bS@r39r6L}dKv=lB)z|G|6aXB<0pPz-pknoET>QJc=*ox~h zlPS=H+i=7w5Dn2RHp7;g7Z_M=k|KpHRm?Z0V2BR7el0b@9J)%As1&$LQQAwS3R(Ch zMSu*0dN85`yaWIfB$rWASM*7h0I&?IECD4?!UmE`hS(mNf}#6GPod5Tq)rvp@dUiO zu?db$RKlYOkVthh$+N!!(4P4t{{>OO$6*I0O_HihM{1537TP$xd}GcZP-NF zxspF;R1*~RFW2_laB9fg1 zNN_MeP-N_@SsVZ{4G>@Kg);T25cx;58B@(5ZYkY+A|LEak_H+H4;xHp*o~x%#bZH& zZ2oV*$g*Rj-rpiL%~)o$OJg8GL`3^h9EqCBP&A5THA!SiHnKFID%?^q3Jt5E?LcRW zEZKf!iVsO&rje4!ADT)=zbOc#&E5tc&t=o|rnsQqyE-+&MQcL8{~$==~L>2P6w#8XKUOA3<2<^erS+tBZJ zB{-aI-~mDpqVx`}x~NzwS~%5jY$r6nZhuLP>Ng=KNm247sg?XqvNTfm7?GM{XyNpr zEI>A&7UX#osE#Dk&q|S`{!o%8WJbtlBv9>1s$@w(l7zneT{e{aLj`BA99gys5;~4r zIESA%gZlGU*!@r?^&i$q`C22)q=v^SL97cy!~hmQhKUavu z(E(a$EsGXPc7`+)ZxRdcp5c5BSBRl>`goicguSsbfev&xT0j8hD(_&|G1`*Ee9yNET0~3{W4m)5L0s5OA|u0xm6z3r+&q z8JIspz)ur!g+f|*wh+q}$l_(tLQ(-0AQYnA(!}Fb!?k+IpE-jij2^$s6 z9e^Glrz!0!n(oKX&4R9x!TRuHvD0N~MeM9KnnZ_}Pr2H<%sEDa6Pn z*uDNTLU~!Bed9n0W51SwCczYYTBeZA7i92K{xI4S{ZsxOgf%u+x_F#M|274+NG1gC<+#9TNeB)om`5&vd^Av=5L?wzTy`#KLmp_i zfR~mA+JgfG1CElw%Z9H?8i>QW{nHuz3d{pDSZPA3y9lh(Xf7BXtaXyT9mA)gXG{bu zCmmZ&BlyxRG_(Y42Z7k=bZ|0oq>)NrE$~PZ^E=Gvors|V@e+n40QV)JpD{uj{y2Ks zKSo4gZ+tnd>>REjhR@GP;pf8>{@=xzD_Zc+xgT-SkRK(}rmyw?o46ksc?BI(0LV2R zwM4*6%}4N>B!blVP^2f`Z}#rptJOX@dh?0*!Qp)MQ@MDn1|Gyk09GgQKX z`ajC)AD6&Jne`ITBK!h3~`WQ!99xUbe9!VYquxE_5kA15^ zYf4dw68u+!VuP_Do3Xsaw}s4GMA^6cGZIm;l$=zwcm);VUXhTskgX9zK;@UHN{qxA zh8zyB(l3?10ddwC*cWM~3Nn={$X2TQjZr6AYVN5^QiSGXm{lg0W(@wIEKjp|5z4xt zpilkDsF<&KsU!(L^(W~7)C~l_iv{ah3m|ieBvrMulCH5_-@*g2*0PCtEPk8)x}mSo67L!I>z;2)%6!%#O+MJOK~ z8mnU5w{;>tM|@FTfLV9!uc$q-7= z7FC0hE&XTxiQ=YaU@+_7J+>P77=p@hZe|Ks;LBzMoEDGrMw(z>Q2tAC6Zoi;6eya- zu22$H+=N;!O3hO-E}`_P0DaO0i%O$E)Sm%04WeQyCHiEt5+<~RayxL?fI{`jm}m>? zcTgqz9q^9wI%`oHUk)y3l&ps&zG$pIO72rg3RGADSnn{XLXyXVFd)(gV=ew?V;#uL z;D&_%+t={CKU>2;v;&=vzqJu$-;4}cjS%$%CQ&D#qCm6gB`O_$i3W=4SX`|+Ngd>X zsbmmIhEW8VOa{RNknw{GrNIs4LK&geiv6a^V9irCHK5m6@Rq8qMgdh-RxyC8*#D#~ zV?1n2l9vhfXORSD-&a97s~{^pc!!acWL_hD|K3++gr5}jow@=Eip~ou1hj|7R0(^D zg9&U!>HRSokQE44V>VU7`vRxuDJwkcb&c???o|vy6-)tt;&3o=yzC4v;5UVjS#_g6)YLnBxMKqG2NeL{PB?R1`;XR@665wq`mN^QA2TByy6wg5)kQxsxP!Maf+m-qAO& zz$bl@G66ch2H+$TVw_-IL8sP5H&6~c8PfqFgNptJ-%SHOizGN3F(qxcO( zkc;17`-F;#dB{YRQM(0|H$eTj3RD8}k%Df*Zd5)dLRq?^c2tuN`e1^>4~-JM3e+xn z0r#({n*deYh(wclIEhWKB8i0Jn^ZW?P>qkIf`(xXxWJa9ps*IwXC;ahD4Qse*DO(m zv6wsnHedn;Dm9V8`vA3uNl>%{GN7-*KdAOXK=Y#ze~Uz64LfHj+9U-Dml)J75jawG zNlFyW5*>&SOB5r)h#6D$0N5&eNuWSk6^w!EKX3?jN$^yGA5aE7t>Da2$O?eELA!+^ z{H|nFJ_W57)b;g=B)q;49_J!i_)%OT%9a#5LV{cfj|hHNT1ElfBOGbs&|F>yhbtgS zjt7jqf+joY;19=?Lq(B#P$49SLJH)v;Fci^xLK@Bu&YpjqbbUzfMZH3+9OcW#qpAY z$pd4-2PKDNp)x5I)02W)e&ALDZ_t2e3PlTaNuvE{OeJWDYcOS{uL0Dv0tFSWQ^By2 z`iB?}n{8lMUsL(JZp`qph{3Q)T)9$>dBz-#?V$# zQ#495Q=6kmttKhkgs>Htcg zFot9-P5JsZEDm(25W5wj-z8Xmsxse7GT)#b-`pi>%5c|<_hX&JLB)2mzQm?Q9#un> zCxIaVC!Idj!$yBwfGowc#ck4ucIj^}K=cGOKAV85B1!vJ1WUrOAlDv|olr6^cY;#*j0(qKCl1VC87KcLhf zAght&^)W*tED3IEX@j7I6>VuEy5GoB>k@ROslel+SOv zadyUd+Rlixvjd&(;Ot66+&t+no`?r6HpUN2{E^Q~^WzJ+IGiOONAvX$M;n03k0J#8 zJRUfPX{mgHgky@s4Z!0}({pmNg`Q4MLaZnbED942IPwK)P8jp~$9ix$4*&=J_}K*l zURrt%?eHd=GlDQ2z?TOtn3tVxPa6r6*yCwdG>AyDvI^{JAz5rk98Lv~BSmpDxGW(k zMa0A7MC_mNtHXF%6J+ouF9dOBAn;;%pf@HKLJ&8^8GFFeU7cNB7<3mp%!x+RCI7B0 zXAch!*VWC#oz39VQ{0^C98PMgE60PuaCdfR&^?&0ZcL_oD#P8Co8sZjWH>Xq3_6{a zn(D%3x}-AQQ``{_*Ny1`X3N=)fiRt2Q#c$3!`TDjq#`V5SC$9E#o5h`>F(l=fF`)J zQ&JGFJA*-I(^I+bY!;Wnb!IRS7MDq9rFgJ8ToookC}^86F&ti%SXv;nH2$ z4A3?YXSyq!?!jWXFqq)W4OGQsa$VRi9Vvz=2o zZlG)K?yiW33&_o)GnouJhs|Vzp-u-wo$`~R4hVGnHPV0QNR#k50yhg?=|r5=89EeM z_DdvC2_)wJ+XO{?2)ZK$tn3l|tblwrHybj$V$ucti9)H5cbC&5HcnC&^sZ(9ko zIwN%F#Gfn%G+wejf0mxjNx}Uuxw7pP`k&{(XWGy670Kkou4HhE`e$SeXYsOdD9ee< zb>w7ZplM$$K{@I_mh$hq@MvZFQt$XO@o=7zpTxr}82rckDB!f^zNTo)F~D~mE*h5% zz5{SksMCXR+z1d30pEe(8D0nEo`1$ktmSaH-2VFzNjVrV=iAF4%@v3GM+lVsRBZ_A z6@ibY4?y3FK|Lry8-CfJTgR>jxg6*r_#01EKb91M=8^s3loZq#ej?5c#QUMH1f(XR zP}{;6v@9Iw2znQQTA@naRzNor&^<(+#L*KGK2QLqFzP>Hz`&s+hoDD|b^F`g9z&cXUpWOT2 z;mXh7{dN5hyl4ujQbx_7|L%tTy8b(^-7(;cK)@m5m~{$@151NTdsXoyLX9|PF^F0~ zz~kx4h@yhL9fe3Rl*b`q3QBegcsab-oq(6C@kRzCdNMI;h$0b>tC3qxD8eCTGVjT0 z`()PNiFtNX&*2Jf@A2y8CZw!I=`~`?WkjsdfQaR)YKYKLy*hb|Pvh8@>abN~&TTrd zaO(|3wZBz(6;OW)+8ko6oPri1Hkz)3Xu*JzmWn?wjpxS|DJ%ecJ{-LT zZ(J&#c!`!|AKQ0yx)ri&?VR-MiEo}T29WNBhF{M2d#!iPQKb9?R zo_|(E^d6o)fb-kz`{XH%DPct;HOKocTl(tQAk$aR&jclCtq=PRPqXY%zdWn)1NlXH z+X}@)+zowIMIo*;ydn*{=9%ROIM%MRzo&oL@a(Z?3q!JpI?w%Z{4uqMn?8T_@G!AP za8&vo^#j@?le+Y^xW}e7hEKN-UK>~9diA|y^=6#TCHK#U3YCWoPd+ws?l^t;^@cS> zO3u1%%$;>(H6L_c-P23IcWX<#e$Dk}i=d$2YSpsV)MZvF6dUatm*&uNz~69zx@d00 zAjNAZmOCdL{xWWC%&d^+g-`G8NNnRjv3g%|rSZLoddK7Q^WXe_`2&9;i;=j0VSr7s z+rU(tg9o~E>oae39%)vdIlfoM0s(XHV3-YsO4-1XeE`yK>G z^h}&@`1xkU>cEq%_^LOB1l_^KHd~mb-L1P+qc6S->c~ZAcOwh)wAYUgP0C>nAEG%w z@6N&aGXiy6-xpVoWm@H>Yxru#FS})BhkreD_^6xt7evFneS(rti6Vs4)h*0MjVk3}@Wax>P#g64A~I3>jK|B3M|j8pX&Awm>O-!Nr;`((EzJIADj~cfcMya#396^T5Un?X7p~6CFa^NgMNDA_4A{9Il zAuA}r2RZzA2M`hNI!_CKui50hXLI*^F1;MrMlf9WE|}3{zq2DJwYO5R9d~+L24bzH zxpJQWs?bj>*A!Y^ao_Km6r8!}%8-!P*86lt0TG|75A2-YmN(UX!Wr}4gw69VyjeKz z!4ul0D-i`{%gW1}cOIw>)}MOodXb@qf&MwxQc>L7QxEbwkG2~n`@Qq7{F2A?TG_hv z!m!&mPm--_7sUr(G5mbZddR1Fm-0$)Qya!6_NZ=r);6>D0P~*5h(EISxvlu{&@4LP z$mvJpUat1O>9^bEWVna+f~9Y6pO4ABkwnlo^>HaA-e1&s*eq8VbtdroQ3iGOy3pC@ z_<8R3(}x(Iw|b=i`#e&E-?T+#G;#Kev!|bbvUN=~o#_$V>s~%fvG$DeBf8-iM}tJ> zgnPeNZ%|UWYL&KYLC1*XJCo`|E;z2uS+M2i;I-AIrVpCqjO;AF%x!vHHaUBIN6p?( zo$^ zJviv~d6UU=o;N)?v+Kn~t&UEcA@!PD*EyMI_`Vk>>ZG2{pqxHddgQH@iwY^U<}!&e zZk!Ji9Lm@jN!z!@Xgc}+DAml<@)35Ahf!Cq`&6^RR3WGH)zzqZpSDd8HhVvE(2i>2 z)6#&~J6Kr<)9+i2Eq#1)+osQz#+_^<&(gU35r~*<1mG4?0<+{*PS{_dZ(Z)_=Bsq^ zS=9pBC8G>r)_)LQprDJ6vBoga<;7`#7F`ojhvmp?DZ02Z-01EOOt)|QsRqUY1jygN zLDEtj%4I>xK8SNd9I(N#8qO2uu-NJ2d07%!w~%Htj4$M7r_;VB*-Bp^{?!-$9E4`? zdieeVb*y>!rc>K2hHD>dk3X4eAR6eoR{v49^Yum|8+kV?=yA*EovKIjJ?z%&?T#E^ z)i7&5r~aUEh5M&rTh|P^dgp|4_~pF2-i0KE;0n@~M?O!Qv%`yvlKg8HbyWMPML)Wz zH>Gjz!4u}SC+{zd*^|~I_wMwyw|5@jk6YW|GHShQ@W3N(3fHE~n>=!l?{!N%pLJ*N z1aH5k-bSlhu1t7%>$KwN0rCTfr$vqLo<#$0UNkm5d5KsZd%U}eI#Q=KWrj_{ET^XndLk$E#94B>?l>$CP47D;pHxsf!ff@LGd6rPErD%q{t+@?v%RsrYW$#xJ;*0Lw^y%sS5{{hAw0FO<>&3Pt4D+dW3%LJ0^ZxPlcy{{|lZ6kvXZrwzSo18%LK;q5(eqEB0gxBPLF=SvYs zn5-dZjab%LNWmMKSOa#EidJm2LwHm`Q1}Rk{vGozcqJA69K4E}Ffb?Df`~RF(KV4Z z;ibd>DxeEuz>`CAa7fM#?AU;(1~@cO82Ce>jK85!FAT5(3JEyPyce~{ya7$Y+#V`3_uHB+G{eX$-g(w{LbEh z)!Li{l|ECmS+)KjD~?oolnj46dfglMUF%9VR;VC;+*gSs;^P{+jqeX^O6Bccu5On= zURSlLUW~ZDcQ2_leK|#C`1)0CrjIz{e8vSD`EB`ua*LWloAcf)7>&&+-JiVSkE&Z2 zezQArWW9(dDxdQtcKfT&M1bzNf5%^2tT=DtTm+<`$;3}1xblw006XGzzjxYo{3 zk1ZbGYK|~eUShPqs&2spI{i zHdP0)`1+z89UOg)?MIe}%75&eWtYjhVKRH^FNC%`LoExQpN5!LIl<<{pUex$F>u^A5??oW8LOzBL`lGdF{w0Of- z@|SsTs)G`=SB55s@7kPN+og9({^T%T*R(Oo-6^)7xAvS^dZj2tRB5a7*#7?FBL4Oc z8wH<^*}~i9Uk=WCU$#ZLVH@pQ@3e|X-BOVSWuQhYgqlj_CJQ{4X z8?9#CTz9wBHJ%tSw`8u|VasRyFU%R{&vScw0Ej?$zeyWk z6n?tVnHFm(*n97)XwbzCC2No7Zye8GIPzumCb@CSi3NfwNw4x6na$7b6!r~r8_-gc zKKM2F%}cpci^M7wvzu;?xs$am!98Tw9KR1v8Y&I5jHfJorKf7$60X0jyUcF;v`bs~ zO2^|D|33Q6+qE&#Y9k2Rb5+CHU-oBRFSsuNGx*rpyyv zancyO`G}zwZ-XXHe)1%}QFmCUXQggc!QGiYE_l~j63ub&8P$i!3!Gy!+RiHXHMMo< z1un0dsC@s3ZoJx&Q@b*9^roHFJaVVDqp{}6_C=Z_y?Rs2oU#tbomo?TZmZtukEWHh zplcEN^FuRN{h(tVHtY-+~ zbiZL`>5)JbK-GyTN~$=vG#Jk%$`QaaLedqKr3+gfFIO{4ZX^P?EtaYDQw9nD9UJSJ z^YJa5D{r@Vb!`(4BGiq^*l@gspn-esefOAsUiRbmkfUWTU(VmqSA)6~bh@(};^9K4 zyC>9$wLmKr4k2Q>jS{j!WjId|TG=;v;4m*+Qju4}_hbY6FCH9&5GHnTIREV6kU1-y zUENS)+vprtW;Q%W{CrV@!5LvXems03=6-|z0S(>_@-Cm_sworU3Rm!OM7~bi=kEhMQW^xiCgCW1+glu z*DDk!dg&}CJB{b8{iIN=du{##4=SCo_=8~k63^IeF5Rs1N9%2F&SNJYm>J#X=}<9a z=vJ$>?fdfc_e|2g7kB*7UQYDBfx4X$!TZX1DrLuC{@&&^WzhE1(X)MuO*+pALTpUJ zicF@*bxwc!inV{UCuz#tx~zw(x9=yuae6wtb@-x^^an*}#uZ#@QJ)`Z`^4Mo)sBjD zVS7?f?%N#Uq580*GRYv};G4-lS$y4%%c>Uzl}<14RvD98VW>3V_v+0p)jNB`v+|GH z3|T`}i%@XiOTOW{zRBc|{CHz#*SoO!>WilizjyoamUUC#IT)FC+Xd>cF?h@DebXF1 z!Eq*0V|D1hs)K#u?UUV}EBLp^esO#Ju#n!_b2#c~hwkKrsp~9-HxG?lYUaRxIO@%C zr+KEZ8gbNF;8p>5tWr`(Ehw7Dx!@@265l=3?lSs&-pwVy6g zKIb*CQu}UHHIjhg;n7GW5?(XBCbTr{!J>ChjAz_4IPv4{L@TI)z)VW!z9T^H%<=bA{8-MX%VFa-WsDMtfku zjA2zn?IJ!JHLWBgihb=4*A!hA6;-xqHw zMIYL~++Cr*;R$YU^02vvo>4mK32+>bg-e1{%*|ZeT zsm2|Cl#r9F>UFQ6>>w4tycAuj(k|I zl{~KLL|c#ikx_T8Q|#{eo{HY{g`uAI*2=kR^5?{%m7+@Vih8A4$3u07U9OrJFxI80 z&En2G;@YYXjEXiTDZt!?pq#wpaqgNN(=C2E-Iz532uU zlR9wB=3vgrs%I)sTVc9V&BZiAOW8`eIP=}e zjf5$m{C1T5q483<{kLa!MJ46t`gfoF;dNARTAhKN_t0Bua~?-}y|@bK7aNBsm$x_N zcA6@1XII)@zR}IQdt=^=K-}b;{=PGB6^4kg2s-*feT_v0yQLplXdRfH=x083o zD4V5cxts0tsZVaaGi=KFH%!g6=ahBqjP~`%jL*5LCSK_<+Sts=@!4=laBS}g)9p?1 z!wWuNn=4#cZ_m8HF8Jz;2D;X!k+zGi9pB7YKX*i)POMdSmDRKw!yua913z}r(_(CBW_9dqp);(;d?9IUzXzDV^6@?{T8$1dvCGsEd0zo^u7^U7k2GY z)v$Q)%fzzJzs6{pYZ9jQIT-kIvZ%+$l{8E(`mmTM}OW|7*0);jI zTu}2<$nCqRPn3*rGluyXx{&Dt&V2wrJA#1V! z)}_`)bpuSSns?n9_~h-%?FCCkYvM}llmbrOJvzIlv+Bc#^(zG1j-F_49yj5}ajhc7 zqdQlfn=xa+zVJ06dnTsNe<`Sb6iSHN;68O>bp0S>a)?^xIp(C>Uo6>6t?j*rjNkAw z^@#7e@SQ%(&CGl*?$R1??v`=BXZy-64;d2{T(cVA?jfvOj}JdEWKjN=uq_{sE}HyQ zDcOZN!#97D$D`_dw=F&y+gv{JzUyUG@&~)?Q(pzH$h9}Iwzs;;*O_c$Fw1TC!q$#g zdP_&0&VJ#3unKpVrW(6y6%4rlUm?~{=pkRBFc&&33Gv5(RzKb4AtR^(WEUL}ViKVBp8%YH z2D1)!%oC>H+1H*lY%pSu@LakNZ?JScW#;v&{Q9WF_iQ(K#n%1XfuXjLV;9O2`Gp{VK zD$i?F($KsaGneot1;1!pt!b3HEa&u{P?JsyduvDQ^92h$S9;yTwFg+v+_}u(z;5cH z${j7N%qK24j@=EF!=0T%U36q_uUTWG#;$$SUR|lkw)Y*oc{^L*f01Ec%G9?-4IjEV z>s>C*B;7l(tHW=t{_gb?@%Pj!Rm_YVV{9#FW;~=sMF!>kZdJe2H}}q@`sCR|PVK+! ztD!mip?bs<`mxgjU30~|g<-iv*xhEyM`@Ac`P=JCXN4cW8j!q#_OaIF*rBY;ylAut~BRL;T@3kPtcn7<7W_OrA9WK9w^5 z6gvG_Oa`KX!6zjIKy?K<@QC|CdjOBeW!D_^ON{OGNUm9vW8}3{_ge44k)#95>T74% zcTXR)$#9?fyBUVO81tuV%O++XFw}mnHEfcT!!D2KufG)Sc~{%}N^obu{wU(f5f=yE z>2rv?@cwmgJu+$8ti~~|7cTkvFZVNhvRF_XykqH^72z8ch*}e^{aZVyb&cBi;-HiA z`bV!AgS&f)CuVGH3G*><4IIadY1myGH>Z2;6|b)Cw?0v?zn++o7*oN2UK`={F;6kQ zWEKDPP1#5g0Z@kz!WAUfamlEssj|^WW+=bt?YUJiIHuv{b(#6C)L`)Pw_V~pA2zLH+UYiUb zutszVF_dMFtA4{5M5tfWJo+)bBcJNPxfoWIJF>>2X=mS0IOYvKjfW?$ zcx)**YT@AO4K$`hrXqdpelOSTQK73Zxvlq`yEm`Z*0|wd`p&v#f%fdHSrtWfm!m>f z4*p{Os&v<5JI>5!b?Ww%*v>h_M)$p~9?Z~cRd$d+z0A$K&1(GBF=YWBo5#$0U$1gg zG(0D|a?+b#9(-qvCh#Y(TCEg7G}_`7h&ijN%KkoKfpPnj`w z&V>p=$#jcHp_&~=nMS4?e)BDJs(ap8o^LcVHNR2y#M1$(4IQU_-7i%;ex76&b)lko zFwO#}uN|cr_%2k`ZDyi=@@k_>c~C}=gVypzt}&v9JxO5|3xd3#5+=p956cKWa$8V$ z-Rx!hfk}yrW-sx%aAFZJIMp#HHMwuMH8SOW-oka6i)Rj^AG3BdXyEW4939`czxTt; zovkf`WvOY$dA;hb^G)2YKCP-FjZ7UEH<;e$Q7&4kp08f+(A=?#lzrTyu+Z&OUH(XqWvny&S4eY-23EM;@0zgyncIlaCOx4@Kq^I zN_|FIcgk#bxVJ6V;5yU}z#;A?pWN7!hM8pFReHGHk;pyUm4Ir-m8*cf)6(DLURQ&vgTTTSHQQii=PFe&u19QQC38z9E}8j#hn@wDYy?^trbCuT?A#`S6MCC@6~X z46Tf9;=W|)#4IL_|BvgNrna4^k?(m>Hp)gcHm@hd=3{*p{YRYc|6?x&e9<&ZBS#$azp?j?k00phyS$u0X*Zpf-S1>FDmrDGuM}>`6 z@$*<{e@#Q{wRx;rh0z}Jm9zDFSveNwqmLXMKXT5_;za#D(LTppN#iJUh|aGw6Zg~E zqgKvUnqcf_Fx}JOmFqIWJ4WTS{2NN5r+crjDNepojy%e&T-EaYdG3w%EFt~r31)Yf z>Gld*b&Kw9|CZqS zubE80ku+mG{^WoKA(64pO9nT|LrhL{T z9!Tl7j&!ctI{i)`adO*+(OdE9aeuf^T_5)`rdF&cM#OqkztcC(0&(NM)i)gtqDKCp zZwfhRqUGNzoQh`2iOLYs^zU>|f8?Hh86W+Qdl$JpCr-y~e{0F;-Au&?Y=box>SdR% zW`rmu?n^p`8SqFQT?T(`b$UkmyYT$9o1ht zs=stpf9a_H(oy}Tqx%0N9o5B%n7H77ijFGEkAL|u>ZrQ7{ugyr|7Dfa?|J;0=hf0K ztryQ{-ZfL1dGMxf@yPo&J$8B3mlrgVA1~LYs~%k1Vu~c@o?_}qPoA_Na+@2(^m^%JU#x&)e=`C`?!T5-^!%%V-lKXUEUj(5B~7W*Qr<*fWBW&-cnZ$)kdal$r2 ziRH(Xh^@!ND^p*->)O5aqPX)^McLKZV5Qy*iw9k5nJ|g8gma9!@wL)bmqmTnR{~wb zhg`aG*s{>?xsmm#hS;fDn}<%PEiqKCc@a{#Rxo1Gk)aa~t91qJ%pZU1a>@GUBdPgu z`MlL9fknH4lHZd+&o8({?Nfi)*q9IC0;ty725$?au4-13nuC503V4*<1fk zRC|CTF7j>8O<1>YgLj;~C^UZQGXqMnyI|JJ!VLA*cGqqnn(sLM9z_fP)1--CbknVX+m0p<0y$++b?~R+k}u%C}k*Z*;*)VSqqe<3`^Mx zWd>&03e3RF&lm2tgy>HRe)9N)PX?@>a&pr3tbI&<CCpZN` zaKYbm&k4dK0{eHRQ25`?@K@FFnJVGq-hW;8h-2@+E*m&Gk_w+vl@sdFSa^77d|XL~ zk0!(F#CUjQJlxsaA0AVVC7UZNeJePOeF;I>>u?GizxJ|W4en0`ahc!Y7lbE7LGZA+ z@jrk+j6TFxs3yP2@Wy|VR`^OM#b5miC**w5t(X=6H@^CZ{)GYV9)ZDqhs%`k15tQn z05dp+3i$l`KSW`15i~IX>!{N|4}^D{!p-UA=`?)PkMnk6Tg5C8FKSj(DiVg_=41{1 zW@g4K;s0heIjTU$3W4EFu)dd-Z-*7leScti5I0e93!b&2@Y8=31TRm2^E-j|cRGZ9 zVb)qS^JxPNTV{y&_4a`5g)KRa;u=9l)pJ-#E> zbj<^Q-sM^EUvs|ablclDcOQRh&+D$d=Bc3z?bE zijj~Y_@coUQD_5v9D)!y500xgQU~$zunK`wMC`}{h)@=SlUf9hPr4cNQRe8P^T=D# zrQ*%>JrIG9q;7|zl%UjO9Xxg0&{3l8-* zD3+QB0Q{2rUhpdokhDrv!id!}aAc(sTuE7u@pToF`YBVc6_{%!I6-%;GvHQMfj9jc zXm6z_?g~}JAp1Y**}ckY1D^U7Q+z~^2N-MM)AX^YD+2Dg3_)m#??;|^R1V$oIsn|@ zSAu|T&?N<2N(`$f7?S$94v*t1soytY8aGw_D~xZVJfh5q5sFj-RHv-KsFe0gN;9LO zqZ;WqEbRX{W9eXvOE|?wKqgH?>hDa1^g0R=G84JAda{mz8A*l>_UEXBWKC9ow&?x2 z++m>6o*NBOX~l?j*!0W)C?EqJ)^pcY@MPYz@ltwL>%p&Q_MoI5acB)fE*duBX4ECc zb_67&uAs}NGU#`MUt|bj-8@q1gq8pV!r&8tfdm*x8U{D%7$C%Rjtnk964u#qfnzc9 zz?iW4LB<23@O_~-;voMzQGwy@i|lj=Qk3{Z6fTFa8~Vs8D(exY%fQ+1+^1~73fdZ- z`$Eb_>NsT+d}(KSbkK6m|+EY6DJXGvuv^EvXSBTd=UG z1RzCHwqiqNC>HWRy%Z9+VfY76SJj9YLLfZrS8qe(WjnRG#sNrzPL(#_f}~Xc$6y0b z#0T*_U=j~5YO1HkrCg4pGbm;Z{7t~NLX|5X5LLIRb?7GO4?%5$u%}5@-wEHC3)(Ccn;*2dha1V+eAznzu%m%=!XoB}9Hv|R$O$V-8)J}L5Y zlxm_=j-UdFQXU*1P+36z4zxvl31oLgc47l|p|hJt%F44CU3c&tek5nA3u67UOSuY> zrHW-`4~i0~*9l|pN^V0qoBZmJ0BmY6(ZQ*7V_$AY0ipC@2M0vvAtuK$EoqrHA%f#s z0D3WP3#NS|D{Y^a2LAmff1d_B+6bX51tw=uHYo7*p=`(i`~y z50i_(ecI=VLx32_l)o}o<)!?7QKlw%_59vA1Smi70LjBe!lLz9J^HT_79C@L9mfKm zrRaHE77-4Z2zj;M@Z*{J)IXz_m@}J<2em!|{~;5!gL%5;1$wto|L@7w|A#T(b_VYn zQx{SER_4DJ{Tod2+cKJ*O${M`oi8-C=ZMMwB2(L5sI^VYv&o*thD>FSn*75$rL%kF zm?>W}n-wq5EMQaVaTC%fOu&xkLG+}l%!sMXNxe)q9kaXjIvrg$UZAw#&l)d~@p@xi zkD_-Bhd?YSE8~3ZC>kW04TxVn?UUmWpaG!);2m&Eua(KlRYF68jSZAnIF+lg!{G)E zhmbE;4`G#LaSCJg+NHXKK8YnMFlqCx`>s|nn zc4_K7`T-vG7Cp+Dk@bjf7DPG!fn|+`A8M|b5%w=f>}ycJvNC3ih4&F?G+`duplHIW z??ZZk(vSJ1_%ij25Ml{rIEZIa^_$HHg35A4{-oPY(W6=dlEq|DMX%zxFPF@?*K-*O zLn=@QXy1YrzJhezDvxq24p<3h3dlFCxG`Oj8A-VA`=(jmwY} zVUtOFz|t8mE#YcwFPTVhUJIxNxL_p)Qh&!q%RaK=X`a!@%n5xSk(IZ{$P1Q|k6TQB z{6g7tejZVwMO5&JO8%|V5~_H_JS~De4~vmkVZYr5&N+n6@P_0{X3kZSITyJ`$I&UE z5nqG+6dAxt%!o_*9*&L3A?(msW4Fk42mN9M)GwI+R@02-mXzDEXTD=DD=T+k)uG5B zMoAG+(Gt%cq9iBF#|+&&ktElNXQ4A;sEeuBU<;~gTvcmLtmbVF;1}}NnDf?9-Wn}$ z4bL0o-&!q!JoV7-)7X9*N3O`Vh@xA0Ez<6F2rWQHE=5FMkFjsSSOn%)?jqf?3TSaR z^(xgNp?Lyycq6tsGDQA22{bpn2TAiJ%;y{zLiM`U&vnZNp>2fC<9ftMHwmTGo3XBY z8NWFN7|h5=Fe)(0StBU-A;4hjepWlhO3GVM+qjgsVlknf%jNlKdn<1vgy+f1+o^<8 zio8R>$v2Ir-d&%O@@;}tQy#_?@hpDM zeGL5zC|8~D>6N?y&;4;E))&RdC*T|MJuQooPa?&bjetw4?|K(b!36=B4FN?Lr9Oqy zljL3_*O9DUKB?|dLS##d^cO{NpWq$9=)XV^7cqG27`!`RdR`wrt`BHJjp%<4$qy;> zP3T?-HENuu$)W|k&l)ahUBY_9dF~W&z2IN0Gjt zB?&(0QT_peI@Kl+`gM0YaFxj$lI~ayg&y!mPQw^qi&C=!ysiCSlC^f8TUKCp)rr(LBpTyE)`T_KRllk9; z{%@f_^=%UhkuwN6x|qSc;LzjGVtjMMqO62-EMbM7@C`8@V`=f_>`N&Pi`r_Pyh-oI z%AW$?KwZ=s8sK9J*LfCWTWSPa3I*f5SJGzqw9exaKoST`sJ-980a^zm^t;H7pdv5K zNAk&03C#meOT915aN};t33!GynKq%N`=mrAXDZ}Z+}iT6wG~?M4KSM->nEG6j`1vQ zm&KOVMHfaFL>EVwM3+Vz=0zL4(FR|%!5?j?h&EJ38>*w~L(mxUj(%u+XP2-% zgGTDFfSfv=G`fIN!k>*iaF98S+pS*pB3J6Qhae7vXFpa+_|uxSg%d zqRU_kYV*@ZvJWsNbssJK&NEFM&@P4v0V{Fbson!n$^IA7)RvqsTric;z;EOR{;yH8 zHhu`~g8lp|i{l-`3L91dtT`S=1b1^iNzC_|k)oywn(1^z5(s|$jqJg)MhNkHWfS<7$WYrUrSZ!p?V ztFRq!z|Yrxt$o4unW_Ac8IPkn9(=9W zT7Cmx=cRZG-J(-T#}K;Lw$HO@aNLah3A;Y{PrWW{*^}n7BZcX=fiLqiXn@Uwd^MJU ztPWz%;znCn)xVzzag`F%nsRgZW<0#jQ`{THcN5V^6^_MFV{Pr)D=d#|^LQt%LmS9^11tV3RV-=fp4D@Jxw`^|;*lAo~XRhH;K*+)A)6urU{9c0lf zGov+pULrDl8mco8TEhxOEwDDT=(r_%7mJQrqOWGrO_u0k7QN0Aonp~#mgrkpbh9P; zP8Pk^5`7PgZm~qai$%9uqCaI%vG3YaO#NRLy~YwPdu^kG_R;nB(JSqv+w7y;S@dd4 z^nMl{vC`WdFw^wqx1{7o2cGs2rK;SLP%GQ!;$?l;1RFnog% zzR8k)tEK$ymhe56@^7`2eiq*@YJ~oZ7#SSWcx4IZ2!A(u?No~)eSf&UPyDw_(C!DG-^ngZ_3UzM&cY-s_=jY zI6}*WT9%*-@&sI7H_mvapgZ7(EVX!sObSSGZ$NTIyr>nN6G4oW17Mj4WLLz)BC9dd z6YxN!#}$z=QeElSEN7zG{WxzzJ)V*P^K&ccREvz>mDC;@6dnw(vV>RDPL~(FY`=}x zc@~H)DzY0$;+N}`QTWQf*h-r9RCw4)ES&CmSVmC+v|=pAC!Sq{lMjilrHNAH-*kHl z`!-Ix(?{J(OD5_tc7q>Lz-5v&O-^{yo!Lnha-;$x;wxN>20Y|Nb3u}nO7K>CY1<{} z3b=^QuDSs^D(L$L@D~WO@YK ztrWd-B!L~uj$a`tc5o~fl*NE7M>-vNP_eFc#K`#tKhIeQoakmqR>W2XDhR_Ma3-RL zE8Yw>XDH|q16~fRf*Ep8K3x&0h|3Tp63c8SlInMzZ_%33r#AzmC>~Gc#U{{13i<-R zctb!6wfaqz0JMFfNG<9Fg63z7zn{JE+;dQ+AFA~8!-n#Hnv=AzXX_5YnREtvzJs3& z=j##M;cpMby~-4Sl$~YE*jul5&^-2WV>GgTb|4zApK%+}FE=!{G{_CU=CyJ|m@OmY zP7`kYzzkp51g#b1hWOSG3HaTx^OVqXs-eHotgh_Zv21{rw4f=jA?xD5do-+rwRRb3C z$F7ppgb6mT7s%PL2TfV_+hxHGVVR$IqXQl9V=D~tDEm(A1r}^tBB@Ceq&{mkDLs*N z$0ELN#PQaSO&A5D%$ELl!NN1amUTB&&wutII_94llJ0Fz+h1{gYTgufutGwJIE>fB-zfYI z!QUoTq?I*1T0)|oXus(s#Infr6;Oc`=>Y^c^%;3-*|SMjAF7~Zu^-m@c2l!0yajk| z;w;(?XLqCE+6v$*IHbP^NTxLI?J~SqVTllGF;Bck@`fVYG>Nw9^Uy3%1LXg>L&Nz! zA10Al<711Eb)+Qb2V4!!$^!7WjR#zHcjDSz&>!%J8k*h;a&RFknML3<)UNFbxXAm> zpqtU1mhRP$K_hFV$SYA}Ee%LYJ*wOJ0XO%)=OegZuox?I<4p%bs=+~GoCQ#xY4m#- ztFNf3U??teXp{mD;H?0y!`i_4b3P$t65dRv zdj-2rxy3Fvc1pwW<5)>mO%=niLBlZC%V3~qvT7LYCEVBtTy+ld<0|58H0NKp) zQ&N)EI}DVwZ{Pyh>iGf?I_1B#-H!d8|ef+2L^`jvIJ=d})@g$%Z0VVM{+CIwK2l z4aNhWr5FR>MOs7ykEmxvp)Td0`W8ue4%GW)mUUb14Lfx2GVs<2kpSACqHON;Fa~pE z-%QzQ{Yq9E(eOTt6BgyQ5T8*@ifq6rO6AeZFasZ(79l`m3z^trz-6wHv0%(8gPls-xXKEMz5|9qJzAh-lC3(w62*qZ4=IxwS+nU7 z+PXE&lEj+^t1u5tc#QiipaNXV2$`kK!jqW-4f?!IFMy=urX&_p?lJrUpE*UXuhgwh zmh9C+BSvNtGqM@5Y`~SxU}Xzb*#a~_ZW#&c%ABYbgEiY9HBvjc$%mZ~R3aGiYn=f0x~UT?L48bE%(h^aH$F<^K3E;7=B=qVHKaOF z$vwe&1?X9okDd%l%oV5#&JzRvz`V#j#3@j?_XGK9SZPbOAfwuE8P$S7wIHKf=G8Gi z{$59ejh2b7@ZU$$5^E^*OeREB0 zf!Yrxe6boeMPHwK8-2xE--1-sffg!1-XDX2%#Zh@UlV5%-xAX6bPB^(TX@K7Jiouv zu&j?}Ci2?={FE|S;h!?)9nLbUv5mM^zmdt}VEG7HZ%1kATVXkEPZG*_= zC@3YbQ;Fj;)tiv(hDrI3J55U|s4#*^08RCit^Y9E=|p=}#1p&Oic+Oynj1uUS`*)@ z73DhC(L5e!!xbKg_tdd&=kYt)(o>_C5vsCn0W-tB#6Vutyp@ewSHPt{X^e@i=}Ew4 zo~HA?si4KSST5=2gUQBWXJa-)zFME?1ikSLQbYvhNmKXinKbdpQVZ;#RASa92S1r> znlrhD@8EijvA0K?Qrz3@(7kK(>)IUI3+Y05*X}MIK)kaDn)#o+UN&W;VnoO7dh|)0y@m^6XdG`cgokC zFM?-tWG}?C*JtvqC@a@Fw7W%-O^%$rsBKWA%&U++cxqfylDIO+$WMY?HAvJ zYp?A7If*fOq6VajPim^AX(DJ^jV<;N{g8@uS)r+-%H?vW@IJ%-*a1^QU0a~a#lj&4 z)U$7YY@^G~B2p(%n|mbXg`}JzQ04OM=Y==XbO^mwu6=Z+f$N{n3|hIGpdlM|3ajl^ zxo6R2b!Idh&z0kS?;Rw+>1NOwLi!vFF-w|hYJb~FbL7NIGzvt?s07ALgP+?hl4W6_ zQk2y}K+Oxx#s&-vdzj54*M(B|XcmebHBA6f%(F@0i_sczGowIa^EBCnbJK!=q$ai2 zga4(P-*n|E=#6#4G=yeyo&ZeKw9H>M3I;r8>%twcfaD))$?9*w2a`ar@zjPljzO}v z1CoCB^OwT@jSl|qg_F)p=38TRHGy=0waX;k9rH4I(=FiH{ti0dhl?3a4U8itx`m@0 z(S?UZGAJgqL2VXBL^FRKOr$sC8eS;q+Vn+Syb@>@uA>)-|v8#FvRYF4B%nFi#I&ffH}JF6Iiw9Cbm79b*YdO->9e+jLH+5kph# zWyS=~!%w|zCqWvH2q4qD>|JJRLc+KcO-Bsl!?=AY}+bW+Bf zAH-RdO!~M&G*hceG!ZM_A`?L>-K06(q-(q+FR-z7XxxDz;=u_Fe0{M#*(72NQ)sKX zJdhRdM=>b4fySUn913>mQGpAh07w=_wlx~rSXegs)wNn$teGJ{aTT4&WXVh*$AY5E zX<`*7Ih$(Cn33EBvF|qNNf${)c9|DSy@o9>zavf4Gr+Q6vk%=Te7gvf1k99o9hZd!1&GOUGdkM>40If++yo)sB=DVr8 zadoMJ1{035*bPhq!8k*~NsCP+-(G^&8P}yANWFsAp7=64A9?|I#`Lq^FheDa8A&Sy zmD+ePNyc?I$0TiqS77ra+=tmo_7Gdvm6S0O$}S3m^@zbrJ^_-s zF3GehBwnBZW4 zLq@$w*g?lU8I@S*X{XCVt|q_w6CK-()E#Kbx|Bi2`!3ukQT-UnZm1%FW#H`&@ zSEkWL`h>Zp_ld2 zi7;kmoc5^S3~EPpnB4QIe-7%3TBj9?v{2g$kNTG&qKB=mGxavz4&p@fWG8dLJ+&G! zk9pMVYHex((LCu|9?$@L*xd86BKm)vt+xrWQAz!BtyZ^r0NG%3rH;*Yk~%iO7HiLDgW5dS5M*yFz@Jv%vrW~me7;o0AkJssJP5fwF zC*zxf1|!N`zu7Wkg$Ec!HZe#j2ZP8tgrID&p-hittX%-X#oBy6d+oAgfidb)S8cGQ z4=pGlc5UX{X$y=S3c)am*#&Ja{7E@efvj<0J}CpD>!n5`?AmZ!8ErUZf$_$|Fy6DE zc&v5X;3cKk^U=cfJX#Veh{vl-$D?2`nYwjh+w$xJ3-V%x-1`NcdolF5iI;J&c>@Ty zJ-9?mQxc!FxdKmK(AsZPw?xwsde$K*#TsiQde^}(hXa#0;j;xbGQorCF3!HH-1~TokJIGB@EgmsEX*v_DzH@X zWeK(>yjTz7DsLUW^d))NCsw7UdFT-eH9YEV z1$5NxuUal5ruInC-8OGVK#R`lccFkrRW3TA5jDT6_-kU zPV4f9UyjFJZrNDTsPM4$439+186MeK%&2mE_QM!x0-n>>Xld~bh8L0Cy^y!WYg)JP z8tY#?n?7CjMt6$w3UNWRM_kAbS%;!8SN#A*Bv+k>0I$MXA_j5A!^d>@DUgS~Xs<`A zY34|_h`+8PgzE(Ae8?Ph*9E0eP!0v5A$Z@PP8Z@GdptGxbr2w5fWJog!*$yq!rwFS z_bvGQ9sE5Ce-FXm$KVg|C2#sAu0_!W?(=vHITGMYsuXJT@+xD%+{QiOpxa3ou|ssG ztP-EOT(Xe5ylo*qx=AX48s*>gPJ(ZoK&!|o%4!Y+A~)+bQz&Q6o_NsPR1LY_0n?#Y zndkB}@z^UHOtIehGJK-6gW=Yjg_|32!wlE53`$l8T$^*AU!voSi(-)f7MB0*@bPc@ zJmtar*bO!K*jFqlJI^;z5ej)0)0-=J?mHwu5b)K}3>7>J0`eVr5D~l!>EJnd76m+7 zTsAO|^4Sn0xKhZa){*}JVRe2G9>(w>z zWh}!UOz3uKSAAvuE$w~!d5ZeBFgJXiX`C=xP9Ms?n1^qI_@w9y7PCUl{)Q;?(WUNJ zGJivJ^L*~x)XcXl8)B5>150?phK6eHo8K^B2Uc$aMz$|-rLf<0cd@?NCpE;H-BLqy zn;0_g>-IZXJ{Kg{wycmEyzJCEuCs$y67VFs)G)7kCnPtgH{o!R8XC6VN6}4N-$LIu zc0L(bWWSGNE|)-dmgDVpB=6kjv4?h8)!of<6de)|>h?WZ?k@ML90Y^jG1 zRe~{MoSls9Lnd(58IRojz--rr@R1wSd+7YV83(-wHh{1v_OL}r5ZaP)6v!_(X;K{T z%CrjWKr5{Wsl5U0=uN_A=;IwihtMe`VDzI5xRT3&$Pb_aH{-H)1YKS_BL-6; zIx0p_&wyG(1-Gefo7072pI$qKNgVs)Tnmp21tj{k&By)J|6~#WX{v|61vO#OozM)w zv(`?Pzk!F_&H=`T0A+7 z0(IPl?~mzmucqan0En!h7FQ!#UONrSyo}7=JAE<(1Plk95#zA{g*|r4^0JAt(K^U( zG|$JDWd?E8p{mAbriXK-atfMQcTl+jXM^lAF?%NojjFic$&NHp6fqo3#UqC5t#qpI zUBuI4JjLl!?j>Dx4eC_(dk_rd2_u!UW;`ZFbPKa-saAx3^Mn;SX)dyr7a7Se^3Wo^ z$cVWJaqLzxq8oor&0^$wl=vPof;MPe2k|)r#C0YRELSD_LgbrCXK&=BIL0FH#s+g* z9wJ&s*?P`?A$nF@&uJ0PykGNwUwHU-wzhL4A9_e!?!^JEztnX0a%~in2j3k;k63r^ z3j8=3|6EJPq?4bKqqP`%tcvOFD(X%jF9YKgKk?-ZcBnNdHh7so^+FWbM=)eGpQEY`^0sAk-s#vg1t0T zA;(=If6OECN0KF{2T$kuv|o%Njr{G5XJ`2Dt&mP`6IzBfoh;%VE_w@DWVh;k2NxXF ze*K2vH5|ry2N-(8n0ze-7_<#UMriFZY{m|eg3z%^G&gPC!3+8tykjEuEU)<&-qQ#YVV)R7?x6WlK8#IMn~PS&`Dp#LUJlThUQfaanP zJJnwpD&UO{{h2^9ayRKh^}iQscS+I8Rvq*(YUBY(Or^|$v^g+g4%}!C+++@%c96|3 z(YdP^ARj+biA!7fvu}|z$S^g|Cn_>x;#Z#sTgByzych$!BWH1G!CNn!T0m^=mqWP3 zcSk+`Y!Bm*2jn_uEeaZ+p5WvOk#jgg&*RKC$^c%*0Nz)xjgtybC`W0JQMwjXMP1}w zs3apV#WuZIJi80E&HN`8>OW(5Gp^UY4CjL&YALx%2GxR|sGq;dO8g%pNceE?%N-eS zhYNz&%iim4PTh;<_)aW)qZoNF1W+8IEPo&R-;d4*NM@+gV$g^mG2|>%C>#b_tFKs$ zH?m$qwiBBRiz3YCP>lM;xL0Np^`KuSbyDFG`Qy=&_J}l%zg1$W4uzIan*%QZvR#9G zSa*)DnTO8N74zD2SFsS@vUWB(qE8Iz9s5ecA?OYTrPwyS=Y5}c`!?c~Yf*$k_3_1` zQADnbyb5C9gAr5>H!#5nglX|-jf_t92h_~JBMEVv12^3!Fg0EwdX3^wj2H#}Uv_~J ztpIwcJx;Y|iIxpb#)whf8=HFvzuh?V)q2w)Ws;&kfU|t2-QYSNcxm_Zo-t z8YFN)JqURv28;c|NJSm)R@8xMzcT3Ej1L-I2%bLzsBgieE)DZiuZ4muY27*$c^&z2 zExV5U-v{s(a6hhTFXVn)$6mz!xE5Z|{kYD(nEP?00i~S8%6u1z)85_gf6!5}S;q?%`*?|{Oee}?SyTBjrN#fPA z9ZYNqD*SkvHIoXs8HE&KfcDFk7ny2B%Zm??WBhv<84;qmj-PC@z8{gQVIzRs}@;Nrz;d?`K!e>hX!?PRZZ zpxlG;A^ZdM^QI2`{nf~QDC?0&mHSbYQ=jqJ@7u&V?+JtwL06;y@^G!WZh(=hjDt03!LHax4PX12#N3?gs zv*7Tz%&D6T!_nU}&xy|sW#Hqa^M5ZA*ze32ZDsuqU0Yv6=As`C{Ru98y%SZtM|l8k(n=RS0~oJxrSVHI-c`DkcOm1y+d&J8 zX9Hg4J!GbM<5zl>2fsuqkn6`UC9q5PZ&m5EdWH0XKS3sd`# zqgAj7B#ZuL!cq9U9sd49$b1_CW^D9+{D6b~?t%6Xe}@L&Tsz@lzsrp?hfiV$Ubf6o zZl7@QGdM7-+GB~2E_J3JG|tR?gyDc|AtF6X)U=TO)aT;1YA|pX))W!a+u;eGB9onfhTd258oryX?TL-{n)$JOk?-v|by6*mAsgP1jV zo94;NqYjGsEPR?PW$sfzar#`5zoT<#-X`csS@}oI;lT@CpL5`^gd*bfxhAiiwnm&vq3D&ndK{%TH`Qw}MLt3SBAkE>b07qmKqt2=mV8ecHO+a9s2aA^+k zlwO7)MMO)YxB43b(S~~MmnJMfGchk}DfK9pYN*ua?^xS0f&CW7t8jf+mQtT5eH-_a zaAzU>HI0MxYZ|6?w&U_)g~+4P`!tF7O5X* zo_h6j%(GbiKJzS5|HM2nzi~E#QO*G4B9Izr#1v_PS`Qv6bRSt<5TX1NNhRf*vS2X`KLbTGs&ko80j0ilh z$JdZ(t-{X`s7QSU5obFR>e@zqeGIK$*{wY0Kw4C=HBoje)#X&aN@kKv`5Kbu>lmnv zod{IYVq5y#oU+Ql;DG;El1NT4z1@*-kO{-d1`8gF*P4^kA%H z$Zi-%tIZDZV-NIb3Vm%lDbT!%Y<7*Rmjd<7=;+Asp5&PU<@)6K_M;m&4qY~U*@o85ZR?XQn>H`cu54mFJu;Tm zBKnhQ?bo32-@f)v{J-{By{~`y2Y-g=qe!}j0QqRYuwU2<=2(Z&EA$Bc!hp~xvTrL@?nHNcM{iI6 zKwo=T&p=1--ofsk{&0IgFA)y+C-x>f2Es<3BOUDn?R$H7#q})wU(ev)y-?DemBG)- zY0A;l-kr!wA86mPH&L)2mMcdUEYTJ^Yb2%VNjv*`yNNE%3|?1HXW}5IhMsA#r>nQ8 zOu|e94N7VA&OM1kN3fAcSfg?_d}nW8qH9+VWbfZfnH;b87Rx<$d_#oPnqlFN$ukmz zjxDz2p9QvBy|1sUyS?vF7-+ZJg3iF9ec1(CFjH6mkZ<|c z{ey|s*~Ba&1}mEs;h@KQI>Uz<4%Zf@!c*W(uZT-V1lVd~So}sa1>eSG1a(iQ9XaD}a zBk5#gc%Q1=I0E*-_C~J5JBQLk%`CM!v2%lwqkCw4VN*DuVfFiRLXb1KP@ zX{H2T3<`E8kB^K4W%f@b)iak{7*P+dKD;{ol9!m60Yj^=U5#pUFUtR(-j4SEMEG#m zv1|20aVy7#4|f0=N0k$Zqg_7Mv*E+6ZMkw${qXN_W(H&sJz!!KDr6a-Mm~aw>>J+O zwI>l?oksGk)~K`AhCJKW>cqa>myh}#%IL({c+Ngx$z}G$aC3HF;73a}nKQ+9RUXLJ zvUdLt?;BE+<7q3@OjNQujb-WW>+I@j-+N?VZ$Aiy-k$K`UKNJx(5N*dh!hkGh#)i| z)iW_Vilnq=OLTU#K0S;?x2v&ZcY9xZ$3UX*NO$|euI|C^BYP7)y9RcL4|flp-kTgh zkv?fH(lgkd=SFD$LJ$=2{>MbLqfYTDE#2BIVL9lsFj`lLfs91*20tm!iqS>Tg)vkj%NHaPpLV z{wSPqw#q49-{7E`GM%$?Vtg3;%}yq1X{AaeTE(zP5{lFQnd~)3W}f`1eaZBM zI&L?_8Hz03c0ii}@qD&}(hMl?=*_^)0Gc&|Z7R+;dhHsVXY5+AuolQgPAy;l5vv2Y z$(|P#oBXzzz_7|JVLx8Ayf6gYPn=MbC!k+)r0OKr^xwTQ*}CqsX-eqkIv|6n0#1 zQ*+iB$jrkgeMXa!4wl>*dmz}AK#ZiSTBnhiGiyJD<^;GBF*G`QhLtlL{<&9>jIG!7 zq)qyclgZ)h3-ozrmZ_6XiPNV*S!9lV&d1^H;VIuSmLwJG=S^U}Bxs0czP|rKdLxlmD*X z9-FMR>X+=B$Q;ahi*zPOlhz`+dcd^B2@RM!^5-XdnJm7uBNv4Y9)&!{nUkz#xY8C8 zHCO|^N7#~V&e|XcNSV@hPM197ZLyIq-Cik3F)q(`wW zG2>899~nsIm7m$!rldXg1I&s~x$P=Zh~_U+h9I>!zh;*b1%zs@%q5LTt2s8)EzXpd z1x9JE%+t`~sUN*&(OICK_F3mnEAuo{+Yq(e7`5rpT)7+VnyMXR$W$r%!3Vo08USqz znXoIPOO2f)yDg;b*5=7?FQN5~xeVk@n|UQP*$&5i9jr}I^uzBg)|jnvBA5@gZv$4- zF@g$DCDrtqzT|P9wd+`8Sg%sgs%JFi($0HrZ#+IUnu7MT>EZZ|L+bF!A=Ln5DQntq zEV_)b`&e`lmbo}2H9BHqJ`!e*@fo9JjuvX`He~}Sjzl>M^C@-C@}!A!lr;_u<}7}6 zBzJLbFSUFg)c0JA!B*d5Ehcl;zHBjtXs5QAjMlx|;s;&kmTu|gN*a4M8^C3iEfrbI zc5%@KjV-kHw9U(y)Gl+HXGU$7r?GlPCs zz6d@jvLiEAp)aYeOKR(q+Pb8+o|kINa*TeqWnDhaRl4Gu4tbb)Y`bznf5& z{bfD5eMuyhEYz(lj`a)T_A0wbleF~0lQB_CukDh_Iu}h=Jk4Kp zUAk>q?wW7bal2Vx2`OIkOwS^R`DkCca}Mk2zp~(Do%*X6>baUinhxLk~O(xW`7Yg+nr;H!+oVK5JrZ5h|mJh=?FFP$nn=7Q6%(CCq z@TU3rYWYx%6S7m-UA9NdXT8fV>AFejx+%~h#Y&u#K-deMk~Ep=B!o6B?2aSz`tj5S z18jQW&vL$wjM7u1Bg0V7_QqBNc}rpQDXZ*rSD8?v29!SReq3rD8a48p2G_{=@W`p5 z(M+VY^g_cADWrqYqdJqPlH<6%n~i5)z{aREf!Bd)13qViGLEU_>a9G70w+)QVmePd z$C2yM;S_abu{57VXIk!;lw`3@U$@##eY9uv&`l?zv{N6z=_* zFjp-1PV8w+=cUT*AM^3?OWjklwkmKwJxg-wN7SuH){E^g)9LN3 zpWUCeZrhjVpnVRq8%OQ4&fd?VuCs3VJ`elO=JwijNySU^?WyUmlIPr|lK;}Yd$y)) zIqw)wcgJ3ubx+@{yC{S6(iCp)O}sC4++3V{Z(GYwxLi&@0C-1p$-jeC#%~nyA2!+o z-tr0#pD3XmV4gg|&SJA2o+15*o9LW&=5H>UcLMEyI;m^?xT1~?@kxlrhnWur75Eh; z6aU(j%lCW|8xIAF7x~a;elSHpbEJW>hn4r|L~>$~|7R)+k)iOLVZ~6Pq_>{(6QQX0 z?QHGUDgAw@ zER@P^TTu_2*fuWjt0qNt#4I&*nxBQrlCm@0TC@QzI84REQ04S#i4-cSPnF`^SmgUq zv(~~q%`D=TsInz#N$*5W@}Zd`Ux}KO6fOCks3~|VD8~bt(;`A`x?omXInDBO5|2Mk zK~qs4W@0c+!n06smPVb@L}$?rEMIcYMDy}>V@WSQ^(hl+m=ETE_=so9K)0NCo=Sb@ zDNif&Y$;7`JNK3Ix|1DJIa^9g7?$Zdi|tUxPK_o{n~v|IxBpafc;xuVur^;OsHI;1 z>QAd9<0l%!W#9ek8c(;aEC2Qv6mQ*7%Kfi$u*iEOEPqk`idJq4@_Dg33&+!GP=EhW%MXfI`&?*mGv1u=;l4U5paja8s#%aUQSZ{szFcMPSH)-_Snp&X&Vn?yUkAW2;R&no=We$d-+N2xCb5d_z{AxiV>~qMrDPkg> zT`~*+Esw@Sdahy(0Aq8{BH{|jh%9kud6lQIMzOrilUbk$%yBk2q~^rm`ka`he&g}1 z0*sNxM>!jm^^8%;O)_n9=ID*0tuezCoRczsQevX0>%BVhr{a!pHn1r$>+P%+BTo?) zi+$HyUcs<(Que{$qV5{!Hld4BQ&}ckaTw-c-boO@;C#-m4>IO-MUCT;u_5)0<&I=- z8#0R|Mb|1t`y%#XGSFp=G z!(B$7w3dQ@30MDTy#={Oe%9pIzGi)HYMJy--&Mk#htf~pU-Wr&-?n8xYL@>CvQiK79?A#6QqzNwD>fh0{tneKHw7 zHE|SZ6F#Pl!LW^oCsN7qP&#}@nNY*ZP2*v8Bz65VC|BmcwZ5h%PN=YN`7HeN`F142 z?N_(=CBg%{+Xui&gnRos6Mf;Xp77PXyE=A<2M+B^^oKD=XQIEOuWLu56B9A#zP{cA zU6{GMy{BtuqJJRV)gSIl>`feK?->ZU_jHDLw;xD^ySn$acMM>my}iAA2KV`(Tt}k6 z-#05w4in9{X`IwOG(K`XnM!BeLLkO!EaxW0+EX0v7>CQ|9XJ?Md~lk~VHn0|NE_e` z3MS__(j;Tg$oMgsgP%$36Tr2a`IA{ZH3qZ!T;@vE z{`jaeWM6xyGI4aYP}|icTJ7bQK9(GYDQgY@JWZdL>;$GrcP3NA>c}awcC{3mPVgfh z;qH;~k+F#}lEd9Yrf9354T+VdjJk<>HAQA9s_V?lLY>-vrBH??h8ztM~{+u1R%nBk{Ka9z)iiTDwqQn@Iz#cfmBTH~=g8+`dZxx^l}<#}^Q z7sCQJV_e5H~MNP`d4DqR^kO+P@gt(_(Q7xgg>6aOj6wuG9K3ew?OxzDQH^3)$p5R=x$hl z@u17C(~AgUDpv?!gP}Wm2VwG;5 zawtAITr)2&m0~2dZkQEpO}p>YZ-Gu4+j4lhYy)(1*lNq1GpVR2iSe{rpi_@;KgiT_ z@MYy@fxgx^3#lf`ysEsM!wJF}L>q_CY8%VKgE&%9+ZDST(avX~rwXUDRb6wWhj zSxgCiXVJ2l96!&zWidIuJVTa6|6q4c%L39aBK*iA{v`hfbWcs&dK6CQ{ywy(`nx0FYS~n9Sqh%?MR*& z84t57z^QP)qXNT8#Q!(KEHhoGHv7(8GT@PXlPAnL=LHDP_Gv znAKhOg&Elj7B0B4HWN+L?AWrJmb37jXxjAjnr&ed=TBA&Uc|jVH%XIUP0T&6DN9w& z2x(@WYYLLaP??=wJ9j4f5;KgexOS!bVO)>PplG?anK z)Q;%ZGC6i#Ns7s~NxMtovyxVJiqa@XFYit49H9P+IcvH(0_$Pjm0Sxj5UH6{MzNw$a}^$ad*wT8e~=5ZD~K z*%u#KCvA4jjR8ih&PCXr)^el#XQn2%f?p~b3Lii-k)h`@7rs z?j7jrP8h(##q1I?`b_PCdX2W_Ff=22!2?SaZ(M1M7^@hQCI5~a{JvQs7MMxMOP9A}f-*(Re$?=&wfF++h;PjfpP0Y#g zj85VrM1xInPR=QkD;EP@w3|GWpiWK@7dws0=9}j!&y-U5Z)YS;0ac#2BWMz|d7g4h z*)pZ?-0+(S^DrjG{rQVlF>KaNKIn!Oc!b;ZguQR3?S1-avb_8WnYnlDr4`c5Qc*T z9abcBVweXz4rZzm?C$Lu*lj!BN*ieK&$MrH=W3pIQkAH+WTf$Qe%~K zk6~s2tFrlJ8gVP$P|=?FDer(x))PNHiL1LhBWrSU38fd`X!>EI{H)$F*w>fn890LH zRr&|oyZ7aOXT_A$ibA+&WOV4*$gozV^z#V?pEuyO+i8lKt6itk^rB#NPkTpiKR-;I zrIhGAvHi)W%sXJk$RDg|ik~{tpC>5st)uq-uAZ4`b3Z-+ITxOHY9DByp(aB`bEU~W z>!``Cadg+&x4bo1)3L}@lBH+ejB~$zxpigIvm?>9x2tDYUM`w0bC=gWw;q!#2dQa) zP_AU8ru9*|8PY9NuUg7(@W2c;xP+yu>1=RkVpm@xk-wKqKT}N^$CUBpnRu9g@*T6* z={IdP|nKPyH?4(T)B(D+-H))8(v1l->?wwDz@kcD48X&CWY`^XHaHQw~zoZq$^F)O0C)D_;0i z#uWA+XEB@CKTD90S??>9#|I@hEk76JZCcq+N6bXi3iDF#wv{4DXRF`l3`^P+JkA^U zH_Xj*hbnVxAWRWm3~QvnYnScr+VqmfJ ztQ;E|Ke4@WB7MARQ{xo?qI>AnDSWLQasy$9Q;?>PZ%GZGOpXnun#M+kRVAeyPd5!K zV_R+-89%1nl-iO?E9%gR98PUXjHgG^XF8Pe z^w7vSHjts&&q`QQfw!ri#&E~6u^ee#-(4x>ai7;}7KDB0yRN^V_e!snO(VEB{bYB$`g5Je6w1&8*UhU0Vcdk%L6EzY1U>_r6`hVKbim%VX{;+fto79nLtjOb|zS5kS~WQ>7E!(k09+V zqQr3EEJ-5UT7wZ^jL0LAzAFj38^*U)U}vQkhS-@rJ_Jp)$PO)Xa$4)a zNb)8-b;aYYdJ3a2843AIB8{MTM#e|dSu)z1Rt!50o`M;aoeDK2Or8mHTP_)?mkgJ` z3BzS-OpNI@M$b({t2WTmwQ++5Um9L1^Edf9-dh?+B~0a=Yx zsR!FnoKTY|=w^GS@-ih9qY3$rixr9y5kkW?+|=jxWu?F3rF$mKhjsqFaVL#mw#;391@S9-C0@_Ivd-8{J?kcWHt& zdFq#|qU``&($SZ6^d%jANk?DO(a#ed&Cdmmr_$=s$aor5gc%)H2xXgA%1|I(DfIUq zk7zq_8jLj-DawoPREJLBFSlna8gunUu|!@aQzA2EF;HG60jeie)ox$ToKh^bF5HJ5 z8XY~u3TLl*+hnk^x`nzKESlAQ#r7@h(!ueO8zxN5k<~e~)UyEf7;Ru%B&t>yY4Y%a zq0tG59_;DbKbUBoL9%t6Ob%afOSOxIW*xf|9eau;S+UK^q{_69^n~f=j2VJCeg>Ih zpE@!&q@LN6JabWV#=gF;?)JVz;XR2%GdZMof-`br{9>ox&fdO6*RGyYs8?j;>EqJxVQ*_NjeeQQz>P5ge}wC^1-C;N>XaCYFtZb%#^FgvNxELS+mum z$i_-$5^rs09r>%a;8%8!*;Y!iwxl-kW4^9H3Qpqc$EALlqJA(B3DYDu?*dBx-pE>_ znS(u&V;N~~^@@RJ?m=Rcr>M>;YS2uMPDbfj89dBC3!OCyJHrmh-0veBT<6+wQY;o= z?g5pze+CpQhyuMc?WCFdaWkOI+{oFfDq~aAGYIMV-#6IGnd=?HM9XIwWaYSI9Lzw! z6k{9Y$al#;m|^=Mld_YXiC;1irprXgBz^v2b;(MYVJl(EI_Hw1Fby5VuXEX53oGXC zS5_zWDHG|DapUNDfezx?XT@B|#&M1bwtf0Re!D9HMVo)`Wz#qZ(FPR z1z|`3RXZGl1D~K2D&X(N_028KZ7prBn=!^MjDq{f4nbIcUJzDv2*RtjfuH?$atd>N z@TG$Ay+()|>=$0~fFM*u-11$6U7hf~8^U`RLwLuia#UddL_u&|{q_f9-UbN#Wo4TX z5~%j4;4ch+N8s;U5U~m})`I^#4k{xw2`t}9_^X7!X7~eCgn96Hkf-6FOjrwo7yhc? zFUaEs!NY=Ka#NQf065#(Opb#6S*Da z4w8Evx#!8fo80%3`(<*!Pwwx@6+P%KAU96#c5-{jJwomc|==$qNcYb%c3PqkuyeVN?flIvcFZZ)|J$lbOM z$JDWPI8M)#|LJuI`48lJ+t7UlxJw1!`U`E6(6SyWzj;0O=C1XadXC(elY2Y4Zy@(w z>k;N()?-W0U4}8=BR9AKsnoau{Sk1_iVXkM1{}+GZnzVq#Qo%cgxqhC`%`i&H=-Na zh_!Fuh!FN~#NN4PBVv`N_z!KwdjDtR&o)Xz<>v1KRmV1CyI!{$^SpI4^310;KP!fW zf8BgjtV$T)@<-sk+rX_6KE4H0zfCc}A-7}eA5oNYIY?69Q7x<#)`G;u(9ICqFAPD* z33Aj4vivkjQWr?sn;~>3rTK(z;T;fvAB3=H`UI5v@8xOz1oJ}>S`4vADD-Iv)e7@L zc4G~XQO=N%rgGn-&@$oml=B%1H41N}(C;B63Co511t*~TKaf8Fp(iP=$}t4BEeE}U zY4r|FYZV3@h;__?I-pfJ=)jyi9SC!saE$}&I|QL6!sWs#2jVhJX;%sp4mYHZ6O?x0 zHp=;ON^2MHBq(=Ms6%)yrQJ)RPT_8c1Jd3Fp=H8Oh^5v-s7cr@Jm|OuLQfDbdxeiu z+K(Wu6+$0(I3e_0Gp2P5|3snoRty~wzDC`1*JT)bq3~@-5W@ckp&yGcf>1#CzH>ET zDY;?*>D{hDsJT^o6x_?D&w;x~`U1Geq_0DNs?s31w@OceJFnu+qC;3-@esI!{ROW>c&r|A z{!=}+V%1`FcPy^LC&7I% z44f)_7UJ6=&j%sTOV_@(+96c7Ap8a3f*fyob2VtP6%U}>g6{P#4}yET<+b3xqUA%? zxl0YUV*VqonDhG9{=&t3MbP*B*r=~dDbXkH1oEC{*QLfP+8=q}Gt zd}IZNUN5}F{ZhdrJjO$xao-B^rFJC?eZ&1mut87r&|>M`Aa@>FO`!$xrju2*!WUO- zZTKiilnX56xn266ut1O^EOejrGYD0)knknx-yyVK5B-<0NO%>6zAXG+dKRSAxAl?XTO$b|$JBPcKb8GS zL#=!)`#?iJUdWDXsEdzd-)d+LFJg^jRdfL#&o0)`Mcl=HrJ=37m_4YW9ee_NN<-K3 ziR@bq?dB!SRj8s{c_}N?(69I;HcLbI^T}+PhW7I*?5Ktg@-kL6PDRi1sjOZ@FY{?^ zp@!bz<*Z#GezD~pKAmlp=myLCdewwBI#sD>PZbGi9hY3J%w<{QHF;6yu}K=5smx~{4b4#&uxm6lS7~I& zHPoy$u_Tv@mMG24si8JyA=^x-m;KtbLRrM#B(#zA#9}7?9yh&{yh&Nij#Av?x=)k0 zDrYf$v5GbUN-Gw5eg|=9%XCi~j477`a#7p{b5_c3Wht8?QE|#%KrqLmPL4m*p`CiD3zTa^~pD$!2}t&r&2lm`HXWxCr_9)(r&Jc;g2c>>Tz!3phq zR&ld?3BAX$o^7mhg5W%na$NDUb0jibzXsGH(QxZ=rJV&OswQ-aL`#9Qo$ZjQ&$?Ub zU_X;+mvt|on`{r<*cR(T>=lXnfHTaF5_(+0(TuRQlSJHBn^)J(4o(p@yWSSo ztzkzby4`j@pid-v+;%abFA42n`qb9|>B8`-?6YMx{Cn^>1bM^h*0H?z+r+MhO6zlDvTCeY!uYW-GLM`%0yI;~Fs z6LzzV)7j6~U(T}21sY*z`W8dQ< z2uMFeMYrm2W|L+_W&Rd6k5I39l;a`&FWE{$o7iN>0YE(x&2Wrox3WtGGS@oxDz~y* zV{*Bb%{)z&VRVV`Jdo?$=xhlUmze#2m^ zA<;R8-?Et+@){mx=WEDsIKVE|P}uMo+o_>*4Ue-MHPmZ3$ZpZlX2TO~uZAu&Jjou= z&`%A&V~=R)dc#xfLk-<*c$$5sq1z45u#vM=w9oJ?E7H(IhC^(!h8{IM$Er2-JHzv= zMnlgVUSJUoy=r)o?bgtnhL_lF8hY38GP_4Ze>J?q?kCjCF18#u9A*b4y20|5;Z^p! zL@OM6<7>=NDbU@P(T3l%bcxnGlEGRWCehUnhw%+oDp69>5aSoO zP;KVt#=o(H5*bszHy&q&bpkETG?+eP=DF&KrJ6ox!!(p-`hvMMG{p2J+t{F@k*0sJ z@_8y6X8?RagTMNUc{EgNI>DCASJ8CS*X)cY6;+$QVNDvUH+{?Q)ljqPJNBuDmYV*_ zEX~@iGJVg|G~_oierB_1dsk+}#QED=+_@%&|6N0UCLJHLP(_!R^n9d-t}q#Rp@yzC z8TrPuRCJ@s#IM)TZ6-7SrH1yIEc|W_{o0hoAJouereuCtL(iB}c+J@=df8;<4{GQS zCL1qaqM|>WQu#a${neDl)0V2}Gn1W<*U;A{2cM!L#hlLl8cH%}@M|>WFlX|0=cp*x zJcu7`QPFU77N4<9MW>pxd9{Wnm~(iYhNhZxxznwpS?0m~4;nh%oX3x7Xn{GOf2*Oh z%tQE@twPQ&wzQgu@<%0F;aF)N#%tOHx*)ULJc1vSXh&wBxqz2@1iCHr&!$uPF0VjO zWL|0>%a2NQEb~h9IKI9^AU5ci=3>6wCs5X)KbuOqYlT1)2Hj(x#GjOC&Y%)Q89ye` zGC)&##!7+C8`Ni-#%D^jeb9b$Irm6(*PtiOGkBU`pcjC1CLbcvF+df(P@?3l7tFJ` zN1|a_Z=0+5*iJ;-Sw+_S=GnYdqJ@BJ_)Lkq0iDjTlju@Fb^I%dZU!`$Ul$bUw}9sH zt}cPz2DE^)RRSs5@0*+WBN7b=dQGD|#g;3% zOG7`gT*XJMm-Wp3spV>ZRHA?8?zUXZi+g2X58k4`p3m$Rai27|}#%Ou__;x}Y z%&!dItL)=DCHnK=eSmJ1h~*tu?%}sdl%DrBpnD{m0CD&7=Ot>$%SpPIe<+bBZ#1Ce z68ZBA0evk|Pu`@Y`?zwEKz(`B03}OwMP7B%{XAWw8wm}T=x#!jBzm0Cd_tSdzbE9E zaUbXHRqp2ziN49(2k3mk$t?MMl?V787m0pBEByg}cr(RO4?e^{+bq&;&u>e5h<`27 zb@{jIAL6<#D(5EU*W5|yN%m0w1IokvT#0_0Kb}3pw{8&<`EGt!(jz?Y5`n(V-;nfM zewIYakS$3E_;QIHLoQExoUfB;)R1eFp5%92BIKoH$c;%)@i$~#{g6FLPxGT1+MDzY z&%RVe_a+_UO%iPy@^I1%e5*t^1A39)prOZ-UgG;CdKltf;RiMJSkhtsx8rp5xgG{;h~Jw+!8@oZzsj6|y_@di@EWA`qTIB%k0TG&DZ>8@}`>(Yk!c zFZoF{&+qvaKM^uL0Etd(@=p4_OaxbA?<{|WoM2*gU3R8{}I>@85`h+s-vVf+MBc)^ z%1Fgbr&LEQTgUH!xHN(I@5W=E*%Ez5=uF8u&gDrRsd!7((r?v|R4yzPHM`6;o{ds& zo)j&8l=A+hXz8PrPbWo7AEg|f94&p6a%^(6^ij&^lcS}NQan?lrH@ipO^KF1O1X53 zD1CMDcs5%3r9_tz!e_7F4@cK<3WzI9I^~DL739_sWiGfnwwNd@PGK6Qn<$%zVmJl0 z3C8N#6{p}+#Oq>We?hVPDE4=!s5Jq4N;G_k=&$^*aNj2PgBZ%+W8820QG}Z`0{bC- zL}K`4rDPM27}I~Rh6)=?IhV$`(%zDKJhFjw>75DBHXUg z2Xaeg80D~&!snAK>L9`w_oJWO#e6P{;k<_GaJ@!R*liTPErx~3X(OBKc#8~^tXzbvTsywLfNTPgckGipAaq7rK%Kr&7;{V^7 zSV(MEpN zb)a1p(1BZtZivykf^v<_0V%g=x&8OtyZ;CB{GWE;CVll=3co}>d6@eA4Wj&sD1Rf$ zwbz^mu=zs6%_^^)jl|D{i zg(&9;ajw={cXGG?x_@p=s&m?;n2iz+!#?l$pz?U_H$1mw}9L!=s)ZVGoxf$A!-H^JPt z5yk2fu8C!{WcZ}O$Ifib0sbKP;J+L;5;m{~;rXl&{OL+Q(1!qR2+)QA zZ3xhY0L{k^!+vv%4tJK@$=#{LJ^XHR_mF!xxet+hfZV6aeF@xs${XY!0XIM81kt%3 zT?@FQQ*!jUZyTn^oX3FsVoEWE%gD7b;hr)!%UYqU9-9yDvazGAtAJhzZs*uC>wMsx zX+6L&pI-Lx*m)41>}a+=&7K~6wv{V~fl|!g9qR`A3`d8xmwi9hZymw%3fEf;*{Ov) ztgH013g>~_0B(;Sccb$eo_1_!k;1J?FWXc&kJ2_5_V%@Thbne zH)QT+4;TK?x?TTl;Sp;&(aYH%3O}>%Veb|`s#HO_CR-hq+eG(B>KK)%JUw>2t%-eG zSYo@I^4YCV9XH*!hx!V`RW>{I#u9Ry$n9Yh$4z0q`tOp@v+dTOIj+z42GBR#wzHOT zKd~)gDYh$Z4^a-s*}8FOTaU9%;GSTYkK1MA{04G=N$y?a=2`9hp>em_Jk&FOs$m5` z2=og69JsX{bExIm_W2xhSPYbRz`fmu;opyY&(;I{XIp!KAKmvLRWJXFTtgAMc5t^4 zWed-P@NUX;Hy;JzJrv$U`5)k=KzW)dPxI4@j@u$st94YX12m>j^BaNlCE|IBcs5c$ zZ>2szPBpxeDAy6?W(wayVGHGuqhL)IE3*olQj6J{MT=9HQ0x-oY+@^mCg^IFhC&a- zMv5L)dkkwiOFhW&7SSQdfu|j!@jXQOyrjo7+{46qm`XWJ z68p6NLzyZg?J(p#H0@2w`5>h_Oe6RvNyt&k`54^?K1y=(IpubgI6o)OZ>es2jyW8o z8%#&34t8B$;g+->{ju>NGx}4ZMMr3UeW)K={AgMV#~ZCF+)6IiDuv_i))bDnVZj}N zE}r0|aJ(7&In^_TRG%uUPZiatit1BEb*SQa&$f!=&D#-_wu?ia%6L%}G6}Q8^-#0kfu|@d@&^J=K8##{SMvfA)kz+q^rL-tN(;Zmu zc(zsau+)vViDx+~bb}^tRTe9!Oq^%ElH$}tKbqi_b5eu(OPnA}4opU0I7sKW{6jENJ| zm+(InmZk63pFMF;(iR1E+M67C-sCv$ZbN3t+39a`9P!VoCT_!u{H}DjVQ|SM;0`Of zI(?PlyX4Q(dkjLqHI%T7-TFl(25{Xapl=m_i6?c7;o_3yjP1m;({Oc(J!3b8Ey`^r zTNR7)aLJ>}A%3XjN}#+16up8Pc(?xjl2=)Vg1wQaV9$)8@FD(j$qs9wf>Kwg;8<+o zcwWDg<66KePfmFrBzZna^Xo&7^uz3U$sApYg7a~Y!B#pkeUD*q>0Y3tJ~_+^O2@Nu z1^c;5LCS7@QRzqa!&JA!RPJF`UV3R}9mUS)n8Q(y`5)z2)-mbg+;5^fA0$0+kY@S; zrKWVNazI%KCGOUHO1lQ(im;m8OUd0nD1&`sd;r3J;Jlk;_<&*Bq+^3D?2*B3NhJ!7 zV+qx;M8Wy81WL)x@=(wCDb`PY;!#in{R+1CB|ScmDudB)%i0Yy-JexP&#NK|j%h@} zCoi}nZ_7e=M;6YYoe(}_(oGOPbJ9Io^9`+&9?aTe2u|9cRIYj@TZn47F%N=x=u1;^_UY5qer zYKLe9kFaG^!r4dInknazdl9%lnQ|q#znF3(xp#v5$dm`jJ&?Vay-c~GJa}l9)#|^R zV$P}6XO!7;=Ie^eGIQLlv}|-vj;_A!0VPMbw5%-Wh;pfMX3ljaIX6?^+JWNFxkI_I zY=`w;1@+isYV~3xYRJXLi_0#~aT~8L+Xg%hg*(zdG+b)DBFAS;v0an1gjRt^D4$h8 z`9;nnG*UfAw4KK2eqXi~G~uzbcXPHgHuV^|wyB?in>Y1D&Ov4L)V<1fRx-6M=^*B8 z-Oi>@y;Z-R%_e&D)P2f97}+arV|1RWrMbPj^;2i$ZZYEMBc&?0M|Z=}GjeluH$x7+ zG}gm(yK+51e`cx=__I=iz>llmZsX@u&vL9X@M+z-s|>bj=jZM=4xI+G7)EDH?r}rW zw99kLbTg)1ox8_)#uKVz?@)KXbD>5%?7x$lyD#DFe0qPxp7QGZ1$OG0;<4PED{NS{gW zvhhgS4`nZDYGK;^vt!H+cSTi`C{fDGe68cp2-KL51KM) z!65gbs|VdS=ti4&UW?8d`WjAI&ll_osHg)QULv2=bKmdh)!4&-_{eq+l+Zac3Aw}a0CcR8;G*T>HQcLlEpPCsve z@Je#K_?p9qhQ2KP!VTXSuxjzNYA?zC99Kx;z&LQkN;2gqk0L~$77vz=% zW0b|#STC{OYyGR0+3dC)o8NYy?Kie>ZHCmm)RCzZQm3U>rPif(r=FksS?brR*0eEc z)6-5*YfNiPTbXt+?e(<3qj zaqM#3>e%mi*71tt4~|b9EWIQBZ|RFO+!-q}!Wru_9?ck&*`689ygM^#kUeWu*7&S7 zSgxTlT!1b8=SaT$po1&OdV=>;nmA`t^7k!dN#Geo+cuXVkOkA7_83`ya+Q zS`vLvH=Zy0-Q8|U8^X5f`tyCu`_rCs_NRR|F&buU*)+yJHHq+M2!GWj!p}i?^Up=t zR1Wm1;%yPL%P~J4tVvcFnN*l3sW3A#K=N~8Y%NeX3+Usal)rrS zPspDt3T zBh!Z|I~=3oGX_3m;bR1z4_JN12dpuJQTY5pM!o?)7Z3Ve31wMWwfL%Zd415+?f1@L zjXmLrx3j3q9dQ>m&ad-DyhYWsClz`8ezw3H4t9syyy25E$rpI|fTOC@-?+*@#~bj5 z+>v1DBq><*Hy@fp?m*a2ytRRdHxzLDXSu^(RtwpvFEWQ*I$MK&c6!hkkij#&Jx#$n zUl`vFvTOpY_eR_vD5J*fhnhe|SNggt{qAna2=c)ndiQuk7^L3@fgmQW_Iok+8h60s z_lA}gv$&e8uho&!SmJD-*YAl|9e=XW9TNFAdi~zENMpnu@roL+@-GTOYax=}DAFA9 z`B_s?fXZNCHT0J#liD-S?F-2uy*&*%=Iw z2OZNC^5USkMmuGpFYLqaYl8k_P4v?Gf#RX%O|t*7&WwH*vdtZi;G6P0pcmB&;4gc6 zX&}NyG&sICR$INQ+wG?}z=#om++xd6)7Cb~-j_qs6x*t}7K&CuCW-xAEBj5Qv)U?O zxGNZ@LHgl7g51vR^j8Ov)zfdJqD5&V(|@i&@#Kr2_^e(V@dmJc8f$cBsv*eV-2v4M zMX|~}#~*BkUOSiGs>3Rw!@EP?+CY0yW0o{lgl%UX-bhPgwn$UC!ZBf_LseTU8|F4P zEvTrS+f><5*IYlhae$acwQM$UibU>kOPdrn@7jo*%JQckD&1Y~Ht2TfP4Qa|F=9zm zoCHIAV-b_H+bfu1jzX;XX@=N@Dwl{6T(yBP%-DgrL=1ABOdM3@R8;NhWbmo?cDBY; zM!+V_L3?i$slWwZx2GZC?@`l7rvfw!f9@jUg)xc#1`VqUR`~r85IKfx+^fAb0X2ES z9+Xo;)rnQDumbqnVeUnQO6%9a1zs4e03^X0#*Rf4AbU%f_I@i?<)dmswLmwwbW(L> zO*AfiAyj3s8+2vMN?*W3f)ag27Qy=1gi@VpV~J{`ISf+CDnnj(Y)n-vsg$bLimony zPmEe1-Gg*c2g`xi*A^35)mjOio=Awq6GFjo7+0Yq2P+d>do(VL)W$Y5*nS@ zlYn79B#^`}MTeLBy5_o9`#RkHdI_zEctS7~UwjjaTpXo206t8=IO0Ng$cO5G;C5AX zbcDoOM}rxKwNiD(laVM$3BsZRkOmJ-(?lLgo)_$&T#X8O6Jw|_DK94}Vc@uWpXZ07 zqqR6mJX8f#q$<3Ewa(qy>TzrDIn=U9pohFP4g<`SL?ZNkz!NW(@p2>#3tu=+Fcx?_ zpjTiGkE$h_6mz>1hJ9`@L2ck0U)>2)zp>37NECB=4PJa!{qpv%sioZFgegXG#wksF zt0=StEmKtbfM-L78jt}pk5Id}iPwONWnP8@Uau#-z#DLPA}hwsjiZG7QGDU%KmctV zWUf^~I2Hh>FdA?bfFjn+)d(^ijtNIlons{F^{^UHYZza;Rt60PuRM<5^}8Ko6gUj*V{$3WC-N8o?Ky3$^!pP`An+j3I;*2{E;f zDPo{v<4TFkqqC*c-NhLzvwHZ)b3|mo^Kbo;lt~OcXXAG^#8I5x#*IH)2G>JrkH0lCF`$ zESjbtKL`uRKfNH|-6nqS9_*Y5XdDs{)o)S*7#H282y+AC)TxT`F`M7oaI}?_yf%#1 z8JMc8y%H}7uAxvI{S35!MDzR82PCQ{VJ+_9L`rHS^qd+MTSsXT!5Y;DgCb^qy?ZVE zuk!{vBFkAtxXtGqfG!M-IFc5M_Mpr+N|^0i>-8jZfqn){d9}CE+ZGIX!f_F8K2&2- z6243{Cci3gyBqclqKUBsM}Wu;A;|=t9Hpw7ml3JT8*U5vx@cih6U*Mi{z>GS)kDPy z1uu5x#2f7kfx&=^mZ;LgF?}Fuvw}gt*BuyuS9Tx@kUJ0r;Pz`PU~QOQ5vyTM)mQmK z-UJd(xp>qR9DqNJrz2!~)9y?|(NIe`dio-!UK{}oYcEKl@alX4uT)fIGO{>Ul^A2M zCa%su)`E!|K+-xvvrL|n5c%Yo64VA(2UkKTSA=^4ZLqUNVWDuP+wX66x2j2ic!?@?e12fPPwE@=Bim*12aL^ToZC#=e zMx)v#MJy%_UE;7Ty5D0hxU&Y^DFSMDO)%sMv*q5kRlW`%%7WOn`_A>wI!Vz{j(!ti z0G_JEqM}i=|5ZK7#?v;hYFOxevF{Zd|M}hCP){stbZ0ftW?7BH#4x+n(@ihvh+r*g zohEk(29CD-B&4;0uI@5&iX=7*7?d%6mZS99a5jBom@5LLJ?tW#Utx zq%LuhC##Q){$XlVpkzFZMw>g5kf>h~vwV>?zOdQ|T$W=5CQ5CNv<(oU%K89N{R%=J zwB~*wy0N=85`ulf5Ak4eCyTEQc)V*H+D{e@vNNaKchVZjW$`4j3t$O4Y0@UJg-)Jr z`$;Rjz}K<-q><1YVX+lDS*gLg;2Lk}-Q9a&b(;IgP~4$MC^5hLZ9CqjDW_k4!60xyfGxyF`!)H4Np}}yW=*Ywc*4Q zvRX9p#qv;_c+iE`ZD*I?yS5+A9r59UBNnse-Z1FjD9<8aWO)!Ziw8#4jX#7VOfo!N z3zMZ%L{C4$IL@%9FRw(K&lgsY9Hn8Q!EihT6G9AYM6>KF;z{BDq;?S7*c7v4 zFbpmBX*9ASmJkVciH$q>VbupKQ!_k?Dg)RzB0>bQSgky^X1P~BXjmjd;wY0S@>r9B z5#S9;T7wMx!cb^^P&N0tqthW2(~VKIG|&?~XM5Z7pIBsEF4gQ_no ztyWa6T(knPLaWCCwIUdf2Hg>|Oz{xDp`Gk)l1kwcR@1b2gwm<<`mq@>W$2(^g&uJ_ zK+1$vxE5ZGN0k9JF8&#T$Q<;OEK2gq$C%nNk}yFULS(u$gcdEwQ>8B0?F?{65PQ-f zkF3IUSk>un#DxcDh(|l7`Zvg^Q$cS)o%*pSP(VSh#>3Wr5i*NLdhjLBSEOMb#wRr1 zP-9yV4-3|UAw;3NU~px37Ye)BJ*@$i*W{BH`l49Sq_SvKjiTCGQOi`W3o6p+>afH` zN1x}wumt2rPvy`Ev9a-EoXDE^ln9?{Re0Q85sf#Nf@_X=jLF3FQ7`idA6kKr+^bYH z8-ITql)cy}H2FH^(#EPJBwJOBj7PD;3Huk?O_H4<1?BFjGzv1Z{#G;!iz{oo4lP}B8DYm%tP#mwUGSzQns2- zVIsJJi+OsfK3s=c2{Kni&&PsY+GBdq^%W6lOe^SoCZ27w2xYfYd-Te>w5PK2X>TNY z&!y7`=0~6-8W;OaHKaamWoz7F@obsJK4$Hbr)Y7<{PY0TBf8QXwQt39*VU4&|5stkzA9 z)l<1nbi&Lpo(yz_V!BQ}uv#uJ35BC4P(g9824re^(8Ijq6q&WDM@=EI(}vvD`PCM4 z1`&=mUSrPFm^bc*fHth^PMCq|;m2K2h_*YvgtG<0V3JbLsX%mSbY~I}B16$(wgN03 z8j=-sbVZsMgD_V;LXkwRL#>vSHYQJKODHO0RQhuDIHyb7HH5Whgt5&X-az6(n_PzF zgPfSt9Jj{<>v+uJm$U@sScKJ`R?zQ>X4Wp3qJ}u4SdF~#XD8w4B{FxvjU8}$@cx8X zcHKM;xAx$SQ`?OL!Pc@K6b;r2jgYs%K!#Og%^eE4d!hq`2AVt6A+|}K6&M*+Jwaih z`i06}Qfl_q!(0m&xD$wrh z=nlE#%c{iRUku}>Ifho(Nc(HFtoyf3c8B)cq4;Fa+twWs&!r(ztIscg5)F@aVvB-h z67mSN^{`4jqL4L{9oxUkuuJy#i&U3mpSvRfyA@wsm{oaOyE{7EacvMZe24@pv)@9B z&4bLN7v2Pc`UY=htQGe%qS?uW>JbCAuwR{U|63L8)NST}D7HvG*X_wkWx zVl8b);hcWf>5vV&!QTtNtuT`KKLD8yrb_D~Vb;P66Y7gFwoD~YL z3CDM9LIf!*c|A`x7HD%p6GT3-)^vVF8(t<#yyqqKqS$Q96)U+dQE?zlTX<>Vs!LlmKamkGlq4m15+_31A}9|#1Z$HTsP@a&*NPPygLLvq z5<%-eWfL{|5S|{lX2+Hz2PA@*uSEfLq$u*mbx9rL6;iv3D+}t)DY;K3QGy<$lZ^x! z6iaCAfQaV|!t{?*5>m^1Jy4;x<#^uF6^S#r)f?2(yo?b`^+qdbsE`-$@-Z~1<<(z# zB7`e`3`2RsWri7^mKN6!+&nIdIkhMkmz!r4#m|!g62~M;U@o6Ap{1ow&Z-|#ETqwj zjh&D`P$(q9Yr>!xgsWbSj$UIfQg`g-Gm2YU!lYcvXZTxMeBx&0o zpu}na1R~vv0cGj;dBh_#GJ{nOC@x^o2``4i+J&)Jd;;Y4M5AIXHkC`e+MzMgS`zGP zQNJA!rz`L-ACosQv`bfEJe{OumCM~Bbs-lyf*q|bPTJYrJg;|UtS+IjIQN(16Z7aZ z<}{R*_kS2XqZO6SYWkwdvI(rRaYXryvX+)gciVEXKLWu(PiL?@Tu=K)^;;1WPL@&e zk4rx>Iy*v|>aFtyRxzy(Cgx*k}3gSaLvF8(u z6YWqi7<-Y2&4S$#t9Oe#MXV~=jfK;3UQ-a`Xul($dq~qlT&LB>MI{KC?G7)GJ`ITD z6=N_DHpl8swwTBG(R;UI+yl}1rXBrPg4l#mwrT@jRl0-*5EtZxmEsq+thD;tyy9$N zfw#+#hv4!dVf3h7U4X@ddv#Kj%Y*4!oUa(|7Ei*V+Wzp2^Quc`O_(^js$$%%vdZFd zC9_IP#!aaJ$5lC{q@rZvq|%CtDd#ilVCt2Y7Bm-qZPb}~KLV+ECN~{Su@NK0@q}yb zB$vxo>~W1NR_$B$TSQ_IB$2)VC2id3T?@e?E(1vmiuwbl6yE=dc@9wT3!r(YeQAfb zq@o`yBAQHzjXXtJ0v zVW~W1dqh5v0fSFHST$%%&Z%T*CZds}ooWm7lfG3WZb7OC-_ZeX4usw9AeX32)xzlf zJOZ-TA*Kc$Kqoen<|wj?2ZB(h2d_yIFIuw{ARd@MQq!H}J1I=HRBHom+5_BZ73JgZ zsHl>4r|$XXMN+&58M{g(2$Q=Mgh?Jhi&>xejSZ7Edn->h$xWl4a)Waz2 zVKpEYWbKw@I3Cg?3+*HxEQ|!B1}I_eyPs8Y-*cjko){>v`k=m_4w&tCcZAhT*btIg zbaw_~drTvWcHxr%y6Fo}Q&9WHkbtV_#M~0s?xe?Rm)SlTE7>S*!zr|(_=ed)k1?W_ zQBmlJzF0f(*Efseo*b#7R}>C=`~zj8eOohtQyUhpekt2dlJX?QCq5M_THE>WB=7$; ztf(`Lzy30==kjc<;Avr% ztbxsi6isXat6;SdZX#M8Yi9Kn!-oD4FU03JL+&0b9VRU6W&zelB?TeGQk$U$RlwiG zs`0%XmPYWKFk~o1*W_f=i7tE>W7b8i26z?-e%&-Ep$c;L!)L$}a;ku{j&j8mvms>z z)E(01*Ft<)w!DA3T51iJg!K{aX`nI-;4_A?bSGN~HOIcF22Ljfx?v218Vz$YEOj=- zHbXq7kL3i8)J9pWO3~Wnn0if*ZJ{4}4o9(t#%T?NTY%CI|GZRNFZ68z8v~p(ME@i^ zp`^J`KIAkyn%WoBRy8l5Ov}Rc5DvpXX35cx`*EEXFW&!grx|9#WMY|Kwif&lP1bOXptnLP z1H`1ep?)1i?T{0ZW%j4R#7}Ld8hB)zSpGmI)ls`6jM>{0Cyk{Qd=In{Cu{@s83>^r zMF*$HT$&7Z(2H{+u1QRo!8m!_sXS5UeCojv=Fz*fnFdDfiU?%xgy^U~LE3Wit7#}v ztHF9kx*)z|TWP+yA$6GeeZ;Yx=7$qpoUtdX2*zWlI7wEWtXvKW&N!iYa6ki;BX*eR zo^Z@?iaM6V{0>s*VmWQp2GMbe+NU1ky5OIv$w1|Zz6euqbdj({VoGWQdWeQiaH|?V zS|SLOMH>*4=qF~FO8Tu3hA#j)_~9QjOhek)mDC5={s`rdd8=d41tHA4Q|jOlmDn!( zE5OE)2>Br1N9C`UBiBQ<;?tVr^njDrqX0L3$xU^OfbLfn15Snp8130Cy3Scy608_vy!|9?15R(NSYIninJ~MmROW%dKvKkb z%%jnO>6to*%Ft9O( zXwW>Je_d(vvF`V8AIknPU38@NaXl0z_s%>hbe4zhE#>Y3q zr>#GiWid%7)FHW^dXL&-LOxVYHPi-(wboO)-9jZ=V@H{#s<~DG^2GFS70usv;t+jU z0ko=^F{uKDhhvOm7NmKNDOu($lIS%gHJC4zlR%wIGmNFjQyZ|h37lurtYP%(uI#Rut)6&;8+1JwFKNXL|H>&NMTrx{R5O5=$++i@8~*-hAz%U4A;Y)!7$D^ zQ46iVAQq*kGqy(|9i&d~jE(_NVE*Vpo^@eL0~Vq+J|C2MWuDDMbOtOmTfew zp|~~J23-$vErwLl_V&<7qe~&fI<^it@n!ZGzz4(UfTe}{AS6rgAl+~-X#*!wu=c9v zj}Tw1-eO}a<9M2A4n<&GBT}MU)qW^#Bz+wkz&@QT_2vMnl7-Dh%jC2QnAh`Qwk-y{ z0#XWl&PlEHN=+N-w<35+E}U$`fJsEb)}EUxgDgr z7bXg`s8pPLwY2xBB^?R+&{_>Mq>?lw8g5O|6~f}A_F>6IP^z%((ZFkz_BhL|Bx}5p zxK4)<^01+^<$8%ayjiA+iO)oLZX$JP9qj~~PL>M#unt0Jh(5GCX@`I#Fi%iS5n8>G zFUD-r%>-U-p=h<-edMSd{bJIaA$2XSAWqtez^b2~*k@u?L>{=i>6c4tycNQ7oGgAH zqgfQSY9F5&x92KI;4h|~i{M1bj@|hbgPgdiM-ui**4VsR78==!ZF5rHRI{@ozHU0F zG*3x}4PxKs#C_1v_>xXds5|cNAVu+9(tvKVeCXEwoVWDNZ z`XtsB=*RW9H;)7`jP$3nhm|3zI|LuMAYNcq7&? z&0E#P3n$d0e-12IAddxRld#o82N!@*J`&N3Bu5{?gc;c{pa7#iU}t@1xcYwDd_oF357zv3oRwSfnaCG$5Gm{SLG*Ft8W9!w-X35%} zOwQWnSo2fHkYB=nAn*0J{HsZGI%)MWY>h%U>XCj`q(iXh{RO1<=AtI5ku2$l9Mn z`vI_xtP9A#MSegQ6f5jsw7eHkxdn9U9jhQ%av_Zio%B-*+JBgYVqnQw;v%vKS#mS& ze<%!=sdxra7kzG!EKc0fa#rno2pI}6P6x`-Fq%|kC!Gng%+=Hb;;_?AXM6?P;ira^ z+sLR2QR`3@YsfCr$57G(tRHP~nD&N#GQi?@G0fhNViIG{tgUoHB9T3shoq!NDAc23 zQ!A}t%py+Y{7~<9aD(E^VOTfqYFCj&_~@KRoRhZGvmV$fk8LI+EpgX~)<2%3sV8sZ zWbkbGEQNku%D~mNLH@JoWC%~WY6rG`Q(Gm6N0etmyIqV3ECRYyq3`A}Av^PcGK=;B zEFBMztK?ou(kxCU{xRKo@HwCMr*$M-wPI(GzKB9K%t^A2^1#;j;xSVj{1eA%s@*zV zPQ~FgQ9`tpcg8&&6OYDL%Wez71ai}Q93%lL0@26eYm|qCJ}RMr@-3!(@o577W7cw} z9;eP=Y$fL7qe&{Z?xH^boswPgC7=J}9s>SQ+3}@>wMT|gj(Xa8_~?-omQ@5(tP=&X zxk4TW;=Ux23l9rdQe4XqmYRJYh-_Yr*t zRYfNS12t8h=0Ef#B;jEnYOeqO?ENv4S;X*|7W!`emjCanFp#hpk;=wH4QB65R0LV^ zXS7Z7gqD>x!g}W?B^i)UL*h?Q#2NcMLSiK3Nol4yg$^)p>_g3Al><=Y6o$14R=!zu zas(?*YQhbP2dmYP&m5rOx#41@+r^Wi3bNDY z(7Af_%ri`9rP$A1^xUPA&e`gLTRuk{UrBkY_EZza&ZCgpvgm_%ux%!ajjBpfZSq9B z4A0)Q)8vXDI$cvsEYk8!JPVvauh;*>J$T9zM$9az(Za7}1Gdl1yT?aOYo-s!mI@1k|bD%M1)0>e7&UBrb z*%YHWg()^iMOvn#nmcL<)W?GP5GX^v(a;wVgE2JUb>ypA+S zj$(1@2`DzGj~hN-lTqYl0pF)MnjN)@(PnlsK~2JdAe)?uqchL3O8E9}gA=OXL+<%T zbl3L^?;_!C5#Bc8Z5Q5E!rLjl>xH+QGRYC(7UAs?-krj`TX^>g?;+vs7v2HkJt4fO zh4-BBUJ~A`!h1t_Zwc>+@ctsa4~6%!@Qw@b3*nte1~1dG{yPj4sh1~dBvJ2PgW0Ko zXHl_Lcy{4s3NOcmOgSn~zVL<#Z=~?X2ydM5iiKB73D@tonG4jBDbPlSy3Y;5Wh1US zN4c2>)8@#ti1CAvVpM=b(E~3zC;+SUPUcue$yXU6sm-yE%7P7DUI_X&}buresQcyVREErIS<3!Rz9709S}zRgT=GO8Q=q%^L>GHgSbk>YGN2AMQd z^}x3!<1Fs2wxt0uiJZ-5q^+{0nI%C{35uwK#f$|nw)ZZD!Oh0O&8ET4#sN3uKxP|h zAoEOO9P=aG z63J+OD`I{tVty-Pek)>rD`HwGVwx*rnk!(j*#ITJ4gbAr+{1$ z1xB6t-7)-bL9!ZPYUE`nJ9Um;Z#qbiPY#S126Z{k?A}i9sKL>#F$tuY#C$iK<#aa# z>k^zdj+{)#2n98csuE^OUYP&+It!DteWqE4Y$Pzt)0y7pSnlXuC081d>Talo&C%PF zCH@YWSg8IYeMIN-y^*91$BL|^e>WJIno~~>D#2gUHVr^|9X*) z%07k`y~Q%}7U}Pi{!Zz?CH*_4f4B7Sley$e{E+mwNPoZd4@mzB$zLk{VbU*_@lQ*f zDe-gCe@W8EN&Kqx-;n+h>HkIgA4>mY=^vN=7qF^0Tp(qjaCHus4M#G?sdv;kazN*% zp+ctk`xFuA%~u={ovn(Xy|)+AB;%@|4T*ZW8S}};Y;2eUyUs={*ZMt>JyN7V06}F? zK(j%h9D;+KU`*6F@`RF?D@B?u$tf2DM~xYl14j)lJ$eyPteC$`m2y%28c}_#(;$HY z2(_5K_aXz>I5vfZYn2&=s|K1OS5B86hTmpG>iXTPY@>wKpoA#sDM`>oY^w-jR5oNl zt%M%3fb!(|28Sz|MJF*S@*LEVHD}nIi{kYgQ*2 zG+C~@5CW!UI9Hd^#99Wh5Md#~LVzxWF1hYP0<6R`bPCaN!J=)3W!S98Q%MJ`8a7%Y zP>(c$YopFG8_~_rvoIZ4cWwwlBQaz)!deDv4D_0UtO~N~P*WIj8uf00g$WHp4CoNs zY>D@-|c5<&GcPF{mV~^BA0eOzz-FhQP1Uk1Ez-aE>lY|R!@14+Go3Ozsj1thhhrCs2 z(I6)--$0XVr2&fVN`@irz1z`yA80lTZxdnBn5!t4`)pQbaCADB+i<~Nng`~zy&L5d zjE0A}IhiRU03;(W=4d*hiMF3)t#`kp_kc~$8J-v_F#o==_ma(M@3XAm#YQluU(eW; z5N*U?0t39Dv7#7%@C<*g%y8r8w-;V~@W}nc-uiy&#yO)awk+Iv;hb|G95d^NirnvK z>^N~=*W12JuO2n?inHIUDzJWf<5?Rgv|l}0pT6#4TcqN^KiBP@J7VVE?YD1zyKLe= zAG!OEnztt2YfC>k?Db(wvTrWAwzBi^&UYWb=+JUk=2x4(Jdpeb&-`fYYlAzw&1LWI z-dXYHbvQsa+f2?TCjKH(QByGJ#|!_VV4%ZKU(oTWk@EXmrjjBT{$u!~g-TwY8T)^? zy>A!}N8d;j2}IvWy@@-@Kp<>3$8^y#41H+_#vfzm3KX=NcFLvUFxJ!6fXo zsC|~B^&Tt%(#GVn&w6>bNssEXm#YNTr$I1iY1f~KX5&_~ajV(5ttPZ+RAi1}#18Lu z>rC8iR&$cn^(RcSh9*JC!A^p1W}vcBRGL8n=3$^ymjs&@6StW}!IS_>%7HE>JBL6M zXASebA$q+{pv~)S3;FPe$o$So(CG{KeF3i%zsK&xS5rBI?N0F>H>bM|e+tMscaAsU z^mV#ByiWSgvO9#|cxG6<8`V#r*QBa9u|~is;1)%1!mwBZlTgWt&5n?ZPAL~)wdEy4 z7v;%tO6(5FjB6QgjEoYSxCof!CPuV2okI@kT!uCAr-AC5t}~`{lz)z!d66BEm`Tmk zC~CuDVS$(emIrc$BN8FjBrH+{O)8^FQOt^{1a7{xT`vG!K%>95NNlNOy_kZtPOok0 zBsD(|yG6`U8NjBljTR_^P>|W2OwH*b0!dyq?4D2(`g$#L9`@FnsF!wpxN(;EHmkzjtO|ECEuOYC zn9jY;v`-Ucvzh`80h_&Vw;kqE-*zA zV5ck8{@o_rGN5^qM8^;=PV2rET$l`sh=p02gszcLjy_3D4YCo$;J{`>Y(1&Fg_2x@GB0Urw7qs7izFEmPSV3Fc`|bmq z1S}F8453+v_E5eK_W+X5BF5_?NiVFX>Y zQE@mOXF8lFh=IHnuGkXg;38~q??@ZejwIkBsK1RORE1GH0&3tyYnXan)%B_;M<>T*h}%I$ z8Eu$hbP=_g^f9fdF`(IGBf~+;%XUx%X80IzTb!SV3NA0tVM>M=8|ZGZ)(s$i`FS`F z*)aQ17vWAE4;DsZYih7`Fm!uys|cg9{)D1RhZ)!NaWJ-Eey?9|!JR_iU+jG!=9m7%iEK=Yw(8;v)eN4LCOd%jrqiy3%$>dX`)IrKK+f=UjE~9Om8!a6O z=**x@NS)E%2jtXE6P@%K*^N4K%@*9v^eu)S!Ofss1VQ-nQR_l3upPn~Yc`w3lGb+| zdPL}DTeiufPzCeAMD3fNpXV4OB9ddaH+0z7yBq$)8md5kV3(M5dHL`UL7vzX?18Bb zqUBCuI(5^cC?>}9VT^YJ(WX*uu>Hc_j!j86nex#dwB_5(N$Tls-*&SaFwvnTo;K=m zrffGD1f_4gk@h8^p%j7w!5)qf$by3G|BvG*EqVs%vZ+B|!!7YfP zH4(wUsz_b6H;gl@B$FhN6|huqbZj8AeM2ej#yh3aRf}3WZ!*q_FN6&ZCBwR-<^p@Y z4dcMv?%ftwo=l9b>D!KN#6lK}iZ2E|4<@+S2-;0D;OK-H#on!$g^dm-379n^4g>)r z6tG|Eqz3kg`LxB^P(ho{0|ffMaNy_z1jTj$U_Nj`?a{zz_6@a^KpY{1tR&NpeZRdM zVo2Qj#Pf;`+=$KZJ%Ec59ad~;&d(cXa^O5TfrUVEkjAlLzP;N9>=X}TE@T}%$Cz5q za*O6xH)*eDER^pMoW8oGsFbrNTZR^euf*`X>9wv7OyksIoWNVe*_i%cD0hN^?i4Su zh+&_^*htQt6;%zC5Ar+J@0?Q#`7^p~1ZP8+Mt9Zhall;s##mV-ZjHk=f%Ki`ktNELvh0npTb6~!C z8edCgFjVFD*Sqnz^6=-gySNJn{a4M4}g8u*+E zGFqdL#?;txh z4FkIR4LNb^5ccu(UC9PkMBkIbTL9{f5@)}ABeC~aqqj@&ZyDYklzDei{d=_U(c#~6 zy3x@EGG$Z~wLjcPvy{^PdRuyn{@$e@QVj7H*Q>c`}Z ze^Y4u;`2!y#ev4KoYGa$eJAm92=T?NACva~{{0XCy`!)c@VZX>mz@9i?|^E{IL;jTX0E3Q7{ zU9LX;HM?{QSClmKoiq0>d-=M$pP%#Gp8Y%azTvWJwc;sIek)Z+*Q__DE6t6?nXYsM zN$Dy0tC5x7Pz0^%;vA?IkdxEX)~s1mZtPqT z3`U%DN?b#-tP_e|B@@bA^mkU4b>bv|QzlF-Eh{ZM%jJu&LzXL3)WN3aC`|g|3fF0( zs44x5np5J$cZxe3eI58lZs&r=iV|1ZBxhqy#l$HkuxFT1?5wOPcJ(R4V|#!bn66Jr zh0#)yls<*CSMMD^>&1dQ*FLcH)w0Ed@7_G?i-}u5n%;YL*AovPyl9l`=Qsak`Rhx* z_^4!r>Bt!kudJ>7JnQ#E{&3>uS37bSG}v}8`gZfq1KSVv>Sok;jqu#F?a$`(OU|!b zzsRw&^4guBJuz+QXMcNk&ROZdsJn+dNB%wSl}q=1WB&A#cdoZQ>iy-{*Q~ECy?FZk zoDVJ^wzj%x_s;l7583Ttj&xUuxL6GhkE#xh@;{LftDm5;4^>aT+*y!Xswpa1eEoh@?9ugdPf zeVOCk4_`yHf)<-QIbPal_yTR&$d6 z7v4h;zgsi!?`yW_{_~IXZk+v;`^;;;Sf>ms-%xO8*`{NMAFwvQ_|=^Ex?S6jxpu71 z_{G_0ERDG9PjhTv{q}Fqd^VIersC6ApXeO5dbzzK{mg6M95t4IzNLQgAJ@Lnd-{x- zb6TG6ofp0+?UZ4QmtEp%I&f%M?gvwH*0tw7w{}XkYiGmvZ4Gq~-)1#8R;)X7`kZ^d zzW>udJrr8c;1 z$dHP8>S2a%qWP9TQlH{VGMZuD8w@6$&b3AjbFN?M^0`K+*u^(x<5n7W(!sWHSKL%| zRcKtwrc%k(=Emr79OHO(`pDUX^K?#0QCleDs>Iq1)t9@bx~A-!w5w#(1T~+Kf8vkJ z#P7<(Oq_bqB`%ZE(9xU1buP2fhyguMP(V7IbyH8Nn!e4v`jg8ZnY#0ph3_c2w|rGo z^7q2~-;1>We=D{IP12{U-)9jig!P9zVzz6p3T=@a>;@F_wTOBzTnN**XP=E zvY&JB>|OZf)9%aNSu*S0kcn?cJ}KBOY&~K<&1651y@flyy&#t=SO{* z{hP~8cU4|^)n;d3*QbY``P+A6N|y}XGNt(+lP|f{visTO4~uiZFUna`w(7`luKQ(@ z@wHJM4_xuy+?Kb`y`%PpqMIXE-1*1yo3Gn6^xXps2ai4F`^)b8>*n*iR=&6E*WXP& zt@;-SKNz%q!KD?C)@(fEr}ej2&3t#;rbs{@(iqr`_S$d&~IY{)!WQOETLJ`EAeqKkc1$R8?EJ z_JK`JdGD_ndpb zJI=UweEhXpbM3X}Tzky<{+{=p&sa41HSE)Ipd(4A_94NUnhF8$Npt2XP*fKZ`y$V% zU9)IMkY`?zB1z6XP0c1pv|rpFydQr0%J&}S7Zv`}M8LYA_-?7LWv%fHosQp1>#N+e zNYX_;Vm?1*XE`7QnHb6~z&Br- zZ4Hd9EJ4?SSQqy}z(L{Q;^YExv+{EN{G6E3-vN4n{Oc7+I4B|px)-m4hPJT*S-<`m zbh0LP_PTn;W+s*tU&}>y6bw>Ub_UkQ6hBTee!l?lPcQg;gj!e3f9WRCp<2srdqpja z+cc-zYDnnK#Fs&^Y|TDg0?-2<21~5;o|Ru~aOPpox>2b>Lsu01OuwL(G=%$9>Sg+! z!HE_$aG&F(pgR)cy%40rWueu2Yw!~QdLvhbW|uPCPUa<$}80H{quRn^|>gti0;ba#Eoa?3X7P`f_0Hmf--rq zX!|AM2$6;)Pl+VOIo5CWS4Y8ScQDg0mdUGzu@G8~ZI%?RZUO0oUyqVCPE1WTCjVi;ppAw)Pi;^6~y-!GhDb)^l>WgGlN>}av+^lS|h z9A~jv3M^{+!i2NSv{Dr`i3354t04=J!Wk4nyGIQ3)Mv+Cho+ATHg&EHxiHE-h<`1409bnRo zW%&yVGC2uNEeIkslYNc@-n=-C4NniGO{M;hH)KF6bQPiFC@Hdn?~6--WcSgVBz#p3@O->X7D`wJ%Sz26uoxUZSqug7`$;c3 zL>be;kc<0)y=YIAf_pWD*p$Qx8&S&1;lcXyqj0%VK|NQF78h9RM@wv^)@n~J^>H%ZiVex^4-Xv%tYZYIo;|=fN_*~ONGE*a%w0B; zH*hTfX}4{w;boO)MN1h3#(g~7T!%KV;*c(=PT>tqE=)(~5JWocY1mQ0JLUvAn7ICr zsxilenT?f{Qa0KyIQQK}RTVgJy;m9mb2sK4kM$d5`u6TDe?~@T)FKryJXq)Ov7?K~ zc(+tV#$P6OpiDJUCH?|eUmg93oH95~>?EWimd8hSUn6smyCTykCj=cRYOwuKPF1;R zjdX^o%+RDN0gG83IWso500O-Ah1(~Re9Hq}HY;U{d|4mj%-KzWydP8(M4if?=lBJY zSjXJ&t#vgYB2|P9xEx2}RYxWM>qt>#-@1F+Zb0~fAH|5)#;VDwC;rAfg1dqZe9EHU! zxhnTBo~}@@jMd8%p~Vnq#pXZnuoWP9G9SyHydbynu0Xe6$vlB$o>TA_2hWX_Bq{MKeEcJ7xoA>0Fw(k+aEl5B< z7v6DRy00E@2Jf|dD;-FD~Wo4It$j6xV(=P$|v z{A8-&bodf)2Ci1awzYV#wC9?0PpMVBlRSLJ>oADt$|ErhDQ_Pw)f<#Q);|#2-L=8& znf1+ls8GZ0$bsgV@$tq33|HI2F^G01dmTHTXLQBm-Q-)9zS^DTT>1&;4j<6l{WB$Q z+BQ$H#B(si5PaC&>IzTyvh1qGJq^?;+B=)guRB8=JiM6$ez{D&GMy5UmAw}eSVLh0 zzD_`fpq4v<(I9ez5gc(4YFK(K0^ajOw&7Kfo5drMS1QjkRy&>lG(I;gWJr?Gl8;=@ z;CcPIwWSTMPBy!mDZCjtvHOwx!IGu^tp*isIs?#6PFRY2cArqaFivDY1PTxEGl(2E z_~;81>Mtd2g!2To42$Ljmgi0SSP+cedJ3NIsnZCL5Jk`f=w&p;4wX$UcKFu64r68A z4BsoOJV5xE7a+I7wm^;RkZ?nzj3uS4W9UV%BQc!()NIzVS6#vGir27*XspaLMSs}| z`8E$>R~L}MGLP+SBH-T2JQ|nY>A8jX={uCR;ssI#Bo{?4{nBFCMxjS|TeIyLy{vD$ z7{{F)aH|_ylix~#(jdayK*$ZIKc^i401JZLAcD5x|5VDlfdp-WN_D^=k`zV9?;flH z03HrHjey38Xx}F`7A$lr(lJC z{GAH#UdyE8YtG#^s}8Nd7C)M{gzIb1K}1*3L!v}R#%1yLxe~hWZW4-<0A4gQo0)#b zDdH3Sp=Zx|NI-DW$F{{Wd`ho4)^vlGvlvFh^&Zv)Do*jShWLxTq|2DAc6NT_ia)K~ zTvw&9Sj~jLD1Wayzyv*@dF$O2n+Jb!yJD!&6SBn)TS*2o880$lJuO4i3GZ29NLb^J(_6R)Z#`PIdY)i6hqzxeOpNV(={WS(w3k|#^43v41>rz)%p3GjNw@o zy81^W6y^j9I#pTTm?*T0TebYl`A8V1NW6~-+Xj6f1$?npEruHPXd1H^o-7Ty`KX9wKv2sySOIxYegOE`TAa|s>B5p_G<2lqd)6eJh zy^s|Qguwd$MHT-nx$ytc$QMVKWim35;;Y;w1m5_wd;0SHc&O_lbO{O2nC zhn|G4!^_K1RQM0E>>Ykt?LGl|d;LSTt9nW8%KWF)?teTa``>9>r9390ox3~ED%`*m zhgtBTFZI^Rmnhx@+Jyt#px6ede*F`?W3Km-3M|e6dP*pFd0|dW`r8v2kJInewZSCd zkQT)TjyZ3CaQFS7nDpw=jILoiE|a*wRICWI{0VVcGBOb5XpVIVCD7#y%0fVw2XUq8 zi-dYb9h9Z?%A}z}a+1omSmDim46oz4^T{Nv>{Xa5ZKUwewuCN7PwNMaiif_s%snVf5! z`R-D3zj|zIN^NL0!9&r#9;T(4M;p%YqctCoHBfV`JvU=~oM({%ni4E}IkY@6u)TNq zKF!bXFC>h4vUHx`kdcLXF+2#1Q5n3kFlDP0$U;x3yYB=W0%h1sD8r(^F${@|yMpF{ z`>;g8DT5)Cmd39P`?t1h*nu4E96u1o4L$s`=Jl^|^zZoA>~{-M@^!s{t)zld3oW2= z`x$p`j6&LA?~{+oGA}Gri#nftQQyZ-6T=hH&Is5sKJwT}3`BdJM4pVvK`xJjMrRjo zaj235=W!}p>hlSE%dYtK2D6t>5Ea4X>L-E58;|n|nFU40jKWqF1U3hu`3nQUPI&4P|4AN|t%+l~?kx=#qlwM!qM zQ5suvQ&tNVXqQY#d35dZUN`!Tk*Q}sm(@i2f$Q4Cfd%56dVPDL>^j?~Dmn7vGF4fZ zv!SPU5d|!~Gnw}WH;X_xxhjm&^f&kXv!2R1;wjNt$I?AcC6b^JofXyda&xexrwxzg zsNo_`>dJkzCz8a{GQ1HnXa|5JSG5XxF4v8i^TC z6XQ;MUbLNvaZ35!*GYWo1AwX8%@?=ZMaBs3J;vqi?v=^^oFH(9QK`>#gkZb;9^||cxY2s>(A;BLx$qGmalo&VMZri z6$O?72E*sUM%S`ts}}Hj&E4d(KF2q`7-n(ky&R<s z|I0UO{vPnZA(n?)SY1T9Rcx*p6|AS>;4r1gbP>T#ELogxpkh}o!EuYc=8QDsv31b3 zJVuifllpE_q-8;!)?u{yhZ;i`{zpC(w45NL59QaRts3QJ9+9FWLvrwIa+SOB>_TCw zXuG0J?npQt+uGv}o#%stSX}dcKZt6t>y+n#pBW~zBu@nu%%6t5)u;0}e_oU1-eZmG z{yFEZ1Gq~4AQ!7dbNQU%LEz>%{X2tjpZpH{QYUF!ReB3oD83B*(NSa z!`;v3_KZ+0;3q|v#EksF>pFf;s~1PlB5=nnd&{sv_yf3HD1nkvsHXyl=EE4NGv8ct z;XJ3!^C3F3IUc+GELd>O9e(FRnZo17D7SS~Z4O?4VP{vK<;3Z6>QhpNzLqabTd~^5 z%)_4Bcat1g$mm(GN$OwbEDkJ(Awr|9#wOem;*T%w3Qs9H>k9Caj(+sP|mFoBy z{fc5!nb)I)EBFTRVnL;kP%u$zyhm`(YBN6WsEoXYKY~oKPr?Uo!hFzt|D}ieF$~(A zBOKkxrh%hK7Nb9k1oOgUq6}Zmli28er3cL9UPpD?7|ip7$GL1`cv6cv7^I`zJVa^C z`|E@5CqM{7D3n+Z--v~gKoIt&hjsDusQe7F5P|xy1_OitS7QAp9}>2+bFhVCL{jW4 zwEoPycrIXCLiRw8`soOv*pb5v?`)t~qZIlArLBneA zrx~*aRP!C?bstfVu@khoP_Kk`7GG;TiDF7q7!dW475>@>M^o*t!c@% zMjTS=CUCAIG;6JC5WQV(>;6!{DWqNOYPjLldN0RNMJ45dY8X0m1vncxqP)@Wra4>K z2G*LtwFv6?6rnX1_SEZB`LkG|aF+(>mh$4pGE)K`09NR5KX=AW1do6{h#=N8>wG1M zF#FIbyd9I}Ggx;@nf|vgi2)9p&W0m=AhCE3p<3i2b;*qP3%RLA;~DgC)4;rC*s3=U zXdd2us((;#65tr?D4?b(;^-e3W8!*mbLz!)V#9d*_6cdSMGU={3;my;Kj%vp7=xJ; zrwuHR7b9f$tcxt|)wNjV7-^c6hKK3&Ac<;tdO%rHf?ZMlczYnknnhSAuUL;jEQ-kS zk>|cw(eaXg7RSdxr0JT91+b4{DU1J_geihWzZi`QaGU+bka7S;AQoE5t!OW^S-!B;aeo$OHiQ*)Utf}tl zi(*eyy12bL6Si1V*1eJ364H6%@66(ZGK=ev#Q!U^5P$&a$0cC>mPeO?CBFLN)$a2S z2#8f7I6Ip%X~&`!^Dn@1xx^+5pxHlUljtQjasLxGeOru@Vi(KcTcRWWl};CSCcacC zpZqxgmQH`YjX4neE1yt-P^u%sL;r;Ni+cbT7REZYR`j9LB9C@zx;?Q#IsVW=tqM|2 zd_kH&%bKrNE>Shrp+Awy1FH3m04IwYBHUdZDOWbu3ZBoq=U#6P(+;+6CurW@2eiud zFijk>DtCX`JtzRW#s`;Z^>=?16-yAMT#dF(yH^_5kp#|01mHN)i}f!)UQ)~1tYt&X zTHfZoy>G*VN=eQDvHP*jmPbz*6zpDar7zllsF4Ay%K$ld=>&3LzB?O; z0Z0dgA_ktKWq0}=J3}Bv{tO-8JEF!D@Pac5tA3A+mxD?wby@k*Zz|?8n@LinOmQ^A zxeQ*fx_1g;l3NVQ>95b8U`9(BF(Nr%F`36r-^5?%(n)7*X+hf~d6ua_VEn1~Ud~ zXODo0s%rN^+l}gsTaQ-An8@N{3&zp4s(1Nh#*e_#od*Vh^Rjv(Jy&zwV_r+9*qFLg zDbJBtB=dHY{sz}SIn-hxYwp=pK22xk?YHEYDTvtJyL(d#DMbDgN+3#6GwS`9*DFe} z@ze(T)Ok(U&7(hM7{@(YzS}|$#u7!xw%WDskUCa5wIM^2+T2Th(WLB;LMJ&#;ABQj z8AO_wrM0wGrT18qwk+QRs} z+O(7CxwFU-_IJ0i*qr)4SsL<2(YLsVo+)P!2iEDhE_T2=MZ*+Szma;gaJTEF@3?0( z+DB7IKHZ)W?s(OdQgeC4IcpuQ8~Z8)r5L9|60+P6CS#1wNFv58F;2YAT)Iq2#T+_p zwVFr-je9o2=yo%M`_nW$t9$k)UwpU*sLGp+q^E5e_cW)6Q5{;B0YaGSer(df!-618 zMbNf_pQ`0dNzkUa3*+Zc)p7t-8@c~v{aGsi_D~@$Ecw^{rhVS%ebE~c zcVuQP<8Q|(a<+`WEl(5A@0{?TD^@C2r8GSBE0o8j$FR@uZ_5(hmP~~UR$t#FhkZdo zBFEk5PTYgPgI-J7;TJ;5QH{|ASDjr8Q+T$*Yt&SEhuuKK1{d<>4sL{Az^J9f(&(Mf zK#Dp=@LF^=177Frpb|^o93k>nKHXyV!$v}ruuUJfWQxWS*_b7Ql*4NMvwFT8;Z6Pk z-`EL@=_f|*L{&r9arokJ1$-@Zn=|w2W3tAK#szp!UN=PW(Bs9*l8s+umNj8+GA^;v z)hj@b$Eew+^ueQyTSlT*8I=%KLG)ILrbjwN8hMS=ThTIL6+C~uLQUq`wav9hhWKGy z>Nc>4NSU%|BOq_cbW)m_G8sK68AQl;iwQ+XAj`B2X6xp|IPWl^yG-akX>089K>7vK z%B(ZLvuLG(^KHjBoHmI`BOAW^ouGdIIZYO!S;}?)C`q%*qn@WrM6Y)7N(R-p;NqH5 zj8}1w&9lZ#SBVZsK5E05}xNA=31dgW35|Hz{n4TJ!m|4;F#{!x$L`mcFZFG_p=Igjdp*>d`8 zjbE_jm9i9`Bq_VY__DxTdeWjL1OD3E1b0hO-Q-Qx9Gcun1GjznTPf&gQ<+{qTyQ*{ zZYfSMI)3k#m^hgX7V7;?72coR_Tb>Prs#6w)Y``((b$h~OA)Z@9DC_9?K9o@`nS;N zht@kBnUs$9U3tJj)gENML`9S!!ECrBl2AWX+*31+bPh0+q+-Hu7FC*3)^$=P*X=$K zQn?8tnd!6`4K-Z7F}*G7fjda9(`q|>mT4NcWeV~6N>-%e>m0HcP`~j;X%GdK@3oS} zYJxIzHD0Ec!?lp>)(fKiMx1eE@|)J7DLqzP7GH#}B?`M`j?8HX6`U2=4=M(E7?-zR&_pMF1|YSh>O}J4 zE_O&A^vUk!)IgH;N3M-*Y2=_x-*A6QdVeyk7XL-Qtob8*0Ja)n_EsQbBH47wz07p+ z$+kRI$`h_}ymu>%yV>QgrnC&prFOD&T~!XBWMU}e5r(pZF>Dal&%hBlo!}ivdL!fe z+i&Sn6KL=CW$AbnZ-Uh!()9Mawux5m=P6P$-(=y#2rHH2N9swy^fG+i$eyjIqL{dxuLp7oGa_xh zDGJlBjd=3DgRy3p7610$(*FaJ)&KzPeFHRe)9N)PX?@>a&pr3tbI&<S6?`y!To1JT;X^41>p%%5IijIx4#8{1bv9DP)&Z3 z;f?7NI}`%K}cbn;9ZzJL50Zx^;z%mVS;CN-rZVHj>s*3fTcX50n;H>t@n z1u|9$3}=G%-K>1Ot!O^+Tb2iL69u>6SuYBQJ}U@bp8mSG3c|#_4xul?`n%9S_vb(O zQ2gyp6W1^N=0jgx>3pT|>O24Q@t6GZUjl*PftrWjKJ>S5+4;#Yue#}N>+X5%13!CS z)4PAR=3O`cq;J7*UoP%Bwf6Auj{o@S3k{3?w|(KB|GDbXfB3|^KPvv}f38{jo^vPO z^_8awH~sfD@h9)zccJ4qk6x(0?fCe2cYfrti8D&`=o>;mm|V5zr{f=Zpl-Ps4GDrT z7Hk%UR=~$02!Y$dan(k{5TA&s5I9Z5jxK@-WidFZCE)m^3z&~G$CliVycJt6UZC&6 zD10P!ClsXwr4H-hv7?!>f>77&7B)Gk3j()8SGZEk2)6b%$D?JHU zs3H#8Kd)!^Dr*gR>X%IMQ9T}DtbeqF699Kzw+JtGsRP`?~zLD~XG9yMPS_x2{vI3)0Iv^=cjE0VCq~C~e z;KPiigUv4CG#de#G!3c0HWAY6C`8CiV&8iZUlV#3X+ON#FfNJd>j zmrZ5R?*_lf5W>27q|yN`0SJV_M*sr}FpxA1ZqqS9i02&{T!17D+i`(oDe}O$u=Smc z2Snj%p*QLv{{~Tk;q8m=aR^e3_(K$~M)?DMSh|*Qy9B}q2o3Mh`24`PL*-Ra$ zY=KXWBYHbjmhj2-{#Lh3IuMSzY7c~H{EEUJfkbV`NXm9> zs0_tI{%4j$;tmXd@0qF^@nQ&sXB}%gKn%xZou6eP)*@6P{&m35D?vcWP=~wG5fjx1 z^nP)>IHwT9is}dS6sN&WmOP)b%agtqDpqzzznS^?wXD@I-wO&jTj$ z;G(8_YFx_IC^~~;#=zeKY%5f`5&=Bbo$JjPp;0=SDzGp5lS`DDMwKO z#3&Dr52!4lejC~%z5uejqI<9bd(qiPBW3kDj1C_VjCm>{6~pWT|3Vxei4M z)a!&Xw~N~l&PKob0|1-aPjql9-Po5~Q9vj?*uepjd5FnzOiNm(Er{Sm7Jyz%+lFah z%S!9h(!hVf;6H4Fb|_D`+@N<0_5XFb`u_;#+sWYFXzC)0-_HCu zp?{Mpen&==v#BBEuk$&k_8c|&pKEH{bF{W;dA8WI*s!V0F_V8pr*w9Y95>}lX0zhe znFVYrJz+xnqzTxGJcyn$l^HdaIi;7$rek)uK2JxNjTa~___M|fWW3oJ*JJ1%#~~08 z%E|;EJBkKLW&`49&-mm71ZY5L0C)$S)@x<5a*a^m$;JlCE1b$z*x_)ChC|2~uY<5k zvN(mYdhJs9kWXSs3QXF38@{6z%%;h5yWSxhRk%#mP8zIF_%)jFi|82vCy;fLa;w11 z84Z)$5Q(41Zm>uok!*q(?~_gD`c|0w#9H5;toqJaT7H(*C)t92z7AT7-HNHl^;8#x zZgpjnA%pto^s<{oCu!5@el2vtrG;*X5Gqp&acRZmRJ23T>_4{vN>BhZGQgBsVw*F4 z9oj!HKxT3&=iyVorfC&Rm6!rzt^$UjFML?J1F^Y)Bz!(YjS*Blhx$}~nM+gWvG?+* zH|bH%jI2j>vmnO#4=igm{7`efkg$IdVqb&$m6b7DEWD3EqX`Sh21OH2eK*nrlz!YN zC03|kfDlU{!$CZUs^4rr5LA{U`g`4OiXGDukSr#HDt0Z$eWhf^y^hOB7*c^SpnWG+ z_*bOk)_9Z`M!yA$-nK@TQ=3Mkf9Y?2tMtlwOQ*;m~ zF{3W!yErzYhp|InhTS5E5BbF?s9!Mst)>~vEh%?n&wSflR#xu8szcEsjFO_Dq9vX? zL`hDTj~Tl6B1xVno`cSWp)RIgjxDIBaaFA~v6{CzfM3X4W6oPcd26)1H9T*Se`~b_ z^3*}Q&tUs$9J!)5A&PG06-c{RBD4S*xfBt76~_Jz#v(Ac@@mp8Yk(H_QLj=R5}GGK zhx@V3(P8qxMxeRjYmqch!hFtgF;u5p{am+f5?V*uJg!HKc9T#_y$xg00D~F% z2u1})Ico&v4G1updLyfyVkPBGsBK)zo3WTs$K~=uw7r$L5W)*&?n5zZg1?UeOm1 zhEnelXoch4d$CpMfd3)%zYqO5wBE1d3{f~|2ry87xzoue;=)Vd4-~tw<%Kw^7c%e! zl8_V6Au#a;e}^&!$&Y^rJ{IW+UK|>f7FiQ*c25W|0^d!00z;z^R zmrn{G?iAUQBK^e>+(&o^F#0bN#3c;g1_tjQn4Z_gPUr)gP$T-ENAg3;LKC_dLk$|I zX|iY$@3Z=gT9>fiaGrmNI^tTbpFfWL{s}Cpcl{?h99+M`akGfz#ix+IpC$=DtNA4qRpOhNOGeLZJt}(K9f{*ErRybd3N4;j`GqPFdX!k?J+zL|+WKoNAYz zi3|L5>?IT<7h7%;fE_e_iM8uUL5-b?p+J2E^M=6K@lLYxG&f_+I;qd$BIW z%0po;sKkxYsjJ1@15}5WT3B5s7z6RfStV4_@#ON8+p#c_|egKWeuVc1aEo1aH zRJ~YF8;&QWoALxzv%IN7s;_DaO7*Lnmc&9=C(C$Y4ceh~fNVE(tE|C{JfeanPG z^ejS-EoJa7I`sH+7~fRCBrD-OOIW2Rd`(QmSz2Nx`%+5%lGa)$Z_?Yb@~6Nz7>+qZ zgM3WkI?qyUON~HFp{0%O7)ALB<^CxGcS-(dLR?J#$SfvnGuDb%Czz~6nKi`PO|p`BBe6#$EC4d%q5Mq1 zb);opstyD+)mNwd9P5)^@_}&0GaZBD;J)?>&f6}|+Y;w*O%A(O6qF#VVl*R=v#)qo6xr$eYc>m9)0K07vUE53jA)Vlon7BCiDa0yL%g z_zE-y{Co*I3aV480B)2UMGw#dD|mu0HnEy~AzUt@)nru0Qf8JM9>f8>ov81lhJ-!t$n^3fg8<4 zz=hrDmokYUSnJP^e*rp}`rn zPMu0RhS0sXeV#>w6K32`+V#O7^t!BNPnpY(7N*}OzRb&@0XFaCtFZ)RjmQ>sqhIHN z(^}RwHhp)Cxo%Y}W?Q$J-zRla^@tZGFtw%BA4$c6$c>lA-(n3(z##kny~U~6St;0v-e5Q6#Ff0JMedzJqY*w)VfqDde%Iz4em z*vFOekIl+hTf6oOD-+s0-bw4w1~Om6ivLU%OB%Z8^c-OBu0o;se*#&}=T>9j|B=S# zfs2?DLS3+i>x8vz>yPGSp=i6I@6fV72S*5^Um~Ml(2|oh3JXya^SAJ%i~loK}=Y)3ta-P5I{U|u|hEmtgS3MVTs<$qT`n6>sfT8C3=KKZ?HtCSaho;`c4+zWQo3)MX$F+zm`Qe zTcY2_qFXG{AG4>}cWf!9{y!GI&JrzqZKH$s(RKFGtL>v(?W5aR^jb^w0Tvy#(%U|F z%0Bmty|%3QY8JiH68#?g=+D_lf73RaY_re7Y12HPODLiK1{}pj5dL5Z z{~5yze0q4HFEhOk!z+yRwZ6>!jTmk=zRi;U zVoUkEE#cQ%%D>rC{;e2(hY^0r68?lG{5cGN#Rz}h(*7S=(tlQu)eHgB87M5i>a&pdQp^l<}h-Yy3hzCYpIKkF!GeT%m^bhsVnp_nAWLR z15cfg(&mEOLAL)&&GvsaF81I#r0}3~@;Nl8Oe_{t&!C2c`KIhlVoaz3c3Ss$Wn`E$fSUj@CGDT)QeidIT^%AIRKVNO`Vyt%VyGhEx_v!PCIcWC51?SIfs7Y0isF&4;z$Up5!o%=x?1$g z(N648cKixKv4dmrpezPtIojdCgNosnQ6uMLex5T7oakmqR>ao?DhR_Ma3-RLE8Yw> zXDH|q16~fRf*Ep8K2s5>NXQT*63c8SlInNe-mEpFUvCCRQ9Pc?i%+776!ZmriTZ#P zYVn&W0ciU|(OT3A1kKMDe?NWk(j}_9YJKjSu{U#@Rxu9xe5P3z_Q2wO(RohID) zff>HA1zIb}^@;6&C*XI}_J734|A)A!{tB!Tr^X>VbHMyz@>BJ`E#ISz!NM6Iri^uk zGrp8Et}K`_4m61u&b5OtmZ+^2yu&1O36t=U43^MV8ua~K+(T=|J!cMVy9O-ek6$aP zohI10ULa?~9x`P)V3!3qgk^r-jSh6Yo2@V;V(dG)A6T$)nWQF7kov9Fr1V769ZUGS z5yx9QHenQqFsRe*%qY(domEeejdV zTOY&ozaU+_oeS8m0<9$AN-xZ$1(*a2x4_W3AO3=n^EUYVm4j`p;xOI_e`D}B41Zfx zkyh65XbFjSqWzXr5X&Od*FXhQv)AkW6XZ+husK#S$UZVxB~e5(8wAo`V!Pw%L9^9hw64=z|Fny_#o~VEXB&)c+-K9s&|kWX91LF8vP!@>MLq0 z7>dgr8l`{(cq>5bu=ZbvX2Yt0JozD9cdQG@??6wmvZgY+9E~*AIUf-+32!FT>jk?` zxzjE-ep{!O}G1XBioQ^I+J-397TD0SKFulpoUHQc5 zw~<$BnJFVn>@*cg)L2TvA>dI?B4S2@ht{7^Uv9*C+XiNkiN+BwKQr?h8_c&qz&hhs zYK%in@vB62K_xF$!7aiClE-w=JYFM-?C`h|#|^xGzBJ3$WJA$wv8C@7ozca(2IB$G za*ToR5-p;hN7ON*P?z#gU9%)y0`-2CW!;v0BM#lW0=zXsG=TP}D4RPyg25cww^DXm zzmk;(G`!E@ghhD;#Ag(fqMI;^QhD@Bj8n8QBb2HsH!;u(AcJYyp}dw~PdJbxzcZ!JLKYd?A?noZ>)OGKSyCjNuwEhHJFr z^>iY9EmAwU#fO~`RH7L2Yn=f0x~UT?L48bG%(h^aH!()zK3E;7=B=qVHKaOF$vwdZ z1?X9okDd%l+!d$_E)WC$z=G%k#3@j?_XGK9SZPbOAfwu^7}bJ6wIHKf=G8Gi{$5Fg zjh2C3mm~2sZLYdm=LI*$J>=sVo+PQ9TR(R^Go4{Gvw7^qe*HjZQ7m@8R++aP*13QEcA zR1&yM^%~^55mLSrPSa8fDvTf!KvVr>>py~aI?)~#@#H?XqEsoF<_0mI*2uSNMLEnm zn#bd8xWWVRo-pfn9>0ezJvDe4p(KHNiin^*Y3iOmlO`TnZh`%yO3d2m;3soUb0)X& zZCsBr_V#E~ihG+Jx_5nkU7I6&AziB%W4e}YC{A{>ZmDHbOZ1>o&P~KHi(?s06wV<- zWIkqK3L$JKUipJw&d&mqJ6UbA7&?z@Zt|oDWC-;B4lnYklvw8VB6CaZEIWyEr5V}v zUL?1DT1=h{0Tg76t+?(PaGl!?un9CO^2CaO3&fvY(es!Qn1mNW@sp9K1t$`_dB;Mg zHq6Avy{<5%T!ot*dgpTpa#mSWerD?FvcN@ak2_5BOyq*lMTejH7PVGN>Q6L4alfSg zrxxIwziii6CJPblSyD5vV?*2%y$V8WBu}+b0*JNc@?q;PmN1T5?2P9oW+H!tBt*C-lkg&ByTCA zO*yg`YSS$_+N2g}ldScPMY%4h(v&M3e?8E)Yv@c(#hoZkw{&e(`H@?Umg> zCov{Z)__#;NsYBMO$1G=vBh;nKcpgER%ooKa=F|oyw7kTe$bQ?`?<{`Sr!H=MOhsJ z)V#oKY{0OvhuJK0IFx#=W}(P2(*zL3JeveQAFTm5GYTX&Pm@hJH!ccDYEo-G`0vpC zrYlcDZ@dGhAvBZo1Ynw`W&Vm$FyJv;7w$v_B!6E^R(}aTm;`!_r#8F^43f1Sko2>k zKNk*ccJOyEoOE6?-x{l{5v2ReTqf!6Sdht^ZUN8sx6}DPT+C>!XB;WfEga>jE<7ZX zL2;Q4YO^pRn)$;pk=}}Hc%h(c%NKBw3kbZ87RzMHfop;|ZfQk?u?%@-wGMDHY#h+B zD|F`A(6rW*SRwMbXd5!Y0zG&QPQ2xC+!cyD!a<20V+lx&P7EtMbWW!cLsRS(#stp8 zPrd9UK_Boy#Q_ok_*>jaiRe3!X}t;*4MReXXvZ-8bukr z5U=+njj#-J$5fq3G&8bSm_@WMH-6xtHEysYUC!;jxc*6k!!K|BsXk37WxVyBIE#`= zA6JNGYE_9QVkMeoB1om1G>4mXjhEyFHa3jL9T*}WoWQ`>7w?x%BE~R)HR;K>k!IX_A9XjbE>+NA z!ci8#g-IY7XDB#nv5Dl{3(z{_y3_-y*U;J%UqjvwmSrZW*IG9A8mF=gh0lKE{?P3)vRW{Pw#}6`2OW9Sa^Zn($Q8HG#boZXOq)XD zMZ0N=Ea6JOr0?B@Gv%|3+tqq5+@F6XO~_C zI_Al!#6r(FT^4dR`qdxl*k+{eMpM?M3^Cq!37^WKk*USumW{4Vdy6Gz?Vh?ajV{tB z%zJyn(v$7_WXi~8TZtKu!v!j&H7HypCSREOXguIO?R^HX7@J`HDkQFZ;oEVz%NJiF zsrOWCf^U(e{$I68Z|@6a>h02D|4qOIySl~%`*}54_A02FF5*dp;FDdnTGO~j{rehR znINM6f=H#)m)$aF9BOPBfn{H0A$HE@_C}oZ)Hsz6WTdrfXHYmT=P0{dFYBcfVa&=n z<59m6)Q;*fx#v;;Bd9BComME)LanPj>i-52J#1~*)Z27Bh!f3|oy-CE)M~^$?oppt zYf}q|<|)_mpa$5(=AK_JqW>q@dYcd*lhiNPYIU0jkPSAwbZnj{spAVvF11lo|Gnf= zC=1-ei*mOq)VfJhPlw9EW++@bHf$Vx5b(Jc&onh=%8?p@@n)U+^{~#?#E-^xGQKHj zFrv)$n=K<&cz{7<6N7|uFo>K(2+9T<%JfLa`b7|2s?F!K*Dl)^8KWL`)h0{&@S*}@ z*Ji$*w!pZh5Db%;UDVplpOiBd$QlRclQJN>?l2l**M_^wXv1L(jQb12c*mmRvDR&a z7nEMl!-eblR7t2H9xp2$kAl5q>ej`rE3*qM%8M0p?_)amV(9B8UdFxVO(5K^!zEgp zlK7;p6?pQ3)_xniC7O=VvkpNi-cTdayAFOC_iQDa?l)G7PT5`Ms&Yp+0#L|7Z#q2n z!yf~f8p-^ugM|A#9GJWXpDn172_8&$arRZ^?&B>!L6Zx^Z!FKUFtbprz*5DRCD@wq zQay;PykUIlOY*Q!yh=;+&?6LXD(|au6EP0}7Krn<37DP!FotN$X0%XPo6Eu9->NwGdLC^^lV7F+uc`wmUrY9i>^e1Kn zM-=sAgRo(c-POaF+ur1NaDUu!ah*tOEXZs4M%8{CA2?U!uZQ4!EPk@OIUCR+*(Q zP9$7z*;vu2@UZm^k3`EE9@$vTsB(J_z!+!*p3~N7Y4Hq(7m?h(n771hTDR~T>t8&Z zK3(<3_K1lJaZ!^;T+9wxhhi^M{QyNIS6zSrufkbBo#o7@^5)7!8cBzRb&)pHAeuE3wq5I%2~4~5%e}zL$1Gt=}?Qzb9owh z?5=uKtT(X&pD1l-xb%l`m;{97KSJa`|w zz6KxriU(!q?e$cILY}4c<_ezs4#^J&d|{fQf@e`cz6TE?f_E_;JO|H`fJcj~BSgT1 zD;_?7{D}H6))ya8KSAH?)GyJuU45Fq+tpvvw^jW;edFq%>AO;um*BTfT?b#rGVH;G zZijZ&SJvOs?$ggx)U`&q;p$5WQ;zp8;|1&MtGRDs{X!jBoe3D(zQC2j0n^>Zx+b4gA8&F?^-Zl}$hfaN z;9&V&kX+lmN~-s=Q|q|S4q8dTljKtUf~Gx?+?3ve!$qpE-~I-QZruJR`nIz3$+#l> zG>(=3BVm0E7h^#+JWmrsc+KA=l2$pDQ+gomq?1i7;A4erNgh~=jGBu)FIN%GZ!TP6 zDqITO8y)OTgUlj}%|$G&WXC68qwxn=9h^0KG#wDbH@on{MeMgAm}whrm1%j))NgF9;rO%Nz%5`}23ccNORF~S~KWCjL?&ATi{CY??4o-<+Z_TZRz!yUwpIk_9ooOmtGaYx8{#78F}?R z^xOrtO-rj^aMTn{Z+?m|AKmbnQ+=xjOS|8G4SWaaO&B~`SrK3Ep+l8mj2LGpqkYH( zuCVdQ&G*c9T?ik!F};V*-kg+2#Xh}u3X?eY#km$97Ya!9X
sefP*e=ya<--4R7=uT*cUs{6iTE&|p@$0d! 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 z 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 + + + +
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/extLib/System.Data.SQLite.xml b/extLib/System.Data.SQLite.xml new file mode 100644 index 0000000..b6ed579 --- /dev/null +++ b/extLib/System.Data.SQLite.xml @@ -0,0 +1,23038 @@ + + + + System.Data.SQLite + + + + + Defines a source code identifier custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code identifier value. + + + The source code identifier value to use. + + + + + Gets the source code identifier value. + + + + + Defines a source code time-stamp custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code time-stamp value. + + + The source code time-stamp value to use. + + + + + Gets the source code time-stamp value. + + + + + This is the method signature for the SQLite core library logging callback + function for use with sqlite3_log() and the SQLITE_CONFIG_LOG. + + WARNING: This delegate is used more-or-less directly by native code, do + not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET + + + + + This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement + a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite. + + + + + This base class provides datatype conversion services for the SQLite provider. + + + + + This character is used to escape other characters, including itself, in + connection string property names and values. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + The character is used to separate the name and value for a connection + string property. This character cannot be present in any connection + string property name. This character can be present in a connection + string property value; however, this should be avoided unless deemed + absolutely necessary. + + + + + This character is used to separate connection string properties. When + the "No_SQLiteConnectionNewParser" setting is enabled, this character + may not appear in connection string property names -OR- values. + + + + + The fallback default database type when one cannot be obtained from an + existing connection instance. + + + + + The format string for DateTime values when using the InvariantCulture or CurrentCulture formats. + + + + + These are the characters that are special to the connection string + parser. + + + + + The fallback default database type name when one cannot be obtained from + an existing connection instance. + + + + + The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC). + + + + + The value of the OLE Automation epoch represented as a Julian day. This + field cannot be removed as the test suite relies upon it. + + + + + This is the minimum Julian Day value supported by this library + (148731163200000). + + + + + This is the maximum Julian Day value supported by this library + (464269060799000). + + + + + An array of ISO-8601 DateTime formats that we support parsing. + + + + + The internal default format for UTC DateTime values when converting + to a string. + + + + + The internal default format for local DateTime values when converting + to a string. + + + + + An UTF-8 Encoding instance, so we can convert strings to and from UTF-8 + + + + + The default DateTime format for this instance. + + + + + The default DateTimeKind for this instance. + + + + + The default DateTime format string for this instance. + + + + + Initializes the conversion class + + The default date/time format to use for this instance + The DateTimeKind to use. + The DateTime format string to use. + + + + Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character. + + The string to convert to UTF-8 + A byte array containing the converted string plus an extra 0 terminating byte at the end of the array. + + + + Convert a DateTime to a UTF-8 encoded, zero-terminated byte array. + + + This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the + string result. + + The DateTime to convert. + The UTF-8 encoded string, including a 0 terminating byte at the end of the array. + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Checks if the specified is within the + supported range for a Julian Day value. + + + The Julian Day value to check. + + + Non-zero if the specified Julian Day value is in the supported + range; otherwise, zero. + + + + + Converts a Julian Day value from a to an + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value from an to a + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeYMD" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day is out of the supported range. If this value is null, + an exception will be thrown instead. + + + A value that contains the year, month, and + day values that are closest to the specified Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeHMS" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day value is out of the supported range. If this value is + null, an exception will be thrown instead. + + + A value that contains the hour, minute, and + second, and millisecond values that are closest to the specified + Julian Day value. + + + + + Converts a to a Julian Day value. + This method was translated from the "computeJD" function in + the "date.c" file belonging to the SQLite core library. + Since the range of Julian Day values supported by this method + includes all possible (valid) values of a + value, it should be extremely difficult for this method to + raise an exception or return an undefined result. + + + The value to convert. This value + will be within the range of + (00:00:00.0000000, January 1, 0001) to + (23:59:59.9999999, December + 31, 9999). + + + The nearest Julian Day value corresponding to the specified + value. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + A DateTime value + + + + Converts a string into a DateTime, using the specified DateTimeFormat, + DateTimeKind and DateTimeFormatString. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + A DateTime value + + + + Converts a julianday value into a DateTime + + The value to convert + A .NET DateTime + + + + Converts a julianday value into a DateTime + + The value to convert + The DateTimeKind to use. + A .NET DateTime + + + + Converts the specified number of seconds from the Unix epoch into a + value. + + + The number of whole seconds since the Unix epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts the specified number of ticks since the epoch into a + value. + + + The number of whole ticks since the epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts a DateTime struct to a JulianDay double + + The DateTime to convert + The JulianDay value the Datetime represents + + + + Converts a DateTime struct to the whole number of seconds since the + Unix epoch. + + The DateTime to convert + The whole number of seconds since the Unix epoch + + + + Returns the DateTime format string to use for the specified DateTimeKind. + If is not null, it will be returned verbatim. + + The DateTimeKind to use. + The DateTime format string to use. + + The DateTime format string to use for the specified DateTimeKind. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime. + + + This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls + ToDateTime() on the string to return a DateTime. + + A pointer to the UTF-8 encoded string + The length in bytes of the string + The parsed DateTime value + + + + Smart method of splitting a string. Skips quoted elements, removes the quotes. + + + This split function works somewhat like the String.Split() function in that it breaks apart a string into + pieces and returns the pieces as an array. The primary differences are: + + Only one character can be provided as a separator character + Quoted text inside the string is skipped over when searching for the separator, and the quotes are removed. + + Thus, if splitting the following string looking for a comma:
+ One,Two, "Three, Four", Five
+
+ The resulting array would contain
+ [0] One
+ [1] Two
+ [2] Three, Four
+ [3] Five
+
+ Note that the leading and trailing spaces were removed from each item during the split. +
+ Source string to split apart + Separator character + A string array of the split up elements +
+ + + Splits the specified string into multiple strings based on a separator + and returns the result as an array of strings. + + + The string to split into pieces based on the separator character. If + this string is null, null will always be returned. If this string is + empty, an array of zero strings will always be returned. + + + The character used to divide the original string into sub-strings. + This character cannot be a backslash or a double-quote; otherwise, no + work will be performed and null will be returned. + + + If this parameter is non-zero, all double-quote characters will be + retained in the returned list of strings; otherwise, they will be + dropped. + + + Upon failure, this parameter will be modified to contain an appropriate + error message. + + + The new array of strings or null if the input string is null -OR- the + separator character is a backslash or a double-quote -OR- the string + contains an unbalanced backslash or double-quote character. + + + + + Queries and returns the string representation for an object, using the + specified (or current) format provider. + + + The object instance to return the string representation for. + + + The format provider to use -OR- null if the current format provider for + the thread should be used instead. + + + The string representation for the object instance -OR- null if the + object instance is also null. + + + + + Attempts to convert an arbitrary object to the Boolean data type. + Null object values are converted to false. Throws an exception + upon failure. + + + The object value to convert. + + + The format provider to use. + + + If non-zero, a string value will be converted using the + + method; otherwise, the + method will be used. + + + The converted boolean value. + + + + + Convert a value to true or false. + + A string or number representing true or false + + + + + Converts an integer to a string that can be round-tripped using the + invariant culture. + + + The integer value to return the string representation for. + + + The string representation of the specified integer value, using the + invariant culture. + + + + + Attempts to convert a into a . + + + The to convert, cannot be null. + + + The converted value. + + + The supported strings are "yes", "no", "y", "n", "on", "off", "0", "1", + as well as any prefix of the strings + and . All strings are treated in a + case-insensitive manner. + + + + + Converts a SQLiteType to a .NET Type object + + The SQLiteType to convert + Returns a .NET Type object + + + + For a given intrinsic type, return a DbType + + The native type to convert + The corresponding (closest match) DbType + + + + Returns the ColumnSize for the given DbType + + The DbType to get the size of + + + + + Determines the default database type name to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default database type name to use. + + + + + If applicable, issues a trace log message warning about falling back to + the default database type name. + + + The database value type. + + + The flags associated with the parent connection object. + + + The textual name of the database type. + + + + + If applicable, issues a trace log message warning about falling back to + the default database value type. + + + The textual name of the database type. + + + The flags associated with the parent connection object. + + + The database value type. + + + + + For a given database value type, return the "closest-match" textual database type name. + + The connection context for custom type mappings, if any. + The database value type. + The flags associated with the parent connection object. + The type name or an empty string if it cannot be determined. + + + + Convert a DbType to a Type + + The DbType to convert from + The closest-match .NET type + + + + For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types. + + The type to evaluate + The flags associated with the connection. + The SQLite type affinity for that type. + + + + Builds and returns a map containing the database column types + recognized by this provider. + + + A map containing the database column types recognized by this + provider. + + + + + Determines if a database type is considered to be a string. + + + The database type to check. + + + Non-zero if the database type is considered to be a string, zero + otherwise. + + + + + Determines and returns the runtime configuration setting string that + should be used in place of the specified object value. + + + The object value to convert to a string. + + + Either the string to use in place of the object value -OR- null if it + cannot be determined. + + + + + Determines the default value to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default value to use. + + + + + Converts the object value, which is assumed to have originated + from a , to a string value. + + + The value to be converted to a string. + + + A null value will be returned if the original value is null -OR- + the original value is . Otherwise, + the original value will be converted to a string, using its + (possibly overridden) method and + then returned. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be an + value. + + + The textual value to inspect. + + + Non-zero if the text looks like an value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The object instance configured with + the chosen format. + + + The textual value to inspect. + + + Non-zero if the text looks like a in the + configured format, zero otherwise. + + + + + For a given textual database type name, return the "closest-match" database type. + This method is called during query result processing; therefore, its performance + is critical. + + The connection context for custom type mappings, if any. + The textual name of the database type to match. + The flags associated with the parent connection object. + The .NET DBType the text evaluates to. + + + + The error code used for logging exceptions caught in user-provided + code. + + + + + Returns non-zero if this connection to the database is read-only. + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Shutdown the SQLite engine so that it can be restarted with different config options. + We depend on auto initialization to recover. + + + + + Determines if the associated native connection handle is open. + + + Non-zero if a database connection is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + Opens a database. + + + Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection + to bind all attributed user-defined functions and collating sequences to the new connection. + + The filename of the database to open. SQLite automatically creates it if it doesn't exist. + The name of the VFS to use -OR- null to use the default VFS. + The flags associated with the parent connection object + The open flags to use when creating the connection + The maximum size of the pool for the given filename + If true, the connection can be pulled from the connection pool + + + + Closes the currently-open database. + + + After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated + memory associated with the user-defined functions and collating sequences tied to the closed connection. + + Non-zero if connection is being disposed, zero otherwise. + Returns non-zero if the connection was actually closed (i.e. and not simply returned to a pool, etc). + + + + Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command. + + The number of milliseconds to wait before returning SQLITE_BUSY + + + + Returns the text of the last error issued by SQLite + + + + + + Returns the text of the last error issued by SQLite -OR- the specified default error text if + none is available from the SQLite core library. + + + The error text to return in the event that one is not available from the SQLite core library. + + + The error text. + + + + + When pooling is enabled, force this connection to be disposed rather than returned to the pool + + + + + When pooling is enabled, returns the number of pool entries matching the current file name. + + The number of pool entries matching the current file name. + + + + Prepares a SQL statement for execution. + + The source connection preparing the command. Can be null for any caller except LINQ + The SQL command text to prepare + The previous statement in a multi-statement command, or null if no previous statement exists + The timeout to wait before aborting the prepare + The remainder of the statement that was not processed. Each call to prepare parses the + SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned + here for a subsequent call to Prepare() until all the text has been processed. + Returns an initialized SQLiteStatement. + + + + Steps through a prepared statement. + + The SQLiteStatement to step through + True if a row was returned, False if not. + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA, + transparently attempt to rebuild the SQL statement and throw an error if that was not possible. + + The statement to reset + Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined function from the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Returns the current and/or highwater values for the specified database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Enables or disables extened result codes returned by SQLite + + true to enable extended result codes, false to disable. + + + + + Returns the numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Result code + + + + Returns the extended numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Extended result code + + + + Add a log message via the SQLite sqlite3_log interface. + + Error code to be logged with the message. + String to be logged. Unlike the SQLite sqlite3_log() + interface, this should be pre-formatted. Consider using the + String.Format() function. + + + + + Checks if the SQLite core library has been initialized in the current process. + + + Non-zero if the SQLite core library has been initialized in the current process, + zero otherwise. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy or negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Returns the error message for the specified SQLite return code using + the internal static lookup table. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns a string representing the active version of SQLite + + + + + Returns an integer representing the active version of SQLite + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of changes the last executing insert/update caused. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. This is not really a per-connection + value, it is global to the process. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + This is not really a per-connection value, it is global to the process. + + + + + Returns non-zero if the underlying native connection handle is owned by this instance. + + + + + Non-zero to log all calls to prepare a SQL query. + + + + + Returns the logical list of functions associated with this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + This field is used to refer to memory allocated for the + SQLITE_DBCONFIG_MAINDBNAME value used with the native + "sqlite3_db_config" API. If allocated, the associated + memeory will be freed when the underlying connection is + closed. + + + + + The opaque pointer returned to us by the sqlite provider + + + + + The user-defined functions registered on this connection + + + + + This is the name of the native library file that contains the + "vtshim" extension [wrapper]. + + + + + This is the flag indicate whether the native library file that + contains the "vtshim" extension must be dynamically loaded by + this class prior to use. + + + + + This is the name of the native entry point for the "vtshim" + extension [wrapper]. + + + + + The modules created using this connection. + + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogPrepare" environment variable has been queried. If so, + it will only be non-zero if the environment variable was present. + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Determines if all calls to prepare a SQL query will be logged, + regardless of the flags for the associated connection. + + + + + This method attempts to dispose of all the derived + object instances currently associated with the native database connection. + + + + + Returns the number of times the method has been + called. + + + + + This method determines whether or not a + with a return code of should + be thrown after making a call into the SQLite core library. + + + Non-zero if a to be thrown. This method + will only return non-zero if the method was called + one or more times during a call into the SQLite core library (e.g. when + the sqlite3_prepare*() or sqlite3_step() APIs are used). + + + + + Resets the value of the field. + + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound and removed. + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + Returns a standard SQLite result code. + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. This parameter has no + effect on non-Windows operating systems. + + Returns a standard SQLite result code. + + + + Determines if the associated native connection handle is open. + + + Non-zero if the associated native connection handle is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + This method attempts to determine if a database connection opened + with the specified should be + allowed into the connection pool. + + + The that were specified when the + connection was opened. + + + Non-zero if the connection should (eventually) be allowed into the + connection pool; otherwise, zero. + + + + + Has the sqlite3_errstr() core library API been checked for yet? + If so, is it present? + + + + + Returns the error message for the specified SQLite return code using + the sqlite3_errstr() function, falling back to the internal lookup + table if necessary. + + WARNING: Do not remove this method, it is used via reflection. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Has the sqlite3_stmt_readonly() core library API been checked for yet? + If so, is it present? + + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogLifecycle" environment variable has been queried. If + so, it will only be non-zero if the environment variable was present. + + + + + Determines if calls into key members pertaining to the lifecycle of + connections and their associated classes will be logged, regardless + of the flags for the associated connection. + + + Non-zero to log calls into key members pertaining to the lifecycle of + connections and their associated classes (e.g. LINQ, EF6, etc). + + + + + Determines the file name of the native library containing the native + "vtshim" extension -AND- whether it should be dynamically loaded by + this class. + + + This output parameter will be set to non-zero if the returned native + library file name should be dynamically loaded prior to attempting + the creation of native disposable extension modules. + + + The file name of the native library containing the native "vtshim" + extension -OR- null if it cannot be determined. + + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Returns the current and/or highwater values for the specified + database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + Enables or disables extended result codes returned by SQLite + + + Gets the last SQLite error code + + + Gets the last SQLite extended error code + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Allows the setting of a logging callback invoked by SQLite when a + log event occurs. Only one callback may be set. If NULL is passed, + the logging callback is unregistered. + + The callback function to invoke. + Returns a result code + + + + Appends an error message and an appropriate line-ending to a + instance. This is useful because the .NET Compact Framework has a slightly different set + of supported methods for the class. + + + The instance to append to. + + + The message to append. It will be followed by an appropriate line-ending. + + + + + This method attempts to cause the SQLite native library to invalidate + its function pointers that refer to this instance. This is necessary + to prevent calls from native code into delegates that may have been + garbage collected. Normally, these types of issues can only arise for + connections that are added to the pool; howver, it is good practice to + unconditionally invalidate function pointers that may refer to objects + being disposed. + + + Non-zero to also invalidate global function pointers (i.e. those that + are not directly associated with this connection on the native side). + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + This method attempts to free the cached database name used with the + method. + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy, negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Helper function to retrieve a column of data from an active statement. + + The statement being step()'d through + The flags associated with the connection. + The column index to retrieve + The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information. + Returns the data in the column + + + + Returns non-zero if the underlying native connection handle is owned + by this instance. + + + + + Returns the logical list of functions associated with this connection. + + + + + Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode) + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8 + + A pointer to a UTF-16 string + The length (IN BYTES) of the string + A .NET string + + + + Represents a single SQL backup in SQLite. + + + + + The underlying SQLite object this backup is bound to. + + + + + The actual backup handle. + + + + + The destination database for the backup. + + + + + The destination database name for the backup. + + + + + The source database for the backup. + + + + + The source database name for the backup. + + + + + The last result from the StepBackup method of the SQLite3 class. + This is used to determine if the call to the FinishBackup method of + the SQLite3 class should throw an exception when it receives a non-Ok + return code from the core SQLite library. + + + + + Initializes the backup. + + The base SQLite object. + The backup handle. + The destination database for the backup. + The destination database name for the backup. + The source database for the backup. + The source database name for the backup. + + + + Disposes and finalizes the backup. + + + + + + + + + + Creates temporary tables on the connection so schema information can be queried. + + + The connection upon which to build the schema tables. + + + + + The extra behavioral flags that can be applied to a connection. + + + + + No extra flags. + + + + + Enable logging of all SQL statements to be prepared. + + + + + Enable logging of all bound parameter types and raw values. + + + + + Enable logging of all bound parameter strongly typed values. + + + + + Enable logging of all exceptions caught from user-provided + managed code called from native code via delegates. + + + + + Enable logging of backup API errors. + + + + + Skip adding the extension functions provided by the native + interop assembly. + + + + + When binding parameter values with the + type, use the interop method that accepts an + value. + + + + + When binding parameter values, always bind them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + When returning column values, always return them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + Prevent this object instance from + loading extensions. + + + + + Prevent this object instance from + creating virtual table modules. + + + + + Skip binding any functions provided by other managed assemblies when + opening the connection. + + + + + Skip setting the logging related properties of the + object instance that was passed to + the method. + + + + + Enable logging of all virtual table module errors seen by the + method. + + + + + Enable logging of certain virtual table module exceptions that cannot + be easily discovered via other means. + + + + + Enable tracing of potentially important [non-fatal] error conditions + that cannot be easily reported through other means. + + + + + When binding parameter values, always use the invariant culture when + converting their values from strings. + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings. + + + + + Disable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. These + per-connection mappings, when present, override the corresponding + global mappings. + + + + + Disable using global mappings between type names and + values. This may be useful in some very narrow + cases; however, if there are no per-connection type mappings, the + fallback defaults will be used for both type names and their + associated values. Therefore, use of this flag + is not recommended. + + + + + When the property is used, it + should return non-zero if there were ever any rows in the associated + result sets. + + + + + Enable "strict" transaction enlistment semantics. Setting this flag + will cause an exception to be thrown if an attempt is made to enlist + in a transaction with an unavailable or unsupported isolation level. + In the future, more extensive checks may be enabled by this flag as + well. + + + + + Enable mapping of unsupported transaction isolation levels to the + closest supported transaction isolation level. + + + + + When returning column values, attempt to detect the affinity of + textual values by checking if they fully conform to those of the + , + , + , + or types. + + + + + When returning column values, attempt to detect the type of + string values by checking if they fully conform to those of + the , + , + , + or types. + + + + + Skip querying runtime configuration settings for use by the + class, including the default + value and default database type name. + NOTE: If the + and/or + properties are not set explicitly nor set via their connection + string properties and repeated calls to determine these runtime + configuration settings are seen to be a problem, this flag + should be set. + + + + + When binding parameter values with the + type, take their into account as + well as that of the associated . + + + + + If an exception is caught when raising the + event, the transaction + should be rolled back. If this is not specified, the transaction + will continue the commit process instead. + + + + + If an exception is caught when raising the + event, the action should + should be denied. If this is not specified, the action will be + allowed instead. + + + + + If an exception is caught when raising the + event, the operation + should be interrupted. If this is not specified, the operation + will simply continue. + + + + + Attempt to unbind all functions provided by other managed assemblies + when closing the connection. + + + + + When returning column values as a , skip + verifying their affinity. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the parameter name. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the database type name + associated with the value. + + + + + When returning column values, skip verifying their affinity. + + + + + Allow transactions to be nested. The outermost transaction still + controls whether or not any changes are ultimately committed or + rolled back. All non-outermost transactions are implemented using + the SAVEPOINT construct. + + + + + When binding parameter values, always bind + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When returning column values, always return + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When binding parameter values, always use + the invariant culture when converting their values to strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable waiting for the enlistment to be reset prior to attempting + to create a new enlistment. This may be necessary due to the + semantics used by distributed transactions, which complete + asynchronously. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable strict conformance to the ADO.NET standard, e.g. use of + thrown exceptions to indicate common error conditions. + + + + + EXPERIMENTAL -- + When opening a connection, attempt to hide the password from the + connection string, etc. Given the memory architecture of the CLR, + (and P/Invoke) this is not 100% reliable and should not be relied + upon for security critical uses or applications. + + + + + Skip adding the extension functions provided by the native interop + assembly if they would conflict with a function provided by the + SQLite core library. + + + + + If an exception is caught when raising the + event, the operation + should be stopped. If this is not specified, the operation + will be retried. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted). + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings or from strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings + or from strings. + + + + + Enables use of all per-connection value handling callbacks. + + + + + Enables use of all applicable + properties as fallbacks for the database type name. + + + + + Enable all logging. + + + + + The default logging related flags for new connections. + + + + + The default extra flags for new connections. + + + + + The default extra flags for new connections with all logging enabled. + + + + + These are the supported status parameters for use with the native + SQLite library. + + + + + This parameter returns the number of lookaside memory slots + currently checked out. + + + + + This parameter returns the approximate number of bytes of + heap memory used by all pager caches associated with the + database connection. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED is always 0. + + + + + This parameter returns the approximate number of bytes of + heap memory used to store the schema for all databases + associated with the connection - main, temp, and any ATTACH-ed + databases. The full amount of memory used by the schemas is + reported, even if the schema memory is shared with other + database connections due to shared cache mode being enabled. + The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED + is always 0. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + all lookaside memory already being in use. Only the high-water + value is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that were + satisfied using lookaside memory. Only the high-water value + is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number of pager cache hits that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_HIT is always 0. + + + + + This parameter returns the number of pager cache misses that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_MISS is always 0. + + + + + This parameter returns the number of dirty cache entries that + have been written to disk. Specifically, the number of pages + written to the wal file in wal mode databases, or the number + of pages written to the database file in rollback mode + databases. Any pages written as part of transaction rollback + or database recovery operations are not included. If an IO or + other error occurs while writing a page to disk, the effect + on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is + undefined. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_WRITE is always 0. + + + + + This parameter returns zero for the current value if and only + if all foreign key constraints (deferred or immediate) have + been resolved. The highwater mark is always 0. + + + + + This parameter is similar to DBSTATUS_CACHE_USED, except that + if a pager cache is shared between two or more connections the + bytes of heap memory used by that pager cache is divided evenly + between the attached connections. In other words, if none of + the pager caches associated with the database connection are + shared, this request returns the same value as DBSTATUS_CACHE_USED. + Or, if one or more or the pager caches are shared, the value + returned by this call will be smaller than that returned by + DBSTATUS_CACHE_USED. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0. + + + + + This parameter returns the number of dirty cache entries that have + been written to disk in the middle of a transaction due to the page + cache overflowing. Transactions are more efficient if they are + written to disk all at once. When pages spill mid-transaction, that + introduces additional overhead. This parameter can be used help + identify inefficiencies that can be resolved by increasing the cache + size. + + + + + These are the supported configuration verbs for use with the native + SQLite library. They are used with the + method. + + + + + This value represents an unknown (or invalid) option, do not use it. + + + + + This option is used to change the name of the "main" database + schema. The sole argument is a pointer to a constant UTF8 string + which will become the new schema name in place of "main". + + + + + This option is used to configure the lookaside memory allocator. + The value must be an array with three elements. The second element + must be an containing the size of each buffer + slot. The third element must be an containing + the number of slots. The first element must be an + that points to a native memory buffer of bytes equal to or greater + than the product of the second and third element values. + + + + + This option is used to enable or disable the enforcement of + foreign key constraints. + + + + + This option is used to enable or disable triggers. + + + + + This option is used to enable or disable the two-argument version + of the fts3_tokenizer() function which is part of the FTS3 full-text + search engine extension. + + + + + This option is used to enable or disable the loading of extensions. + + + + + This option is used to enable or disable the automatic checkpointing + when a WAL database is closed. + + + + + This option is used to enable or disable the query planner stability + guarantee (QPSG). + + + + + This option is used to enable or disable the extra EXPLAIN QUERY PLAN + output for trigger programs. + + + + + This option is used as part of the process to reset a database back + to an empty state. Because resetting a database is destructive and + irreversible, the process requires the use of this obscure flag and + multiple steps to help ensure that it does not happen by accident. + + + + + This option activates or deactivates the "defensive" flag for a + database connection. When the defensive flag is enabled, language + features that allow ordinary SQL to deliberately corrupt the database + file are disabled. The disabled features include but are not limited + to the following: + ]]> + ]]> + The PRAGMA writable_schema=ON statement. + ]]> + ]]> + The PRAGMA journal_mode=OFF statement. + ]]> + ]]> + Writes to the sqlite_dbpage virtual table. + ]]> + ]]> + Direct writes to shadow tables. + ]]> + ]]> + + + + + This option activates or deactivates the "writable_schema" flag. + + + + + This option activates or deactivates the legacy behavior of the ALTER + TABLE RENAME command such it behaves as it did prior to version 3.24.0 + (2018-06-04). + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DML statement only, that is DELETE, INSERT, + SELECT, and UPDATE statements. + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DDL statements, such as CREATE TABLE and CREATE + INDEX. + + + + + This option is used to enable or disable CREATE VIEW. + + + + + This option activates or deactivates the legacy file format flag. + + + + + This option tells SQLite to assume that database schemas (i.e. the + contents of the sqlite_master tables) are untainted by malicious + content. When the trusted schema option is disabled, SQLite takes + additional defensive steps to protect the application from harm + including: + ]]> + ]]> + Prohibit the use of SQL functions inside triggers, views, CHECK + constraints, DEFAULT clauses, expression indexes, partial indexes, + or generated columns unless those functions are tagged with + SQLITE_INNOCUOUS. + ]]> + ]]> + Prohibit the use of virtual tables inside of triggers or views + unless those virtual tables are tagged with SQLITE_VTAB_INNOCUOUS. + ]]> + This setting defaults to "on" for legacy compatibility, however + all applications are advised to turn it off if possible. This + setting can also be controlled using the PRAGMA trusted_schema + statement. + + + + + These constants are used with the sqlite3_trace_v2() API and the + callbacks registered by it. + + + + + These constants are used with the sqlite3_limit() API. + + + + + This value represents an unknown (or invalid) limit, do not use it. + + + + + The maximum size of any string or BLOB or table row, in bytes. + + + + + The maximum length of an SQL statement, in bytes. + + + + + The maximum number of columns in a table definition or in the + result set of a SELECT or the maximum number of columns in an + index or in an ORDER BY or GROUP BY clause. + + + + + The maximum depth of the parse tree on any expression. + + + + + The maximum number of terms in a compound SELECT statement. + + + + + The maximum number of instructions in a virtual machine program + used to implement an SQL statement. If sqlite3_prepare_v2() or + the equivalent tries to allocate space for more than this many + opcodes in a single prepared statement, an SQLITE_NOMEM error + is returned. + + + + + The maximum number of arguments on a function. + + + + + The maximum number of attached databases. + + + + + The maximum length of the pattern argument to the LIKE or GLOB + operators. + + + + + The maximum index number of any parameter in an SQL statement. + + + + + The maximum depth of recursion for triggers. + + + + + The maximum number of auxiliary worker threads that a single + prepared statement may start. + + + + + Represents a single SQL blob in SQLite. + + + + + The underlying SQLite object this blob is bound to. + + + + + The actual blob handle. + + + + + Initializes the blob. + + The base SQLite object. + The blob handle. + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID -OR- if the query + does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The instance with a result set + containing the desired blob column. + + + The index of the blob column. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID. + + + The connection to use when opening the blob object. + + + The name of the database containing the blob object. + + + The name of the table containing the blob object. + + + The name of the column containing the blob object. + + + The integer identifier for the row associated with the desired + blob object. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Throws an exception if the blob object does not appear to be open. + + + + + Throws an exception if an invalid read/write parameter is detected. + + + When reading, this array will be populated with the bytes read from + the underlying database blob. When writing, this array contains new + values for the specified portion of the underlying database blob. + + + The number of bytes to read or write. + + + The byte offset, relative to the start of the underlying database + blob, where the read or write operation will begin. + + + + + Retargets this object to an underlying database blob for a + different row; the database, table, and column remain exactly + the same. If this operation fails for any reason, this blob + object is automatically disposed. + + + The integer identifier for the new row. + + + + + Queries the total number of bytes for the underlying database blob. + + + The total number of bytes for the underlying database blob. + + + + + Reads data from the underlying database blob. + + + This array will be populated with the bytes read from the + underlying database blob. + + + The number of bytes to read. + + + The byte offset, relative to the start of the underlying + database blob, where the read operation will begin. + + + + + Writes data into the underlying database blob. + + + This array contains the new values for the specified portion of + the underlying database blob. + + + The number of bytes to write. + + + The byte offset, relative to the start of the underlying + database blob, where the write operation will begin. + + + + + Closes the blob, freeing the associated resources. + + + + + Disposes and finalizes the blob. + + + + + The destructor. + + + + + SQLite implementation of DbCommand. + + + + + The default connection string to be used when creating a temporary + connection to execute a command via the static + or + + methods. + + + + + The command text this command is based on + + + + + The connection the command is associated with + + + + + The version of the connection the command is associated with + + + + + Indicates whether or not a DataReader is active on the command. + + + + + The timeout for the command, kludged because SQLite doesn't support per-command timeout values + + + + + The maximum amount of time to sleep when retrying a call to prepare or step for the current command. + + + + + Designer support + + + + + Used by DbDataAdapter to determine updating behavior + + + + + The collection of parameters for the command + + + + + The SQL command text, broken into individual SQL statements as they are executed + + + + + Unprocessed SQL text that has not been executed + + + + + Transaction associated with this command + + + + + Constructs a new SQLiteCommand + + + Default constructor + + + + + Initializes the command with the given command text + + The SQL command text + + + + Initializes the command with the given SQL command text and attach the command to the specified + connection. + + The SQL command text + The connection to associate with the command + + + + Initializes the command and associates it with the specified connection. + + The connection to associate with the command + + + + Initializes a command with the given SQL, connection and transaction + + The SQL command text + The connection to associate with the command + The transaction the command should be associated with + + + + Disposes of the command and clears all member variables + + Whether or not the class is being explicitly or implicitly disposed + + + + This method attempts to query the flags associated with the database + connection in use. If the database connection is disposed, the default + flags will be returned. + + + The command containing the databse connection to query the flags from. + + + The connection flags value. + + + + + Clears and destroys all statements currently prepared + + + + + Builds an array of prepared statements for each complete SQL statement in the command text + + + + + Not implemented + + + + + Forwards to the local CreateParameter() function + + + + + + Create a new parameter + + + + + + Verifies that all SQL queries associated with the current command text + can be successfully compiled. A will be + raised if any errors occur. + + + + + This function ensures there are no active readers, that we have a valid connection, + that the connection is open, that all statements are prepared and all parameters are assigned + in preparation for allocating a data reader. + + + + + Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements + + The behavior the data reader should adopt + Returns a SQLiteDataReader object + + + + This method creates a new connection, executes the query using the given + execution type, closes the connection, and returns the results. If the + connection string is null, a temporary in-memory database connection will + be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method creates a new connection, executes the query using the given + execution type and command behavior, closes the connection unless a data + reader is created, and returns the results. If the connection string is + null, a temporary in-memory database connection will be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method executes a query using the given execution type and command + behavior and returns the results. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection used to create and execute the command. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + Overrides the default behavior to return a SQLiteDataReader specialization class + + The flags to be associated with the reader. + A SQLiteDataReader + + + + Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class + + A SQLiteDataReader + + + + Called by the SQLiteDataReader when the data reader is closed. + + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The number of rows inserted/updated affected by it. + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The flags to be associated with the reader. + The number of rows inserted/updated affected by it. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The first column of the first row of the first resultset from the query. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The flags to be associated with the reader. + The first column of the first row of the first resultset from the query. + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + Non-zero if the parameter bindings should be cleared as well. + + + If this is zero, a may be thrown for + any unsuccessful return codes from the native library; otherwise, a + will only be thrown if the connection + or its state is invalid. + + + + + Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards. + + + + + Clones a command, including all its parameters + + A new SQLiteCommand with the same commandtext, connection and parameters + + + + The SQL command text associated with the command + + + + + The amount of time to wait for the connection to become available before erroring out + + + + + The maximum amount of time to sleep when retrying a call to prepare or step for the + current command. + + + + + The type of the command. SQLite only supports CommandType.Text + + + + + The connection associated with this command + + + + + Forwards to the local Connection property + + + + + Returns the SQLiteParameterCollection for the given command + + + + + Forwards to the local Parameters property + + + + + The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the + command's underlying connection. + + + + + Forwards to the local Transaction property + + + + + Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable. + + + + + Determines if the command is visible at design time. Defaults to True. + + + + + SQLite implementation of DbCommandBuilder. + + + + + Default constructor + + + + + Initializes the command builder and associates it with the specified data adapter. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Minimal amount of parameter processing. Primarily sets the DbType for the parameter equal to the provider type in the schema + + The parameter to use in applying custom behaviors to a row + The row to apply the parameter to + The type of statement + Whether the application of the parameter is part of a WHERE clause + + + + Returns a valid named parameter + + The name of the parameter + Error + + + + Returns a named parameter for the given ordinal + + The i of the parameter + Error + + + + Returns a placeholder character for the specified parameter i. + + The index of the parameter to provide a placeholder for + Returns a named parameter + + + + Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL + statements that may not have previously been generated. + + A data adapter to receive events on. + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + + Places brackets around an identifier + + The identifier to quote + The bracketed identifier + + + + Removes brackets around an identifier + + The quoted (bracketed) identifier + The undecorated identifier + + + + Override helper, which can help the base command builder choose the right keys for the given query + + + + + + + Gets/sets the DataAdapter for this CommandBuilder + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + This class represents a single value to be returned + from the class via + its , + , + , + , + , + , + , + , + , + , + , + , + , + , + , or + method. If the value of the + associated public field of this class is null upon returning from the + callback, the null value will only be used if the return type for the + method called is not a value type. + If the value to be returned from the + method is unsuitable (e.g. null with a value type), an exception will + be thrown. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method. + + + + + This class represents the parameters that are provided + to the methods, with + the exception of the column index (provided separately). + + + + + This class represents the parameters that are provided to + the method, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + This class represents the parameters that are provided + to the and + methods, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + This class represents the parameters and return values for the + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , and + methods. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs a new instance of this class. Depending on the method + being called, the and/or + parameters may be null. + + + The name of the method that was + responsible for invoking this callback. + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + This may be used by the callback to set the return value for the + called method. + + + + + The name of the method that was + responsible for invoking this callback. + + + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + + + This may be used by the callback to set the return value for the + called method. + + + + + This represents a method that will be called in response to a request to + bind a parameter to a command. If an exception is thrown, it will cause + the parameter binding operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The instance being bound to the command. + + + The database type name associated with this callback. + + + The ordinal of the parameter being bound to the command. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the parameter binding call should + be skipped (i.e. the parameter should not be bound at all). Great care + should be used when setting this to non-zero. + + + + + This represents a method that will be called in response to a request + to read a value from a data reader. If an exception is thrown, it will + cause the data reader operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The parameter and return type data for the column being read from the + data reader. + + + The database type name associated with this callback. + + + The zero based index of the column being read from the data reader. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + This class represents the custom data type handling callbacks + for a single type name. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + Creates an instance of the class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + The database type name that the callbacks contained in this class + will apply to. This value may not be null. + + + + + The custom paramater binding callback. This value may be null. + + + + + The custom data reader value callback. This value may be null. + + + + + The extra data to pass into the parameter binding callback. This + value may be null. + + + + + The extra data to pass into the data reader value callback. This + value may be null. + + + + + This class represents the mappings between database type names + and their associated custom data type handling callbacks. + + + + + Constructs an (empty) instance of this class. + + + + + Event data for connection event handlers. + + + + + The type of event being raised. + + + + + The associated with this event, if any. + + + + + The transaction associated with this event, if any. + + + + + The command associated with this event, if any. + + + + + The data reader associated with this event, if any. + + + + + The critical handle associated with this event, if any. + + + + + Command or message text associated with this event, if any. + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + The type of event being raised. + The base associated + with this event, if any. + The transaction associated with this event, if any. + The command associated with this event, if any. + The data reader associated with this event, if any. + The critical handle associated with this event, if any. + The command or message text, if any. + The extra data, if any. + + + + Raised when an event pertaining to a connection occurs. + + The connection involved. + Extra information about the event. + + + + SQLite implentation of DbConnection. + + + The property can contain the following parameter(s), delimited with a semi-colon: + + + Parameter + Values + Required + Default + + + Data Source + + This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7). + Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a + UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db" + would become "\\\\Network\Share\test.db"). + + Y + + + + Uri + + If specified, this must be a file name that starts with "file://", "file:", or "/". Any leading + "file://" or "file:" prefix will be stripped off and the resulting file name will be used to open + the database. + + N + null + + + FullUri + + If specified, this must be a URI in a format recognized by the SQLite core library (starting with + SQLite 3.7.7). It will be passed verbatim to the SQLite core library. + + N + null + + + Version + 3 + N + 3 + + + UseUTF16Encoding + + True - The UTF-16 encoding should be used. +
+ False - The UTF-8 encoding should be used. +
+ N + False +
+ + DefaultDbType + + This is the default to use when one cannot be determined based on the + column metadata and the configured type mappings. + + N + null + + + DefaultTypeName + + This is the default type name to use when one cannot be determined based on the column metadata + and the configured type mappings. + + N + null + + + NoDefaultFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + NoSharedFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + VfsName + + The name of the VFS to use when opening the database connection. + If this is not specified, the default VFS will be used. + + N + null + + + ZipVfsVersion + + If non-null, this is the "version" of ZipVFS to use. This requires + the System.Data.SQLite interop assembly -AND- primary managed assembly + to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. The valid values are "v2" and "v3". Using + anyother value will cause an exception to be thrown. Please see the + ZipVFS documentation for more information on how to use this parameter. + + N + null + + + DateTimeFormat + + Ticks - Use the value of DateTime.Ticks.
+ ISO8601 - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC + DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
+ JulianDay - The interval of time in days and fractions of a day since January 1, 4713 BC.
+ UnixEpoch - The whole number of seconds since the Unix epoch (January 1, 1970).
+ InvariantCulture - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
+ CurrentCulture - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
+ N + ISO8601 +
+ + DateTimeKind + + Unspecified - Not specified as either UTC or local time. +
+ Utc - The time represented is UTC. +
+ Local - The time represented is local time. +
+ N + Unspecified +
+ + DateTimeFormatString + + The exact DateTime format string to use for all formatting and parsing of all DateTime + values for this connection. + + N + null + + + BaseSchemaName + + Some base data classes in the framework (e.g. those that build SQL queries dynamically) + assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting + alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used + as a placeholder and removed prior to preparing any SQL statements that may contain it. + + N + sqlite_default_schema + + + BinaryGUID + + True - Store GUID columns in binary form +
+ False - Store GUID columns as text +
+ N + True +
+ + Cache Size + + If the argument N is positive then the suggested cache size is set to N. + If the argument N is negative, then the number of cache pages is adjusted + to use approximately abs(N*4096) bytes of memory. Backwards compatibility + note: The behavior of cache_size with a negative N was different in SQLite + versions prior to 3.7.10. In version 3.7.9 and earlier, the number of + pages in the cache was set to the absolute value of N. + + N + -2000 + + + Synchronous + + Normal - Normal file flushing behavior +
+ Full - Full flushing after all writes +
+ Off - Underlying OS flushes I/O's +
+ N + Full +
+ + Page Size + {size in bytes} + N + 4096 + + + Password + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + HexPassword + + {hexPassword} - Must contain a sequence of zero or more hexadecimal encoded + byte values without a leading "0x" prefix. Using this parameter requires + that the legacy CryptoAPI based codec (or the SQLite Encryption Extension) + be enabled at compile-time for both the native interop assembly and the + core managed assemblies; otherwise, using this parameter may result in an + exception being thrown when attempting to open the connection. + + N + + + + TextPassword + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + Enlist + + Y - Automatically enlist in distributed transactions +
+ N - No automatic enlistment +
+ N + Y +
+ + Pooling + + True - Use connection pooling.
+ False - Do not use connection pooling.

+ WARNING: When using the default connection pool implementation, + setting this property to True should be avoided by applications that make + use of COM (either directly or indirectly) due to possible deadlocks that + can occur during the finalization of some COM objects. +
+ N + False +
+ + FailIfMissing + + True - Don't create the database if it does not exist, throw an error instead +
+ False - Automatically create the database if it does not exist +
+ N + False +
+ + Max Page Count + {size in pages} - Limits the maximum number of pages (limits the size) of the database + N + 0 + + + Legacy Format + + True - Use the more compatible legacy 3.x database format +
+ False - Use the newer 3.3x database format which compresses numbers more effectively +
+ N + False +
+ + Default Timeout + {time in seconds}
The default command timeout
+ N + 30 +
+ + DefaultMaximumSleepTime + {time in milliseconds}
The default maximum sleep time for new commands
+ N + 150 +
+ + BusyTimeout + {time in milliseconds}
Sets the busy timeout for the core library.
+ N + 0 +
+ + WaitTimeout + {time in milliseconds}
+ EXPERIMENTAL -- The wait timeout to use with + method. This is only used when + waiting for the enlistment to be reset prior to enlisting in a transaction, + and then only when the appropriate connection flag is set.
+ N + 30000 +
+ + Journal Mode + + Delete - Delete the journal file after a commit. +
+ Persist - Zero out and leave the journal file on disk after a + commit. +
+ Off - Disable the rollback journal entirely. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Truncate - Truncate the journal file to zero-length instead of + deleting it. +
+ Memory - Store the journal in volatile RAM. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Wal - Use a write-ahead log instead of a rollback journal. +
+ N + Delete +
+ + Read Only + + True - Open the database for read only access +
+ False - Open the database for normal read/write access +
+ N + False +
+ + Max Pool Size + The maximum number of connections for the given connection string that can be in the connection pool + N + 100 + + + Default IsolationLevel + The default transaciton isolation level + N + Serializable + + + Foreign Keys + Enable foreign key constraints + N + False + + + Flags + Extra behavioral flags for the connection. See the enumeration for possible values. + N + Default + + + SetDefaults + + True - Apply the default connection settings to the opened database.
+ False - Skip applying the default connection settings to the opened database. +
+ N + True +
+ + ToFullPath + + True - Attempt to expand the data source file name to a fully qualified path before opening. +
+ False - Skip attempting to expand the data source file name to a fully qualified path before opening. +
+ N + True +
+ + PrepareRetries + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + N + 3 + + + ProgressOps + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as well. + + N + 0 + + + Recursive Triggers + + True - Enable the recursive trigger capability. + False - Disable the recursive trigger capability. + + N + False + +
+
+
+ + + The "invalid value" for the enumeration used + by the property. This constant is shared + by this class and the SQLiteConnectionStringBuilder class. + + + + + The default "stub" (i.e. placeholder) base schema name to use when + returning column schema information. Used as the initial value of + the BaseSchemaName property. This should start with "sqlite_*" + because those names are reserved for use by SQLite (i.e. they cannot + be confused with the names of user objects). + + + + + The managed assembly containing this type. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + The extra connection flags to be used for all opened connections. + + + + + The instance (for this thread) that + had the most recent call to . + + + + + State of the current connection + + + + + The connection string + + + + + Nesting level of the transactions open on the connection + + + + + Transaction counter for the connection. Currently, this is only used + to build SAVEPOINT names. + + + + + If this flag is non-zero, the method will have + no effect; however, the method will continue to + behave as normal. + + + + + If set, then the connection is currently being disposed. + + + + + The default isolation level for new transactions + + + + + This object is used with lock statements to synchronize access to the + field, below. + + + + + Whether or not the connection is enlisted in a distrubuted transaction + + + + + The per-connection mappings between type names and + values. These mappings override the corresponding global mappings. + + + + + The per-connection mappings between type names and optional callbacks + for parameter binding and value reading. + + + + + The base SQLite object to interop with + + + + + The database filename minus path and extension + + + + + Temporary password storage, emptied after the database has been opened + + + + + This will be non-zero if the "TextPassword" connection string property + was used. When this value is non-zero, + will retain treatment of the password as a NUL-terminated text string. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. + + + + + The extra behavioral flags for this connection, if any. See the + enumeration for a list of + possible values. + + + + + The cached values for all settings that have been fetched on behalf + of this connection. This cache may be cleared by calling the + method. + + + + + The default databse type for this connection. This value will only + be used if the + flag is set. + + + + + The default databse type name for this connection. This value will only + be used if the + flag is set. + + + + + The name of the VFS to be used when opening the database connection. + + + + + Default command timeout + + + + + Default command maximum sleep time. + + + + + The default busy timeout to use with the SQLite core library. This is + only used when opening a connection. + + + + + The default wait timeout to use with + method. This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the appropriate + connection flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when opening the database. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Constructs a new SQLiteConnection object + + + Default constructor + + + + + Initializes the connection with the specified connection string. + + The connection string to use. + + + + Initializes the connection with a pre-existing native connection handle. + This constructor overload is intended to be used only by the private + method. + + + The native connection handle to use. + + + The file name corresponding to the native connection handle. + + + Non-zero if this instance owns the native connection handle and + should dispose of it when it is no longer needed. + + + + + Initializes user-settable properties with their default values. + This method is only intended to be used from the constructor. + + + + + Initializes the connection with the specified connection string. + + + The connection string to use. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Clones the settings and connection string from an existing connection. If the existing connection is already open, this + function will open its own connection, enumerate any attached databases of the original connection, and automatically + attach to them. + + The connection to copy the settings from. + + + + Attempts to lookup the native handle associated with the connection. An exception will + be thrown if this cannot be accomplished. + + + The connection associated with the desired native handle. + + + The native handle associated with the connection or if it + cannot be determined. + + + + + Attempts to obtain and return the underlying + derived object associated with this connection. This method should only be + used by the thread that created this connection; otherwise, the results are + undefined. + + WARNING: This method is not officially supported for external callers and + should be considered "experimental", even though it is "public". + + + + The underlying derived object associated with + this connection -OR- null if it is unavailable. + + + + + Attempts to create and return the specified built-in implementation + of the interface. If there is + no such built-in implementation, + will be thrown. + + + The short name of the interface + implementation to create. + + + The single argument to pass into the constructor of the + interface implementation to + create, if any. + + + The built-in implementation of the + interface -OR- null if it cannot be created. + + + + + Raises the event. + + + The connection associated with this event. If this parameter is not + null and the specified connection cannot raise events, then the + registered event handlers will not be invoked. + + + A that contains the event data. + + + + + Creates and returns a new managed database connection handle. This + method is intended to be used by implementations of the + interface only. In theory, it + could be used by other classes; however, that usage is not supported. + + + This must be a native database connection handle returned by the + SQLite core library and it must remain valid and open during the + entire duration of the calling method. + + + The new managed database connection handle or null if it cannot be + created. + + + + + Backs up the database, using the specified database connection as the + destination. + + The destination database connection. + The destination database name. + The source database name. + + The number of pages to copy at a time -OR- a negative value to copy all + pages. When a negative value is used, the + may never be invoked. + + + The method to invoke between each step of the backup process. This + parameter may be null (i.e. no callbacks will be performed). If the + callback returns false -OR- throws an exception, the backup is canceled. + + + The number of milliseconds to sleep after encountering a locking error + during the backup process. A value less than zero means that no sleep + should be performed. + + + + + Clears the per-connection cached settings. + + + The total number of per-connection settings cleared. + + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for this connection, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by . + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Clears the per-connection type mappings. + + + The total number of per-connection type mappings cleared. + + + + + Returns the per-connection type mappings. + + + The per-connection type mappings -OR- null if they are unavailable. + + + + + Adds a per-connection type mapping, possibly replacing one or more + that already exist. + + + The case-insensitive database type name (e.g. "MYDATE"). The value + of this parameter cannot be null. Using an empty string value (or + a string value consisting entirely of whitespace) for this parameter + is not recommended. + + + The value that should be associated with the + specified type name. + + + Non-zero if this mapping should be considered to be the primary one + for the specified . + + + A negative value if nothing was done. Zero if no per-connection type + mappings were replaced (i.e. it was a pure add operation). More than + zero if some per-connection type mappings were replaced. + + + + + Clears the per-connection type callbacks. + + + The total number of per-connection type callbacks cleared. + + + + + Attempts to get the per-connection type callbacks for the specified + database type name. + + + The database type name. + + + Upon success, this parameter will contain the object holding the + callbacks for the database type name. Upon failure, this parameter + will be null. + + + Non-zero upon success; otherwise, zero. + + + + + Sets, resets, or clears the per-connection type callbacks for the + specified database type name. + + + The database type name. + + + The object holding the callbacks for the database type name. If + this parameter is null, any callbacks for the database type name + will be removed if they are present. + + + Non-zero if callbacks were set or removed; otherwise, zero. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + A object instance that helps implement the + function to be bound. For scalar functions, this corresponds to the + type. For aggregate functions, + this corresponds to the type. For + collation functions, this corresponds to the + type. + + + A object instance that helps implement the + function to be bound. For aggregate functions, this corresponds to the + type. For other callback types, it + is not used and must be null. + + + + + Attempts to unbind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be unbound. + + Non-zero if the function was unbound. + + + + This method unbinds all registered (known) functions -OR- all previously + bound user-defined functions from this connection. + + + Non-zero to unbind all registered (known) functions -OR- zero to unbind + all functions currently bound to the connection. + + + Non-zero if all the specified user-defined functions were unbound. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Attempts to escape the specified connection string property name or + value in a way that is compatible with the connection string parser. + + + The connection string property name or value to escape. + + + Non-zero if the equals sign is permitted in the string. If this is + zero and the string contains an equals sign, an exception will be + thrown. + + + The original string, with all special characters escaped. If the + original string contains equals signs, they will not be escaped. + Instead, they will be preserved verbatim. + + + + + Builds a connection string from a list of key/value pairs. + + + The list of key/value pairs corresponding to the parameters to be + specified within the connection string. + + + The connection string. Depending on how the connection string was + originally parsed, the returned connection string value may not be + usable in a subsequent call to the method. + + + + + Disposes and finalizes the connection, if applicable. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Creates a clone of the connection. All attached databases and user-defined functions are cloned. If the existing connection is open, the cloned connection + will also be opened. + + + + + + Creates a database file. This just creates a zero-byte file which SQLite + will turn into a database when the file is opened properly. + + The file to create + + + + Raises the state change event when the state of the connection changes + + The new connection state. If this is different + from the previous state, the event is + raised. + The event data created for the raised event, if + it was actually raised. + + + + Determines and returns the fallback default isolation level when one cannot be + obtained from an existing connection instance. + + + The fallback default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + Determines and returns the default isolation level for this connection instance. + + + The default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + This parameter is ignored. + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is TRUE, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is false, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already active on the connection. + + Supported isolation levels are Serializable, ReadCommitted and Unspecified. + + Unspecified will use the default isolation level specified in the connection string. If no isolation level is specified in the + connection string, Serializable is used. + Serializable transactions are the default. In this mode, the engine gets an immediate lock on the database, and no other threads + may begin a transaction. Other threads may read from the database, but not write. + With a ReadCommitted isolation level, locks are deferred and elevated as needed. It is possible for multiple threads to start + a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread + has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached. + + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already + active on the connection. + + Returns the new transaction object. + + + + Forwards to the local function + + Supported isolation levels are Unspecified, Serializable, and ReadCommitted + + + + + This method is not implemented; however, the + event will still be raised. + + + + + + When the database connection is closed, all commands linked to this connection are automatically reset. + + + + + Clears the connection pool associated with the connection. Any other active connections using the same database file + will be discarded instead of returned to the pool when they are closed. + + + + + + Clears all connection pools. Any active connections will be discarded instead of sent to the pool when they are closed. + + + + + Create a new and associate it with this connection. + + Returns a new command object already assigned to this connection. + + + + Forwards to the local function. + + + + + + Attempts to create a new object instance + using this connection and the specified database name. + + + The name of the database for the newly created session. + + + The newly created session -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object + instance using this connection. + + + The newly created change group -OR- null if it cannot be created. + + + + + Determines if the legacy connection string parser should be used. + + + The connection that will be using the parsed connection string. + + + Non-zero if the legacy connection string parser should be used. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string using the built-in (i.e. framework provided) + connection string parser class and returns the key/value pairs. An + exception may be thrown if the connection string is invalid or cannot be + parsed. When compiled for the .NET Compact Framework, the custom + connection string parser is always used instead because the framework + provided one is unavailable there. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to throw an exception if any connection string values are not of + the type. This is not applicable when running on + the .NET Compact Framework. + + The list of key/value pairs. + + + + Manual distributed transaction enlistment support + + The distributed transaction to enlist in + + + + EXPERIMENTAL -- + Waits for the enlistment associated with this connection to be reset. + This method always throws when + running on the .NET Compact Framework. + + + The approximate maximum number of milliseconds to wait before timing + out the wait operation. + + + The return value to use if the connection has been disposed; if this + value is null, will be raised + if the connection has been disposed. + + + Non-zero if the enlistment assciated with this connection was reset; + otherwise, zero. It should be noted that this method returning a + non-zero value does not necessarily guarantee that the connection + can enlist in a new transaction (i.e. due to potentical race with + other threads); therefore, callers should generally use try/catch + when calling the method. + + + + + Looks for a key in the array of key/values of the parameter string. If not found, return the specified default value + + The list to look in + The key to find + The default value to return if the key is not found + The value corresponding to the specified key, or the default value if not found. + + + + Attempts to convert the string value to an enumerated value of the specified type. + + The enumerated type to convert the string value to. + The string value to be converted. + Non-zero to make the conversion case-insensitive. + The enumerated value upon success or null upon error. + + + + Attempts to convert an input string into a byte value. + + + The string value to be converted. + + + The number styles to use for the conversion. + + + Upon sucess, this will contain the parsed byte value. + Upon failure, the value of this parameter is undefined. + + + Non-zero upon success; zero on failure. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + + + Enables or disables extension loading. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Creates a disposable module containing the implementation of a virtual + table. + + + The module object to be used when creating the disposable module. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + Creates and returns a string containing the hexadecimal encoded byte + values from the input array. + + + The input array of bytes. + + + The resulting string or null upon failure. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + Upon failure, this will contain an appropriate error message. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + This method figures out what the default connection pool setting should + be based on the connection flags. When present, the "Pooling" connection + string property value always overrides the value returned by this method. + + + Non-zero if the connection pool should be enabled by default; otherwise, + zero. + + + + + Determines the transaction isolation level that should be used by + the caller, primarily based upon the one specified by the caller. + If mapping of transaction isolation levels is enabled, the returned + transaction isolation level may be significantly different than the + originally specified one. + + + The originally specified transaction isolation level. + + + The transaction isolation level that should be used. + + + + + Opens the connection using the parameters found in the . + + + + + Opens the connection using the parameters found in the and then returns it. + + The current connection object. + + + + This method causes any pending database operation to abort and return at + its earliest opportunity. This routine is typically called in response + to a user action such as pressing "Cancel" or Ctrl-C where the user wants + a long query operation to halt immediately. It is safe to call this + routine from any thread. However, it is not safe to call this routine + with a database connection that is closed or might close before this method + returns. + + + + + Checks if this connection to the specified database should be considered + read-only. An exception will be thrown if the database name specified + via cannot be found. + + + The name of a database associated with this connection -OR- null for the + main database. + + + Non-zero if this connection to the specified database should be considered + read-only. + + + + + Returns various global memory statistics for the SQLite core library via + a dictionary of key/value pairs. Currently, only the "MemoryUsed" and + "MemoryHighwater" keys are returned and they have values that correspond + to the values that could be obtained via the + and connection properties. + + + This dictionary will be populated with the global memory statistics. It + will be created if necessary. + + + + + Attempts to free as much heap memory as possible for this database connection. + + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for the last connection that used + the method, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by using the cached + setting names and values for the last connection that used the + method, when available. + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Passes a shutdown request to the SQLite core library. Does not throw + an exception if the shutdown request fails. + + + A standard SQLite return code (i.e. zero for success and non-zero for + failure). + + + + + Passes a shutdown request to the SQLite core library. Throws an + exception if the shutdown request fails and the no-throw parameter + is non-zero. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. + + + When non-zero, throw an exception if the shutdown request fails. + + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + + WARNING: This method always throws an exception unless the library + has been built with encryption support. + + Attempts to decrypt a database file that was encrypted using the legacy CryptoAPI-based + RC4 codec that was previously included with System.Data.SQLite. + + + The fully qualified name of the (legacy) encrypted database file. + + + The array of UTF-8 encoded bytes that corresponds to the original string password for + the (legacy) encrypted database file. + + + The optional page size for both the legacy encrypted database file and the decrypted + database file. The value of this parameter may be null. When null, the database page + size should be detected automatically. + + + The optional event handler to use for the internal connection + created during the decryption process. The value of this parameter may be null. + + + The fully qualified name of the newly decrypted database file, which will exist in the + same directory as the original legacy encrypted database file. + + + + + + WARNING: This method always throws an exception unless the library + has been built with encryption support. + + Change the password (or assign a password) to the open database. + + + No readers or writers may be active for this process. The database + must already be open and if it already was password protected, the + existing password must already have been supplied. + + + The new password to assign to the open database. + + + + + + WARNING: This method always throws an exception unless the library + has been built with encryption support. + + Change the password (or assign a password) to the open database. + + + No readers or writers may be active for this process. The database + must already be open and if it already was password protected, the + existing password must already have been supplied. + + + The new password to assign to the open database. + + + + + + WARNING: This method always throws an exception unless the library + has been built with encryption support. + + Sets existing password for a closed password-protected database. + Password-protected databases are unusable for any other operation + until the password has been set. Generally, this is accomplished + via setting one of the "*Password" connection string properties, + because it must be done prior to opening the database. + + + The password for the database. + + + + + + WARNING: This method always throws an exception unless the library + has been built with encryption support. + + Sets existing password for a closed password-protected database. + Password-protected databases are unusable for any other operation + until the password has been set. Generally, this is accomplished + via setting one of the "*Password" connection string properties, + because it must be done prior to opening the database. + + + The password for the database. + + + + + Queries or modifies the number of retries or the retry interval (in milliseconds) for + certain I/O operations that may fail due to anti-virus software. + + The number of times to retry the I/O operation. A negative value + will cause the current count to be queried and replace that negative value. + The number of milliseconds to wait before retrying the I/O + operation. This number is multiplied by the number of retry attempts so far to come + up with the final number of milliseconds to wait. A negative value will cause the + current interval to be queried and replace that negative value. + Zero for success, non-zero for error. + + + + Sets the chunk size for the primary file associated with this database + connection. + + + The new chunk size for the main database, in bytes. + + + Zero for success, non-zero for error. + + + + + Removes one set of surrounding single -OR- double quotes from the string + value and returns the resulting string value. If the string is null, empty, + or contains quotes that are not balanced, nothing is done and the original + string value will be returned. + + The string value to process. + + The string value, modified to remove one set of surrounding single -OR- + double quotes, if applicable. + + + + + Determines the directory to be used when dealing with the "|DataDirectory|" + macro in a database file name. + + + The directory to use in place of the "|DataDirectory|" macro -OR- null if it + cannot be determined. + + + + + Expand the filename of the data source, resolving the |DataDirectory| + macro as appropriate. + + The database filename to expand + + Non-zero if the returned file name should be converted to a full path + (except when using the .NET Compact Framework). + + The expanded path and filename of the filename + + + + The following commands are used to extract schema information out of the database. Valid schema types are: + + + MetaDataCollections + + + DataSourceInformation + + + Catalogs + + + Columns + + + ForeignKeys + + + Indexes + + + IndexColumns + + + Tables + + + Views + + + ViewColumns + + + + + Returns the MetaDataCollections schema + + A DataTable of the MetaDataCollections schema + + + + Returns schema information of the specified collection + + The schema collection to retrieve + A DataTable of the specified collection + + + + Retrieves schema information using the specified constraint(s) for the specified collection + + The collection to retrieve. + + The restrictions to impose. Typically, this may include: + + + restrictionValues element index + usage + + + 0 + The database (or catalog) name, if applicable. + + + 1 + The schema name. This is not used by this provider. + + + 2 + The table name, if applicable. + + + 3 + + Depends on . + When "IndexColumns", it is the index name; otherwise, it is the column name. + + + + 4 + + Depends on . + When "IndexColumns", it is the column name; otherwise, it is not used. + + + + + A DataTable of the specified collection + + + + Builds a MetaDataCollections schema datatable + + DataTable + + + + Builds a DataSourceInformation datatable + + DataTable + + + + Build a Columns schema + + The catalog (attached database) to query, can be null + The table to retrieve schema information for, can be null + The column to retrieve schema information for, can be null + DataTable + + + + Returns index information for the given database and catalog + + The catalog (attached database) to query, can be null + The name of the index to retrieve information for, can be null + The table to retrieve index information for, can be null + DataTable + + + + Retrieves table schema information for the database and catalog + + The catalog (attached database) to retrieve tables on + The table to retrieve, can be null + The table type, can be null + DataTable + + + + Retrieves view schema information for the database + + The catalog (attached database) to retrieve views on + The view name, can be null + DataTable + + + + Retrieves catalog (attached databases) schema information for the database + + The catalog to retrieve, can be null + DataTable + + + + Returns the base column information for indexes in a database + + The catalog to retrieve indexes for (can be null) + The table to restrict index information by (can be null) + The index to restrict index information by (can be null) + The source column to restrict index information by (can be null) + A DataTable containing the results + + + + Returns detailed column information for a specified view + + The catalog to retrieve columns for (can be null) + The view to restrict column information by (can be null) + The source column to restrict column information by (can be null) + A DataTable containing the results + + + + Retrieves foreign key information from the specified set of filters + + An optional catalog to restrict results on + An optional table to restrict results on + An optional foreign key name to restrict results on + A DataTable with the results of the query + + + + Static variable to store the connection event handlers to call. + + + + + This event is raised whenever the database is opened or closed. + + + + + This event is raised when events related to the lifecycle of a + SQLiteConnection object occur. + + + + + This property is used to obtain or set the custom connection pool + implementation to use, if any. Setting this property to null will + cause the default connection pool implementation to be used. + + + + + Returns the number of pool entries for the file name associated with this connection. + + + + + Returns the total number of created connections. + + + + + Returns the total number of method calls for all connections. + + + + + Returns the total number of method calls for all connections. + + + + + Returns the total number of disposed connections. + + + + + The connection string containing the parameters for the connection + + + For the complete list of supported connection string properties, + please see . + + + + + Returns the data source file name without extension or path. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + + + Returns the string "main". + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + This can also be set in the ConnectionString with "Default Timeout" + + + + + Gets/sets the default maximum sleep time for newly-created commands. + This can also be set in the ConnectionString with "DefaultMaximumSleepTime" + + + + + Gets/sets the default busy timeout to use with the SQLite core library. This is only used when + opening a connection. + + + + + EXPERIMENTAL -- + The wait timeout to use with method. + This is only used when waiting for the enlistment to be reset prior to + enlisting in a transaction, and then only when the appropriate connection + flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when the underlying native progress + callback needs to be changed. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Gets/sets the extra behavioral flags for this connection. See the + enumeration for a list of + possible values. + + + + + Gets/sets the default database type for this connection. This value + will only be used when not null. + + + + + Gets/sets the default database type name for this connection. This + value will only be used when not null. + + + + + Gets/sets the VFS name for this connection. This value will only be + used when opening the database. + + + + + Returns non-zero if the underlying native connection handle is + owned by this instance. + + + + + Returns the version of the underlying SQLite database engine + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on + this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + + + + + Returns a string containing the define constants (i.e. compile-time + options) used to compile the core managed assembly, delimited with + spaces. + + + + + Returns the version of the underlying SQLite core library. + + + + + This method returns the string whose value is the same as the + SQLITE_SOURCE_ID C preprocessor macro used when compiling the + SQLite core library. + + + + + Returns a string containing the compile-time options used to + compile the SQLite core native library, delimited with spaces. + + + + + This method returns the version of the interop SQLite assembly + used. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the interop + assembly. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + Returns a string containing the compile-time options used to + compile the SQLite interop assembly, delimited with spaces. + + + + + This method returns the version of the managed components used + to interact with the SQLite core library. If the necessary + information cannot be obtained for any reason, a null value may + be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the managed + components currently executing. If the necessary information + cannot be obtained for any reason, a null value may be returned. + + + + + The default connection flags to be used for all opened connections + when they are not present in the connection string. + + + + + The extra connection flags to be used for all opened connections. + + + + + Returns the state of the connection. + + + + + This event is raised periodically during long running queries. Changing + the value of the property will + determine if the database operation will be retried or stopped. For the + entire duration of the event, the associated connection and statement + objects must not be modified, either directly or indirectly, by the + called code. + + + + + This event is raised periodically during long running queries. Changing + the value of the property will + determine if the operation in progress will continue or be interrupted. + For the entire duration of the event, the associated connection and + statement objects must not be modified, either directly or indirectly, by + the called code. + + + + + This event is raised whenever SQLite encounters an action covered by the + authorizer during query preparation. Changing the value of the + property will determine if + the specific action will be allowed, ignored, or denied. For the entire + duration of the event, the associated connection and statement objects + must not be modified, either directly or indirectly, by the called code. + + + + + This event is raised whenever SQLite makes an update/delete/insert into the database on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is committing a transaction. + Return non-zero to trigger a rollback. + + + + + This event is raised whenever SQLite statement first begins executing on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is rolling back a transaction. + + + + + Returns the instance. + + + + + The I/O file cache flushing behavior for the connection + + + + + Normal file flushing at critical sections of the code + + + + + Full file flushing after every write operation + + + + + Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing + + + + + + The connection performing the operation. + A that contains the event + data. + + + + Raised each time the number of virtual machine instructions is + approximately equal to the value of the + property. + + The connection performing the operation. + A that contains the + event data. + + + + Raised when authorization is required to perform an action contained + within a SQL query. + + The connection performing the action. + A that contains the + event data. + + + + Raised when a transaction is about to be committed. To roll back a transaction, set the + rollbackTrans boolean value to true. + + The connection committing the transaction + Event arguments on the transaction + + + + Raised when data is inserted, updated and deleted on a given connection + + The connection committing the transaction + The event parameters which triggered the event + + + + Raised when a statement first begins executing on a given connection + + The connection executing the statement + Event arguments of the trace + + + + Raised between each backup step. + + + The source database connection. + + + The source database name. + + + The destination database connection. + + + The destination database name. + + + The number of pages copied with each step. + + + The number of pages remaining to be copied. + + + The total number of pages in the source database. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True to continue with the backup process or false to halt the backup + process, rolling back any changes that have been made so far. + + + + + The event data associated with "database is busy" events. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The number of times the current database operation has been retried + so far. + + + + + The return code for the current call into the busy callback. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The number of times the current database operation has been retried + so far. + + + The busy return code. + + + + + The event data associated with progress reporting events. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The return code for the current call into the progress callback. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The progress return code. + + + + + The data associated with a call into the authorizer. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The action code responsible for the current call into the authorizer. + + + + + The first string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The second string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The database name for the current call into the authorizer, if + applicable. + + + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + + + The return code for the current call into the authorizer. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The authorizer action code. + + + The first authorizer argument. + + + The second authorizer argument. + + + The database name, if applicable. + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + The authorizer return code. + + + + + Whenever an update event is triggered on a connection, this enum will indicate + exactly what type of operation is being performed. + + + + + A row is being deleted from the given database and table + + + + + A row is being inserted into the table. + + + + + A row is being updated in the table. + + + + + Passed during an Update callback, these event arguments detail the type of update operation being performed + on the given connection. + + + + + The name of the database being updated (usually "main" but can be any attached or temporary database) + + + + + The name of the table being updated + + + + + The type of update being performed (insert/update/delete) + + + + + The RowId affected by this update. + + + + + Event arguments raised when a transaction is being committed + + + + + Set to true to abort the transaction and trigger a rollback + + + + + Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text + + + + + SQL statement text as the statement first begins executing + + + + + This interface represents a custom connection pool implementation + usable by System.Data.SQLite. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This interface represents a custom connection pool implementation + usable by System.Data.SQLite. + + + + + Initialize the connection pool. + + + Optional single argument used during the connection pool + initialization process. + + + + + Terminate the connection pool. + + + Optional single argument used during the connection pool + termination process. + + + + + Gets the total number of connections successfully opened and + closed from any pool. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + + + Resets the total number of connections successfully opened and + closed from any pool to zero. + + + + + This class implements a connection pool using the built-in static + method implementations. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This class implements a naive connection pool where the underlying + connections are never disposed automatically. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + Keeps track of connections made on a specified file. The PoolVersion + dictates whether old objects get returned to the pool or discarded + when no longer in use. + + + + + The queue of weak references to the actual database connection + handles. + + + + + This pool version associated with the database connection + handles in this pool queue. + + + + + The maximum size of this pool queue. + + + + + Constructs a connection pool queue using the specified version + and maximum size. Normally, all the database connection + handles in this pool are associated with a single database file + name. + + + The initial pool version for this connection pool queue. + + + The initial maximum size for this connection pool queue. + + + + + This default method implementations in this class should not be used by + applications that make use of COM (either directly or indirectly) due + to possible deadlocks that can occur during finalization of some COM + objects. + + + + + This field is used to synchronize access to the private static + data in this class. + + + + + When this field is non-null, it will be used to provide the + implementation of all the connection pool methods; otherwise, + the default method implementations will be used. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This method is used to obtain a reference to the custom connection + pool implementation currently in use, if any. + + + The custom connection pool implementation or null if the default + connection pool implementation should be used. + + + + + This method is used to set the reference to the custom connection + pool implementation to use, if any. + + + The custom connection pool implementation to use or null if the + default connection pool implementation should be used. + + + + + This default method implementations in this class should not be used + by applications that make use of COM (either directly or indirectly) + due to possible deadlocks that can occur during finalization of some + COM objects. + + + + + This field is used to synchronize access to the private static + data in this class. + + + + + The dictionary of connection pools, based on the normalized file + name of the SQLite database. + + + + + The default version number new pools will get. + + + + + The number of connections successfully opened from any pool. + This value is incremented by the Remove method. + + + + + The number of connections successfully closed from any pool. + This value is incremented by the Add method. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + We do not have to thread-lock anything in this function, because + it is only called by other functions above which already take the + lock. + + + The pool queue to resize. + + + If a function intends to add to the pool, this is true, which + forces the resize to take one more than it needs from the pool. + + + + + This default method implementations in this class should not be used + by applications that make use of COM (either directly or indirectly) + due to possible deadlocks that can occur during finalization of some + COM objects. + + + + + This field is used to synchronize access to the private static + data in this class. + + + + + The dictionary of connection pools, based on the normalized file + name of the SQLite database. + + + + + The default version number new pools will get. + + + + + The number of connections successfully opened from any pool. + This value is incremented by the Remove method. + + + + + The number of connections successfully closed from any pool. + This value is incremented by the Add method. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + We do not have to thread-lock anything in this function, because + it is only called by other functions above which already take the + lock. + + + The pool queue to resize. + + + If a function intends to add to the pool, this is true, which + forces the resize to take one more than it needs from the pool. + + + + + SQLite implementation of DbConnectionStringBuilder. + + + + + Properties of this class + + + + + Constructs a new instance of the class + + + Default constructor + + + + + Constructs a new instance of the class using the specified connection string. + + The connection string to parse + + + + Private initializer, which assigns the connection string and resets the builder + + The connection string to assign + + + + Helper function for retrieving values from the connectionstring + + The keyword to retrieve settings for + The resulting parameter value + Returns true if the value was found and returned + + + + Fallback method for MONO, which doesn't implement DbConnectionStringBuilder.GetProperties() + + The hashtable to fill with property descriptors + + + + Gets/Sets the default version of the SQLite engine to instantiate. Currently the only valid value is 3, indicating version 3 of the sqlite library. + + + + + Gets/Sets the synchronization mode (file flushing) of the connection string. Default is "Normal". + + + + + Gets/Sets the encoding for the connection string. The default is "False" which indicates UTF-8 encoding. + + + + + Gets/Sets whether or not to use connection pooling. The default is "False" + + + + + Gets/Sets whethor not to store GUID's in binary format. The default is True + which saves space in the database. + + + + + Gets/Sets the filename to open on the connection string. + + + + + An alternate to the data source property + + + + + An alternate to the data source property that uses the SQLite URI syntax. + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + + + + + Gets/sets the default maximum sleep time for newly-created commands. + + + + + Gets/sets the busy timeout to use with the SQLite core library. + + + + + EXPERIMENTAL -- + The wait timeout to use with + method. + This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the + appropriate connection flag is set. + + + + + Gets/sets the maximum number of retries when preparing SQL to be executed. + This normally only applies to preparation errors resulting from the database + schema being changed. + + + + + Gets/sets the approximate number of virtual machine instructions between + progress events. In order for progress events to actually fire, the event + handler must be added to the event + as well. + + + + + Determines whether or not the connection will automatically participate + in the current distributed transaction (if one exists) + + + + + If set to true, will throw an exception if the database specified in the connection + string does not exist. If false, the database will be created automatically. + + + + + If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger + database sizes. + + + + + When enabled, the database will be opened for read-only access and writing will be disabled. + + + + + Gets/sets the database encryption password + + + + + Gets/sets the database encryption hexadecimal password + + + + + Gets/sets the database encryption textual password + + + + + Gets/Sets the page size for the connection. + + + + + Gets/Sets the maximum number of pages the database may hold + + + + + Gets/Sets the cache size for the connection. + + + + + Gets/Sets the DateTime format for the connection. + + + + + Gets/Sets the DateTime kind for the connection. + + + + + Gets/sets the DateTime format string used for formatting + and parsing purposes. + + + + + Gets/Sets the placeholder base schema name used for + .NET Framework compatibility purposes. + + + + + Determines how SQLite handles the transaction journal file. + + + + + Sets the default isolation level for transactions on the connection. + + + + + Gets/sets the default database type for the connection. + + + + + Gets/sets the default type name for the connection. + + + + + Gets/sets the VFS name for the connection. + + + + + If enabled, use foreign key constraints + + + + + Enable or disable the recursive trigger capability. + + + + + If non-null, this is the version of ZipVFS to use. This requires the + System.Data.SQLite interop assembly -AND- primary managed assembly to + be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. + + + + + Gets/Sets the extra behavioral flags. + + + + + If enabled, apply the default connection settings to opened databases. + + + + + If enabled, attempt to resolve the provided data source file name to a + full path before opening. + + + + + If enabled, skip using the configured default connection flags. + + + + + If enabled, skip using the configured shared connection flags. + + + + + SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite + understands. The DateTime extension to the spec is for internal use only. + + + + + Not used + + + + + All integers in SQLite default to Int64 + + + + + All floating point numbers in SQLite default to double + + + + + The default data type of SQLite is text + + + + + Typically blob types are only seen when returned from a function + + + + + Null types can be returned from functions + + + + + Used internally by this provider + + + + + Used internally by this provider + + + + + These are the event types associated with the + + delegate (and its corresponding event) and the + class. + + + + + Not used. + + + + + Not used. + + + + + The connection is being opened. + + + + + The connection string has been parsed. + + + + + The connection was opened. + + + + + The method was called on the + connection. + + + + + A transaction was created using the connection. + + + + + The connection was enlisted into a transaction. + + + + + A command was created using the connection. + + + + + A data reader was created using the connection. + + + + + An instance of a derived class has + been created to wrap a native resource. + + + + + The connection is being closed. + + + + + The connection was closed. + + + + + A command is being disposed. + + + + + A data reader is being disposed. + + + + + A data reader is being closed. + + + + + A native resource was opened (i.e. obtained) from the pool. + + + + + A native resource was closed (i.e. released) to the pool. + + + + + The connection is being disposed. + + + + + The connection was disposed. + + + + + The connection is being finalized. + + + + + The connection was finalized. + + + + + The closing of the object had no effect, e.g. because the + underlying resource was not actually allocated or opened. + + + + + This implementation of SQLite for ADO.NET can process date/time fields in + databases in one of six formats. + + + ISO8601 format is more compatible, readable, fully-processable, but less + accurate as it does not provide time down to fractions of a second. + JulianDay is the numeric format the SQLite uses internally and is arguably + the most compatible with 3rd party tools. It is not readable as text + without post-processing. Ticks less compatible with 3rd party tools that + query the database, and renders the DateTime field unreadable as text + without post-processing. UnixEpoch is more compatible with Unix systems. + InvariantCulture allows the configured format for the invariant culture + format to be used and is human readable. CurrentCulture allows the + configured format for the current culture to be used and is also human + readable. + + The preferred order of choosing a DateTime format is JulianDay, ISO8601, + and then Ticks. Ticks is mainly present for legacy code support. + + + + + Use the value of DateTime.Ticks. This value is not recommended and is not well supported with LINQ. + + + + + Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and + "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values). + + + + + The interval of time in days and fractions of a day since January 1, 4713 BC. + + + + + The whole number of seconds since the Unix epoch (January 1, 1970). + + + + + Any culture-independent string value that the .NET Framework can interpret as a valid DateTime. + + + + + Any string value that the .NET Framework can interpret as a valid DateTime using the current culture. + + + + + The default format for this provider. + + + + + This enum determines how SQLite treats its journal file. + + + By default SQLite will create and delete the journal file when needed during a transaction. + However, for some computers running certain filesystem monitoring tools, the rapid + creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite. + + If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file" + when starting a transaction. If this is happening, you may want to change the default journal mode to Persist. + + + + + The default mode, this causes SQLite to use the existing journaling mode for the database. + + + + + SQLite will create and destroy the journal file as-needed. + + + + + When this is set, SQLite will keep the journal file even after a transaction has completed. It's contents will be erased, + and the journal re-used as often as needed. If it is deleted, it will be recreated the next time it is needed. + + + + + This option disables the rollback journal entirely. Interrupted transactions or a program crash can cause database + corruption in this mode! + + + + + SQLite will truncate the journal file to zero-length instead of deleting it. + + + + + SQLite will store the journal in volatile RAM. This saves disk I/O but at the expense of database safety and integrity. + If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the + database file will very likely go corrupt. + + + + + SQLite uses a write-ahead log instead of a rollback journal to implement transactions. The WAL journaling mode is persistent; + after being set it stays in effect across multiple database connections and after closing and reopening the database. A database + in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later. + + + + + Possible values for the "synchronous" database setting. This setting determines + how often the database engine calls the xSync method of the VFS. + + + + + Use the default "synchronous" database setting. Currently, this should be + the same as using the FULL mode. + + + + + The database engine continues without syncing as soon as it has handed + data off to the operating system. If the application running SQLite + crashes, the data will be safe, but the database might become corrupted + if the operating system crashes or the computer loses power before that + data has been written to the disk surface. + + + + + The database engine will still sync at the most critical moments, but + less often than in FULL mode. There is a very small (though non-zero) + chance that a power failure at just the wrong time could corrupt the + database in NORMAL mode. + + + + + The database engine will use the xSync method of the VFS to ensure that + all content is safely written to the disk surface prior to continuing. + This ensures that an operating system crash or power failure will not + corrupt the database. FULL synchronous is very safe, but it is also + slower. + + + + + The requested command execution type. This controls which method of the + object will be called. + + + + + Do nothing. No method will be called. + + + + + The command is not expected to return a result -OR- the result is not + needed. The or + method + will be called. + + + + + The command is expected to return a scalar result -OR- the result should + be limited to a scalar result. The + or method will + be called. + + + + + The command is expected to return result. + The or + method will + be called. + + + + + Use the default command execution type. Using this value is the same + as using the value. + + + + + The action code responsible for the current call into the authorizer. + + + + + No action is being performed. This value should not be used from + external code. + + + + + No longer used. + + + + + An index will be created. The action-specific arguments are the + index name and the table name. + + + + + + A table will be created. The action-specific arguments are the + table name and a null value. + + + + + A temporary index will be created. The action-specific arguments + are the index name and the table name. + + + + + A temporary table will be created. The action-specific arguments + are the table name and a null value. + + + + + A temporary trigger will be created. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be created. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be created. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be created. The action-specific arguments are the view + name and a null value. + + + + + A DELETE statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + An index will be dropped. The action-specific arguments are the + index name and the table name. + + + + + A table will be dropped. The action-specific arguments are the tables + name and a null value. + + + + + A temporary index will be dropped. The action-specific arguments are + the index name and the table name. + + + + + A temporary table will be dropped. The action-specific arguments are + the table name and a null value. + + + + + A temporary trigger will be dropped. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be dropped. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be dropped. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be dropped. The action-specific arguments are the view + name and a null value. + + + + + An INSERT statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + A PRAGMA statement will be executed. The action-specific arguments + are the name of the PRAGMA and the new value or a null value. + + + + + A table column will be read. The action-specific arguments are the + table name and the column name. + + + + + A SELECT statement will be executed. The action-specific arguments + are both null values. + + + + + A transaction will be started, committed, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + COMMIT, or ROLLBACK) and a null value. + + + + + An UPDATE statement will be executed. The action-specific arguments + are the table name and the column name. + + + + + A database will be attached to the connection. The action-specific + arguments are the database file name and a null value. + + + + + A database will be detached from the connection. The action-specific + arguments are the database name and a null value. + + + + + The schema of a table will be altered. The action-specific arguments + are the database name and the table name. + + + + + An index will be deleted and then recreated. The action-specific + arguments are the index name and a null value. + + + + + A table will be analyzed to gathers statistics about it. The + action-specific arguments are the table name and a null value. + + + + + A virtual table will be created. The action-specific arguments are + the table name and the module name. + + + + + A virtual table will be dropped. The action-specific arguments are + the table name and the module name. + + + + + A SQL function will be called. The action-specific arguments are a + null value and the function name. + + + + + A savepoint will be created, released, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + RELEASE, or ROLLBACK) and the savepoint name. + + + + + A recursive query will be executed. The action-specific arguments + are two null values. + + + + + The possible return codes for the busy callback. + + + + + Stop invoking the busy callback and return + to the + caller. + + + + + Retry the associated operation and invoke + the busy callback again, if necessary. + + + + + The possible return codes for the progress callback. + + + + + The operation should continue. + + + + + The operation should be interrupted. + + + + + The return code for the current call into the authorizer. + + + + + The action will be allowed. + + + + + The overall action will be disallowed and an error message will be + returned from the query preparation method. + + + + + The specific action will be disallowed; however, the overall action + will continue. The exact effects of this return code vary depending + on the specific action, please refer to the SQLite core library + documentation for futher details. + + + + + Class used internally to determine the datatype of a column in a resultset + + + + + The DbType of the column, or DbType.Object if it cannot be determined + + + + + The affinity of a column, used for expressions or when Type is DbType.Object + + + + + Constructs a default instance of this type. + + + + + Constructs an instance of this type with the specified field values. + + + The type affinity to use for the new instance. + + + The database type to use for the new instance. + + + + + SQLite implementation of DbDataAdapter. + + + + + This class is just a shell around the DbDataAdapter. Nothing from + DbDataAdapter is overridden here, just a few constructors are defined. + + + Default constructor. + + + + + Constructs a data adapter using the specified select command. + + + The select command to associate with the adapter. + + + + + Constructs a data adapter with the supplied select command text and + associated with the specified connection. + + + The select command text to associate with the data adapter. + + + The connection to associate with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Raised by the underlying DbDataAdapter when a row is being updated + + The event's specifics + + + + Raised by DbDataAdapter after a row is updated + + The event's specifics + + + + Row updating event handler + + + + + Row updated event handler + + + + + Gets/sets the select command for this DataAdapter + + + + + Gets/sets the insert command for this DataAdapter + + + + + Gets/sets the update command for this DataAdapter + + + + + Gets/sets the delete command for this DataAdapter + + + + + SQLite implementation of DbDataReader. + + + + + Underlying command this reader is attached to + + + + + The flags pertaining to the associated connection (via the command). + + + + + Index of the current statement in the command being processed + + + + + Current statement being Read() + + + + + State of the current statement being processed. + -1 = First Step() executed, so the first Read() will be ignored + 0 = Actively reading + 1 = Finished reading + 2 = Non-row-returning statement, no records + + + + + Number of records affected by the insert/update statements executed on the command + + + + + Count of fields (columns) in the row-returning statement currently being processed + + + + + The number of calls to Step() that have returned true (i.e. the number of rows that + have been read in the current result set). + + + + + Maps the field (column) names to their corresponding indexes within the results. + + + + + Datatypes of active fields (columns) in the current statement, used for type-restricting data + + + + + The behavior of the datareader + + + + + If set, then dispose of the command object when the reader is finished + + + + + If set, then raise an exception when the object is accessed after being disposed. + + + + + An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified + + + + + Matches the version of the connection. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. Matches the base schema name used by the + associated connection. + + + + + Internal constructor, initializes the datareader and sets up to begin executing statements + + The SQLiteCommand this data reader is for + The expected behavior of the data reader + + + + Dispose of all resources used by this datareader. + + + + + + Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified. + + + + + Throw an error if the datareader is closed + + + + + Throw an error if a row is not loaded + + + + + Enumerator support + + Returns a DbEnumerator object. + + + + Forces the connection flags cached by this data reader to be refreshed + from the underlying connection. + + + + + This method is used to make sure the result set is open and a row is currently available. + + + + + SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table + and the affinity of returned types are all we have to go on to type-restrict data in the reader. + + This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In + the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob) + to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do. + + + This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity. + + The index of the column to type-check + The type we want to get out of the column + + + + Invokes the data reader value callback configured for the database + type name associated with the specified column. If no data reader + value callback is available for the database type name, do nothing. + + + The index of the column being read. + + + The extra event data to pass into the callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + Attempts to query the integer identifier for the current row. This + will not work for tables that were created WITHOUT ROWID -OR- if the + query does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The index of the BLOB column. + + + The integer identifier for the current row -OR- null if it could not + be determined. + + + + + Retrieves the column as a object. + This will not work for tables that were created WITHOUT ROWID + -OR- if the query does not include the "rowid" column or one + of its aliases -OR- if the was + not created with the + flag. + + The index of the column. + + Non-zero to open the blob object for read-only access. + + A new object. + + + + Retrieves the column as a boolean value + + The index of the column. + bool + + + + Retrieves the column as a single byte value + + The index of the column. + byte + + + + Retrieves a column as an array of bytes (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the bytes into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of bytes written into the array + + To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned. + + + + + Returns the column as a single character + + The index of the column. + char + + + + Retrieves a column as an array of chars (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the characters into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of characters written into the array + + To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned. + + + + + Retrieves the name of the back-end datatype of the column + + The index of the column. + string + + + + Retrieve the column as a date/time value + + The index of the column. + DateTime + + + + Retrieve the column as a decimal value + + The index of the column. + decimal + + + + Returns the column as a double + + The index of the column. + double + + + + Determines and returns the of the + specified column. + + + The index of the column. + + + The associated with the specified + column, if any. + + + + + Returns the .NET type of a given column + + The index of the column. + Type + + + + Returns a column as a float value + + The index of the column. + float + + + + Returns the column as a Guid + + The index of the column. + Guid + + + + Returns the column as a short + + The index of the column. + Int16 + + + + Retrieves the column as an int + + The index of the column. + Int32 + + + + Retrieves the column as a long + + The index of the column. + Int64 + + + + Retrieves the name of the column + + The index of the column. + string + + + + Returns the name of the database associated with the specified column. + + The index of the column. + string + + + + Returns the name of the table associated with the specified column. + + The index of the column. + string + + + + Returns the original name of the specified column. + + The index of the column. + string + + + + Retrieves the i of a column, given its name + + The name of the column to retrieve + The int i of the column + + + + Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done + to gather the necessary information so it can be represented in an ADO.NET manner. + + Returns a DataTable containing the schema information for the active SELECT statement being processed. + + + + Retrieves the column as a string + + The index of the column. + string + + + + Retrieves the column as an object corresponding to the underlying datatype of the column + + The index of the column. + object + + + + Retreives the values of multiple columns, up to the size of the supplied array + + The array to fill with values from the columns in the current resultset + The number of columns retrieved + + + + Returns a collection containing all the column names and values for the + current row of data in the current resultset, if any. If there is no + current row or no current resultset, an exception may be thrown. + + + The collection containing the column name and value information for the + current row of data in the current resultset or null if this information + cannot be obtained. + + + + + Returns True if the specified column is null + + The index of the column. + True or False + + + + Moves to the next resultset in multiple row-returning SQL command. + + True if the command was successful and a new resultset is available, False otherwise. + + + + This method attempts to query the database connection associated with + the data reader in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Retrieves the SQLiteType for a given column and row value. + + + The original SQLiteType structure, based only on the column. + + + The textual value of the column for a given row. + + + The SQLiteType structure. + + + + + Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls. + + The flags associated with the parent connection object. + The index of the column. + A SQLiteType structure + + + + Reads the next row from the resultset + + True if a new row was successfully loaded and is ready for processing + + + + Not implemented. Returns 0 + + + + + Returns the number of columns in the current resultset + + + + + Returns the number of rows seen so far in the current result set. + + + + + Returns the number of visible fields in the current resultset + + + + + Returns True if the resultset has rows that can be fetched + + + + + Returns True if the data reader is closed + + + + + Returns the number of rows affected by the statement being executed. + The value returned may not be accurate for DDL statements. Also, it + will be -1 for any statement that does not modify the database (e.g. + SELECT). If an otherwise read-only statement modifies the database + indirectly (e.g. via a virtual table or user-defined function), the + value returned is undefined. + + + + + Indexer to retrieve data from a column given its name + + The name of the column to retrieve data for + The value contained in the column + + + + Indexer to retrieve data from a column given its i + + The index of the column. + The value contained in the column + + + + SQLite exception class. + + + + + This value was copied from the "WinError.h" file included with the + Platform SDK for Windows 10. + + + + + Private constructor for use with serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + Public constructor for generating a SQLite exception given the error + code and message. + + + The SQLite return code to report. + + + Message text to go along with the return code message text. + + + + + Public constructor that uses the base class constructor for the error + message. + + Error message text. + + + + Public constructor that uses the default base class constructor. + + + + + Public constructor that uses the base class constructor for the error + message and inner exception. + + Error message text. + The original (inner) exception. + + + + Adds extra information to the serialized object data specific to this + class type. This is only used for serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + This method performs extra initialization tasks. It may be called by + any of the constructors of this class. It must not throw exceptions. + + + + + Maps a Win32 error code to an HRESULT. + + + The specified Win32 error code. It must be within the range of zero + (0) to 0xFFFF (65535). + + + Non-zero if the HRESULT should indicate success; otherwise, zero. + + + The integer value of the HRESULT. + + + + + Attempts to map the specified onto an + existing HRESULT -OR- a Win32 error code wrapped in an HRESULT. The + mappings may not have perfectly matching semantics; however, they do + have the benefit of being unique within the context of this exception + type. + + + The to map. + + + The integer HRESULT value -OR- null if there is no known mapping. + + + + + Returns the error message for the specified SQLite return code. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns the composite error message based on the SQLite return code + and the optional detailed error message. + + The SQLite return code. + Optional detailed error message. + Error message text for the return code. + + + + Gets the associated SQLite result code for this exception as a + . This property returns the same + underlying value as the property. + + + + + Gets the associated SQLite return code for this exception as an + . For desktop versions of the .NET Framework, + this property overrides the property of the same name within the + + class. This property returns the same underlying value as the + property. + + + + + SQLite error codes. Actually, this enumeration represents a return code, + which may also indicate success in one of several ways (e.g. SQLITE_OK, + SQLITE_ROW, and SQLITE_DONE). Therefore, the name of this enumeration is + something of a misnomer. + + + + + The error code is unknown. This error code + is only used by the managed wrapper itself. + + + + + Successful result + + + + + SQL error or missing database + + + + + Internal logic error in SQLite + + + + + Access permission denied + + + + + Callback routine requested an abort + + + + + The database file is locked + + + + + A table in the database is locked + + + + + A malloc() failed + + + + + Attempt to write a readonly database + + + + + Operation terminated by sqlite3_interrupt() + + + + + Some kind of disk I/O error occurred + + + + + The database disk image is malformed + + + + + Unknown opcode in sqlite3_file_control() + + + + + Insertion failed because database is full + + + + + Unable to open the database file + + + + + Database lock protocol error + + + + + Database is empty + + + + + The database schema changed + + + + + String or BLOB exceeds size limit + + + + + Abort due to constraint violation + + + + + Data type mismatch + + + + + Library used incorrectly + + + + + Uses OS features not supported on host + + + + + Authorization denied + + + + + Auxiliary database format error + + + + + 2nd parameter to sqlite3_bind out of range + + + + + File opened that is not a database file + + + + + Notifications from sqlite3_log() + + + + + Warnings from sqlite3_log() + + + + + sqlite3_step() has another row ready + + + + + sqlite3_step() has finished executing + + + + + Used to mask off extended result codes + + + + + A collation sequence was referenced by a schema and it cannot be + found. + + + + + An internal operation failed and it may succeed if retried. + + + + + The specified snapshot has been overwritten by a checkpoint. + + + + + A file read operation failed. + + + + + A file read operation returned less data than requested. + + + + + A file write operation failed. + + + + + A file synchronization operation failed. + + + + + A directory synchronization operation failed. + + + + + A file truncate operation failed. + + + + + A file metadata operation failed. + + + + + A file unlock operation failed. + + + + + A file lock operation failed. + + + + + A file delete operation failed. + + + + + Not currently used. + + + + + Out-of-memory during a file operation. + + + + + A file existence/status operation failed. + + + + + A check for a reserved lock failed. + + + + + A file lock operation failed. + + + + + A file close operation failed. + + + + + A directory close operation failed. + + + + + A shared memory open operation failed. + + + + + A shared memory size operation failed. + + + + + A shared memory lock operation failed. + + + + + A shared memory map operation failed. + + + + + A file seek operation failed. + + + + + A file delete operation failed because it does not exist. + + + + + A file memory mapping operation failed. + + + + + The temporary directory path could not be obtained. + + + + + A path string conversion operation failed. + + + + + Reserved. + + + + + An attempt to authenticate failed. + + + + + An attempt to begin a file system transaction failed. + + + + + An attempt to commit a file system transaction failed. + + + + + An attempt to rollback a file system transaction failed. + + + + + Data read from the file system appears to be incorrect. + + + + + File system corruption was detected during a read or write. + + + + + A database table is locked in shared-cache mode. + + + + + A virtual table in the database is locked. + + + + + A database file is locked due to a recovery operation. + + + + + A database file is locked due to snapshot semantics. + + + + + An internal timeout was encountered while waiting for a database lock. + + + + + A database file cannot be opened because no temporary directory is available. + + + + + A database file cannot be opened because its path represents a directory. + + + + + A database file cannot be opened because its full path could not be obtained. + + + + + A database file cannot be opened because a path string conversion operation failed. + + + + + No longer used. + + + + + A database file is a symbolic link and cannot be opened. + + + + + A virtual table is malformed. + + + + + A required sequence table is missing or corrupt. + + + + + An index entry that should be present is missing. + + + + + A database file is read-only due to a recovery operation. + + + + + A database file is read-only because a lock could not be obtained. + + + + + A database file is read-only because it needs rollback processing. + + + + + A database file is read-only because it was moved while open. + + + + + The shared-memory file is read-only and it should be read-write. + + + + + Unable to create journal file because the directory is read-only. + + + + + An operation is being aborted due to rollback processing. + + + + + A CHECK constraint failed. + + + + + A commit hook produced a unsuccessful return code. + + + + + A FOREIGN KEY constraint failed. + + + + + Not currently used. + + + + + A NOT NULL constraint failed. + + + + + A PRIMARY KEY constraint failed. + + + + + The RAISE function was used by a trigger-program. + + + + + A UNIQUE constraint failed. + + + + + Not currently used. + + + + + A ROWID constraint failed. + + + + + A database cursor is busy and cannot be moved. + + + + + Value does not conform to specified data type. + + + + + Method called without an appropriate license. + + + + + Frames were recovered from the WAL log file. + + + + + Pages were recovered from the journal file. + + + + + An automatic index was created to process a query. + + + + + User authentication failed. + + + + + Success. Prevents the extension from unloading until the process + terminates. + + + + + Success. The specified file name refers to a symbolic link. + + + + + SQLite implementation of . + + + SQLite implementation of . + + + + + Constructs a new instance. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + + + Cleans up resources associated with the current instance. + + + + + Static instance member which returns an instanced class. + + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + This method is called to perform preliminary static initialization + necessary for this class. + + + + + This method is called to perform some of the static initialization + necessary for this class. + + + + + Will provide a object in .NET 3.5. + + The class or interface type to query for. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. This event is provided for backward compatibility only. + New code should use the class instead. + + + + + These constants are used with the sqlite3_create_function() API, et al. + + + + + Initial flags value, no flags set. + + + + + The function uses UTF-8. + + + + + The function uses little-endian UTF-16. + + + + + The function uses big-endian UTF-16. + + + + + The function uses UTF-16 in native byte order. + + + + + Deprecated, do not use. + + + + + For sqlite3_create_collation() only, do not use. + + + + + Used to mask off the flags related to encodings. + + + + + The new function always gives the same output when the input parameters + are the same. The abs() function is deterministic, for example, but + randomblob() is not. Functions must be deterministic in order to be used + in certain contexts such as with the WHERE clause of partial indexes or + in generated columns. SQLite might also optimize deterministic functions + by factoring them out of inner loops. + + + + + The function may only be invoked from top-level SQL, and cannot be used + in VIEWs or TRIGGERs nor in schema structures such as CHECK constraints, + DEFAULT clauses, expression indexes, partial indexes, or generated columns. + The SQLITE_DIRECTONLY flags is a security feature which is recommended for + all application-defined SQL functions, and especially for functions that + have side-effects or that could potentially leak sensitive information. + + + + + The function may call sqlite3_value_subtype() to inspect the sub-types of + its arguments. Specifying this flag makes no difference for scalar or + aggregate user functions. However, if it is not specified for a user-defined + window function, then any sub-types belonging to arguments passed to the + window function may be discarded before the window function is called + (i.e. sqlite3_value_subtype() will always return 0). + + + + + The function is unlikely to cause problems even if misused. An innocuous + function should have no side effects and should not depend on any values + other than its input parameters. The abs() function is an example of an + innocuous function. The load_extension() SQL function is not innocuous + because of its side effects. + + SQLITE_INNOCUOUS is similar to SQLITE_DETERMINISTIC, but is not exactly + the same. The random() function is an example of a function that is + innocuous but not deterministic. + + Some heightened security settings (SQLITE_DBCONFIG_TRUSTED_SCHEMA and + PRAGMA trusted_schema=OFF) disable the use of SQL functions inside views + and triggers and in schema structures such as CHECK constraints, DEFAULT + clauses, expression indexes, partial indexes, and generated columns unless + the function is tagged with SQLITE_INNOCUOUS. Most built-in functions are + innocuous. Developers are advised to avoid using the SQLITE_INNOCUOUS flag + for application-defined functions unless the function has been carefully + audited and found to be free of potentially security-adverse side-effects + and information-leaks. + + + + + This abstract class is designed to handle user-defined functions easily. An instance of the derived class is made for each + connection to the database. + + + Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access + to the underlying connection. This is necessary to deter implementers from thinking it would be a good idea to make database + calls during processing. + + It is important to distinguish between a per-connection instance, and a per-SQL statement context. One instance of this class + services all SQL statements being stepped through on that connection, and there can be many. One should never store per-statement + information in member variables of user-defined function classes. + + For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step. This data will + be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes. + + + + + The base connection this function is attached to + + + + + Internal array used to keep track of aggregate function context data + + + + + The connection flags associated with this object (this should be the + same value as the flags associated with the parent connection object). + + + + + Holds a reference to the callback function for user functions + + + + + Holds a reference to the callback function for stepping in an aggregate function + + + + + Holds a reference to the callback function for finalizing an aggregate function + + + + + Holds a reference to the callback function for getting a window function value + + + + + Holds a reference to the callback function for inverse in a window function + + + + + Holds a reference to the callback function for collating sequences + + + + + Raw parameter pointers for the current callback. Only valid during a callback. + + + + + Current context of the current callback. Only valid during a callback + + + + + This static dictionary contains all the registered (known) user-defined + functions declared using the proper attributes. The contained dictionary + values are always null and are not currently used. + + + + + Internal constructor, initializes the function's internal variables. + + + + + Constructs an instance of this class using the specified data-type + conversion parameters. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + Non-zero to create a UTF-16 data-type conversion context; otherwise, + a UTF-8 data-type conversion context will be created. + + + + + Disposes of any active contextData variables that were not automatically cleaned up. Sometimes this can happen if + someone closes the connection while a DataReader is open. + + + + + Placeholder for a user-defined disposal routine + + True if the object is being disposed explicitly + + + + Cleans up resources associated with the current instance. + + + + + Scalar functions override this method to do their magic. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The arguments for the command to process + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + Aggregate functions override this method to do their magic. + + + Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible. + + The arguments for the command to process + The 1-based step number. This is incrememted each time the step method is called. + A placeholder for implementers to store contextual data pertaining to the current context. + + + + Aggregate functions override this method to finish their aggregate processing. + + + If you implemented your aggregate function properly, + you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have + all the information you need in there to figure out what to return. + NOTE: It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will + be null. This can happen when no rows were returned. You can either return null, or 0 or some other custom return value + if that is the case. + + Your own assigned contextData, provided for you so you can return your final results. + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + + This method is only required window aggregate functions, not legacy aggregate function implementations. It is invoked to + return the current value of the aggregate. Unlike xFinal, the implementation should not delete any context. + + Your own assigned contextData, provided for you so you can return your final results. + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + + This method is only required for window aggregate functions, not legacy aggregate function implementations. It is invoked + to remove the oldest presently aggregated result of xStep from the current window. The function arguments, if any, are + those passed to xStep for the row being removed. + + The arguments for the command to process + The 1-based step number. This is incrememted each time the step method is called. + A placeholder for implementers to store contextual data pertaining to the current context. + + + + User-defined collating sequences override this method to provide a custom string sorting algorithm. + + The first string to compare. + The second strnig to compare. + 1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is less than param2. + + + + Gets and returns the sub-type associated with the specified function parameter. + + + The parameter index to check. + + + The sub-type associated with the specified function parameter. + + + + + Attempts to convert the specified function parameter to numeric and + then gets and returns the new type affinity associated with this + value. + + + The parameter index to check. + + + The new type affinity associated with this value. + + + + + Gets and returns the "no change" flag associated with the specified + function parameter. This method can only be used while within a call + to the method of a virtual + table implementation. + + + The parameter index to check. + + + Non-zero if the column associated with the function parameter is + unchanged in an UPDATE against a virtual table. + + + + + Gets and returns the "from bind" flag associated with the specified + function parameter. + + + The parameter index to check. + + + Non-zero if the function parameter at the specified index was + originally specified via a bound parameter. + + + + + Arranges for the specified sub-type value to be associated + with the function result. + + + The desired sub-type of the function result. + + + + + Performs some sanity checks on the index and how it relates + to the current function parameters. + + + The parameter index to be checked for bounds, etc. + + + + + Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The number of arguments + A pointer to the array of arguments + Pointer values for the arguments + An object array of the arguments once they've been converted to .NET values + + + + Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context. + + The context the return value applies to + The parameter to return to SQLite + + + + Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method. + WARNING: Must not throw exceptions. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method. + WARNING: Must not throw exceptions. + + + This function takes care of doing the lookups and getting the important information put together to call the Step() function. + That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so + binary searches can be done to find the data. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method. + WARNING: Must not throw exceptions. + + A raw context pointer + + + + An internal aggregate Value function callback, which wraps the context pointer and calls the virtual Value() method. + WARNING: Must not throw exceptions. + + A raw context pointer + + + + The internal aggregate Inverse function callback, which wraps the raw context pointer and calls the virtual Inverse() method. + WARNING: Must not throw exceptions. + + + This function takes care of doing the lookups and getting the important information put together to call the Inverse() function. + That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so + binary searches can be done to find the data. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + Using reflection, enumerate all assemblies in the current appdomain looking for classes that + have a SQLiteFunctionAttribute attribute, and registering them accordingly. + + + + + Manual method of registering a function. The type must still have the SQLiteFunctionAttributes in order to work + properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported. + + The type of the function to register + + + + Alternative method of registering a function. This method + does not require the specified type to be annotated with + . + + + The name of the function to register. + + + The number of arguments accepted by the function. + + + The type of SQLite function being registered (e.g. scalar, + aggregate, or collating sequence). + + + The that actually implements the function. + This will only be used if the + and parameters are null. + + + The to be used for all calls into the + , + , + and virtual methods. + + + The to be used for all calls into the + virtual method. This + parameter is only necessary for aggregate functions. + + + + + Alternative method of registering a function. This method + does not require the specified type to be annotated with + . + + + The name of the function to register. + + + The number of arguments accepted by the function. + + + The type of SQLite function being registered (e.g. scalar, + aggregate, or collating sequence). + + + The extra flags for the function being registered. + + + The that actually implements the function. + This will only be used if the + and parameters are null. + + + The to be used for all calls into the + , + , + and virtual methods. + + + The to be used for all calls into the + virtual method. This + parameter is only necessary for aggregate functions. + + + The to be used for all calls into the + virtual method. This + parameter is only necessary for window functions. + + + The to be used for all calls into the + virtual method. This + parameter is only necessary for window functions. + + + + + Replaces a registered function, disposing of the associated (old) + value if necessary. + + + The attribute that describes the function to replace. + + + The new value to use. + + + Non-zero if an existing registered function was replaced; otherwise, + zero. + + + + + Creates a instance based on the specified + . + + + The containing the metadata about + the function to create. + + + The created function -OR- null if the function could not be created. + + + Non-zero if the function was created; otherwise, zero. + + + + + Called by the SQLiteBase derived classes, this method binds all registered (known) user-defined functions to a connection. + It is done this way so that all user-defined functions will access the database using the same encoding scheme + as the connection (UTF-8 or UTF-16). + + + The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to + all the wrapped callback functions. The interop function uses it to map CDecl callbacks to StdCall callbacks. + + The base object on which the functions are to bind. + The flags associated with the parent connection object. + Returns a logical list of functions which the connection should retain until it is closed. + + + + Called by the SQLiteBase derived classes, this method unbinds all registered (known) + functions -OR- all previously bound user-defined functions from a connection. + + The base object from which the functions are to be unbound. + The flags associated with the parent connection object. + + Non-zero to unbind all registered (known) functions -OR- zero to unbind all functions + currently bound to the connection. + + Non-zero if all the specified user-defined functions were unbound. + + + + This function binds a user-defined function to a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined functions from a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert + strings and DateTime's into the current connection's encoding schema. + + + + + This type is used with the + method. + + + This is always the string literal "Invoke". + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This type is used with the + method. + + + This is always the string literal "Step". + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This type is used with the + method. + + + This is always the string literal "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This type is used with the + method. + + + This is always the string literal "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + This class implements a SQLite function using a . + All the virtual methods of the class are + implemented using calls to the , + , , + and strongly typed delegate types + or via the method. + The arguments are presented in the same order they appear in + the associated methods with one exception: + the first argument is the name of the virtual method being implemented. + + + + + This error message is used by the overridden virtual methods when + a required property (e.g. + or ) has not been + set. + + + + + This error message is used by the overridden + method when the result does not have a type of . + + + + + Constructs an empty instance of this class. + + + + + Constructs an instance of this class using the specified + as the + implementation. + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Constructs an instance of this class using the specified + as the + implementation. + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + The to be used for all calls into the + virtual method needed by the + base class. + + + The to be used for all calls into the + virtual method needed by the + base class. + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Invoke". + + + The original arguments received by the method. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Step". + + + The original arguments received by the method. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Updates the output arguments for the method, + using an of . The first + argument is always the literal string "Step". Currently, only the + parameter is updated. + + + The original arguments received by the method. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Value". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Inverse". + + + The original arguments received by the method. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Updates the output arguments for the method, + using an of . The first + argument is always the literal string "Inverse". Currently, only the + parameter is updated. + + + The original arguments received by the method. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + This virtual method is the implementation for scalar functions. + See the method for more + details. + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This virtual method is part of the implementation for collating + sequences. See the method + for more details. + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call. + + + User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays. + + + + + Obtains the collating sequence in effect for the given function. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + The type of user-defined function to declare + + + + + Scalar functions are designed to be called and return a result immediately. Examples include ABS(), Upper(), Lower(), etc. + + + + + Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data. + Examples include SUM(), COUNT(), AVG(), etc. + + + + + Collating sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause. Typically text in an ORDER BY is + sorted using a straight case-insensitive comparison function. Custom collating sequences can be used to alter the behavior of text sorting + in a user-defined manner. + + + + + Window functions are designed to apply aggregate and ranking functions over a particular set of rows. + + + + + An internal callback delegate declaration. + + Raw native context pointer for the user function. + Total number of arguments to the user function. + Raw native pointer to the array of raw native argument pointers. + + + + An internal final callback delegate declaration. + + Raw context pointer for the user function + + + + An internal destroy callback delegate declaration. + + Raw pointer to the data to free. + + + + Internal callback delegate for implementing collating sequences + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. + + + + The type of collating sequence + + + + + The built-in BINARY collating sequence + + + + + The built-in NOCASE collating sequence + + + + + The built-in REVERSE collating sequence + + + + + A custom user-defined collating sequence + + + + + The encoding type the collation sequence uses + + + + + The collation sequence is UTF8 + + + + + The collation sequence is UTF16 little-endian + + + + + The collation sequence is UTF16 big-endian + + + + + A struct describing the collating sequence a function is executing in + + + + + The name of the collating sequence + + + + + The type of collating sequence + + + + + The text encoding of the collation sequence + + + + + Context of the function that requested the collating sequence + + + + + Calls the base collating sequence to compare two strings + + The first string to compare + The second string to compare + -1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2 + + + + Calls the base collating sequence to compare two character arrays + + The first array to compare + The second array to compare + -1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2 + + + + A simple custom attribute to enable us to easily find user-defined functions in + the loaded assemblies and initialize them in SQLite as connections are made. + + + + + Default constructor, initializes the internal variables for the function. + + + + + Constructs an instance of this class. This sets the initial + , , and + properties to null. + + + The name of the function, as seen by the SQLite core library. + + + The number of arguments that the function will accept. + + + The type of function being declared. This will either be Scalar, + Aggregate, or Collation. + + + + + Constructs an instance of this class. This sets the initial + , , and + properties to null. + + + The name of the function, as seen by the SQLite core library. + + + The number of arguments that the function will accept. + + + The type of function being declared. This will either be Scalar, + Aggregate, or Collation. + + + The extra flags for the function being declared. + + + + + The function's name as it will be used in SQLite command text. + + + + + The number of arguments this function expects. -1 if the number of arguments is variable. + + + + + The type of function this implementation will be. + + + + + The flags for this function. + + + + + The object instance that describes the class + containing the implementation for the associated function. The value of + this property will not be used if either the or + property values are set to non-null. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + This class provides key info for a given SQLite statement. + + Providing key information for a given statement is non-trivial :( + + + + + + This function does all the nasty work at determining what keys need to be returned for + a given statement. + + + + + + + + Make sure all the subqueries are open and ready and sync'd with the current rowid + of the table they're supporting + + + + + Release any readers on any subqueries + + + + + Append all the columns we've added to the original query to the schema + + + + + + How many additional columns of keyinfo we're holding + + + + + Used to support CommandBehavior.KeyInfo + + + + + Used to keep track of the per-table RowId column metadata. + + + + + A single sub-query for a given table/database. + + + + + Event data for logging event handlers. + + + + + The error code. The type of this object value should be + or . + + + + + SQL statement text as the statement first begins executing + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + Should be null. + + The error code. The type of this object value should be + or . + + The error message, if any. + The extra data, if any. + + + + Raised when a log event occurs. + + The current connection + Event arguments of the trace + + + + Manages the SQLite custom logging functionality and the associated + callback for the whole process. + + + + + Maximum number of milliseconds a non-primary thread should wait + for the method to be completed. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + This will be signaled when the + method has been completed. + + + + + Member variable to store the AppDomain.DomainUnload event handler. + + + + + The default log event handler. + + + + + The log callback passed to native SQLite engine. This must live + as long as the SQLite library has a pointer to it. + + + + + The base SQLite object to interop with. + + + + + The number of times that the + method has been called when the logging subystem was actually + eligible to be initialized (i.e. without the "No_SQLiteLog" + environment variable being set). + + + + + The number of times that the method + has been called. + + + + + The number of times that the + method has been completed (i.e. without the "No_SQLiteLog" + environment variable being set). + + + + + This will be non-zero if an attempt was already made to initialize + the (managed) logging subsystem. + + + + + This will be non-zero if logging is currently enabled. + + + + + Creates the that will be used to + signal completion of the method, + if necessary, and then returns it. + + + The that will be used to signal + completion of the method. + + + + + Initializes the SQLite logging facilities. + + + + + Initializes the SQLite logging facilities -OR- waits for the + SQLite logging facilities to be initialized by another thread. + + + The name of the managed class that called this method. This + parameter may be null. + + + + + Initializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + Non-zero if everything was fully initialized successfully. + + + + + Uninitializes the SQLite logging facilities. + + + + + Uninitializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + Non-zero if the native SQLite library should be shutdown prior + to attempting to unset its logging callback. + + + + + Handles the AppDomain being unloaded. + + Should be null. + The data associated with this event. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The SQLite error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The integer error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + + The error code. The type of this object value should be + System.Int32 or SQLiteErrorCode. + + The message to be logged. + + + + Creates and initializes the default log event handler. + + + + + Adds the default log event handler to the list of handlers. + + + + + Removes the default log event handler from the list of handlers. + + + + + Internal proxy function that calls any registered application log + event handlers. + + WARNING: This method is used more-or-less directly by native code, + do not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + Default logger. Currently, uses the Trace class (i.e. sends events + to the current trace listeners, if any). + + Should be null. + The data associated with this event. + + + + Member variable to store the application log handler to call. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + For internal use only. + + + + + MetaDataCollections specific to SQLite + + + + + Returns a list of databases attached to the connection + + + + + Returns column information for the specified table + + + + + Returns index information for the optionally-specified table + + + + + Returns base columns for the given index + + + + + Returns the tables in the given catalog + + + + + Returns user-defined views in the given catalog + + + + + Returns underlying column information on the given view + + + + + Returns foreign key information for the given catalog + + + + + Returns the triggers on the database + + + + + SQLite implementation of DbParameter. + + + + + This value represents an "unknown" . + + + + + The command associated with this parameter. + + + + + The data type of the parameter + + + + + The version information for mapping the parameter + + + + + The value of the data in the parameter + + + + + The source column for the parameter + + + + + The column name + + + + + The data size, unused by SQLite + + + + + The database type name associated with this parameter, if any. + + + + + Constructor used when creating for use with a specific command. + + + The command associated with this parameter. + + + + + Default constructor + + + + + Constructs a named parameter given the specified parameter name + + The parameter name + + + + Constructs a named parameter given the specified parameter name and initial value + + The parameter name + The initial value of the parameter + + + + Constructs a named parameter of the specified type + + The parameter name + The datatype of the parameter + + + + Constructs a named parameter of the specified type and source column reference + + The parameter name + The data type + The source column + + + + Constructs a named parameter of the specified type, source column and row version + + The parameter name + The data type + The source column + The row version information + + + + Constructs an unnamed parameter of the specified data type + + The datatype of the parameter + + + + Constructs an unnamed parameter of the specified data type and sets the initial value + + The datatype of the parameter + The initial value of the parameter + + + + Constructs an unnamed parameter of the specified data type and source column + + The datatype of the parameter + The source column + + + + Constructs an unnamed parameter of the specified data type, source column and row version + + The data type + The source column + The row version information + + + + Constructs a named parameter of the specified type and size + + The parameter name + The data type + The size of the parameter + + + + Constructs a named parameter of the specified type, size and source column + + The name of the parameter + The data type + The size of the parameter + The source column + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + The source column + The row version information + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + Ignored + The source column + The row version information + The initial value to assign the parameter + + + + Constructs a named parameter, yet another flavor + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + The source column + The row version information + Whether or not this parameter is for comparing NULL's + The intial value to assign the parameter + + + + Constructs an unnamed parameter of the specified type and size + + The data type + The size of the parameter + + + + Constructs an unnamed parameter of the specified type, size, and source column + + The data type + The size of the parameter + The source column + + + + Constructs an unnamed parameter of the specified type, size, source column and row version + + The data type + The size of the parameter + The source column + The row version information + + + + Resets the DbType of the parameter so it can be inferred from the value + + + + + Clones a parameter + + A new, unassociated SQLiteParameter + + + + The command associated with this parameter. + + + + + Whether or not the parameter can contain a null value + + + + + Returns the datatype of the parameter + + + + + Supports only input parameters + + + + + Returns the parameter name + + + + + Returns the size of the parameter + + + + + Gets/sets the source column + + + + + Used by DbCommandBuilder to determine the mapping for nullable fields + + + + + Gets and sets the row version + + + + + Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given. + + + + + The database type name associated with this parameter, if any. + + + + + SQLite implementation of DbParameterCollection. + + + + + The underlying command to which this collection belongs + + + + + The internal array of parameters in this collection + + + + + Determines whether or not all parameters have been bound to their statement(s) + + + + + Initializes the collection + + The command to which the collection belongs + + + + Retrieves an enumerator for the collection + + An enumerator for the underlying array + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + The source column + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a named/unnamed parameter and its value to the parameter collection. + + Name of the parameter, or null to indicate an unnamed parameter + The initial value of the parameter + Returns the SQLiteParameter object created during the call. + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Clears the array and resets the collection + + + + + Determines if the named parameter exists in the collection + + The name of the parameter to check + True if the parameter is in the collection + + + + Determines if the parameter exists in the collection + + The SQLiteParameter to check + True if the parameter is in the collection + + + + Not implemented + + + + + + + Retrieve a parameter by name from the collection + + The name of the parameter to fetch + A DbParameter object + + + + Retrieves a parameter by its index in the collection + + The index of the parameter to retrieve + A DbParameter object + + + + Returns the index of a parameter given its name + + The name of the parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Returns the index of a parameter + + The parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Inserts a parameter into the array at the specified location + + The zero-based index to insert the parameter at + The parameter to insert + + + + Removes a parameter from the collection + + The parameter to remove + + + + Removes a parameter from the collection given its name + + The name of the parameter to remove + + + + Removes a parameter from the collection given its index + + The zero-based parameter index to remove + + + + Re-assign the named parameter to a new parameter object + + The name of the parameter to replace + The new parameter + + + + Re-assign a parameter at the specified index + + The zero-based index of the parameter to replace + The new parameter + + + + Un-binds all parameters from their statements + + + + + This function attempts to map all parameters in the collection to all statements in a Command. + Since named parameters may span multiple statements, this function makes sure all statements are bound + to the same named parameter. Unnamed parameters are bound in sequence. + + + + + Returns false + + + + + Returns false + + + + + Returns false + + + + + Returns null + + + + + Returns a count of parameters in the collection + + + + + Overloaded to specialize the return value of the default indexer + + Name of the parameter to get/set + The specified named SQLite parameter + + + + Overloaded to specialize the return value of the default indexer + + The index of the parameter to get/set + The specified SQLite parameter + + + + Represents a single SQL statement in SQLite. + + + + + The underlying SQLite object this statement is bound to + + + + + The command text of this SQL statement + + + + + The actual statement pointer + + + + + An index from which unnamed parameters begin + + + + + Names of the parameters as SQLite understands them to be + + + + + Parameters for this statement + + + + + Command this statement belongs to (if any) + + + + + The flags associated with the parent connection object. + + + + + Initializes the statement and attempts to get all information about parameters in the statement + + The base SQLite object + The flags associated with the parent connection object + The statement + The command text for this statement + The previous command in a multi-statement command + + + + Disposes and finalizes the statement + + + + + If the underlying database connection is open, fetches the number of changed rows + resulting from the most recent query; otherwise, does nothing. + + + The number of changes when true is returned. + Undefined if false is returned. + + + The read-only flag when true is returned. + Undefined if false is returned. + + Non-zero if the number of changed rows was fetched. + + + + Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to + this statement, and if so, keeps a reference to the parameter so it can be bound later. + + The parameter name to map + The parameter to assign it + + + + Bind all parameters, making sure the caller didn't miss any + + + + + This method attempts to query the database connection associated with + the statement in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Invokes the parameter binding callback configured for the database + type name associated with the specified column. If no parameter + binding callback is available for the database type name, do + nothing. + + + The index of the column being read. + + + The instance being bound to the + command. + + + Non-zero if the default handling for the parameter binding call + should be skipped (i.e. the parameter should not be bound at all). + Great care should be used when setting this to non-zero. + + + + + Perform the bind operation for an individual parameter + + The index of the parameter to bind + The parameter we're binding + + + + SQLite implementation of DbTransaction that does not support nested transactions. + + + + + Base class used by to implement DbTransaction for SQLite. + + + + + The connection to which this transaction is bound. + + + + + Matches the version of the connection. + + + + + The isolation level for this transaction. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Rolls back the active transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Checks the state of this transaction, optionally throwing an exception if a state + inconsistency is found. + + + Non-zero to throw an exception if a state inconsistency is found. + + + Non-zero if this transaction is valid; otherwise, false. + + + + + Gets the isolation level of the transaction. SQLite only supports Serializable transactions. + + + + + Returns the underlying connection to which this transaction applies. + + + + + Forwards to the local Connection property + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + SQLite implementation of DbTransaction that does support nested transactions. + + + + + The original transaction level for the associated connection + when this transaction was created (i.e. begun). + + + + + The SAVEPOINT name for this transaction, if any. This will + only be non-null if this transaction is a nested one. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Constructs the name of a new savepoint for this transaction. It + should only be called from the constructor of this class. + + + The name of the new savepoint -OR- null if it cannot be constructed. + + + + + This static class provides some methods that are shared between the + native library pre-loader and other classes. + + + + + This lock is used to protect the static and + fields. + + + + + This type is only present when running on Mono. + + + + + This type is only present when running on .NET Core. + + + + + Keeps track of whether we are running on Mono. Initially null, it is + set by the method on its first call. Later, it + is returned verbatim by the method. + + + + + Keeps track of whether we are running on .NET Core. Initially null, + it is set by the method on its first + call. Later, it is returned verbatim by the + method. + + + + + Keeps track of whether we successfully invoked the + method. Initially null, it is set by + the method on its first call. + + + + + Determines the ID of the current process. Only used for debugging. + + + The ID of the current process -OR- zero if it cannot be determined. + + + + + Determines whether or not this assembly is running on Mono. + + + Non-zero if this assembly is running on Mono. + + + + + Determines whether or not this assembly is running on .NET Core. + + + Non-zero if this assembly is running on .NET Core. + + + + + Resets the cached value for the "PreLoadSQLite_BreakIntoDebugger" + configuration setting. + + + + + If the "PreLoadSQLite_BreakIntoDebugger" configuration setting is + present (e.g. via the environment), give the interactive user an + opportunity to attach a debugger to the current process; otherwise, + do nothing. + + + + + Determines the ID of the current thread. Only used for debugging. + + + The ID of the current thread -OR- zero if it cannot be determined. + + + + + Determines if the specified flags are present within the flags + associated with the parent connection object. + + + The flags associated with the parent connection object. + + + The flags to check for. + + + Non-zero if the specified flag or flags were present; otherwise, + zero. + + + + + Determines if preparing a query should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the query preparation should be logged; otherwise, zero. + + + + + Determines if pre-parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the pre-parameter binding should be logged; otherwise, + zero. + + + + + Determines if parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the parameter binding should be logged; otherwise, zero. + + + + + Determines if an exception in a native callback should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be logged; otherwise, zero. + + + + + Determines if backup API errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the backup API error should be logged; otherwise, zero. + + + + + Determines if logging for the class is + disabled. + + + The flags associated with the parent connection object. + + + Non-zero if logging for the class is + disabled; otherwise, zero. + + + + + Determines if errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the error should be logged; + otherwise, zero. + + + + + Determines if exceptions should be + logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be + logged; otherwise, zero. + + + + + Determines if the current process is running on one of the Windows + [sub-]platforms. + + + Non-zero when running on Windows; otherwise, zero. + + + + + This is a wrapper around the + method. + On Mono, it has to call the method overload without the + parameter, due to a bug in Mono. + + + This is used for culture-specific formatting. + + + The format string. + + + An array the objects to format. + + + The resulting string. + + + + + This static class provides a thin wrapper around the native library + loading features of the underlying platform. + + + + + Attempts to load the specified native library file using the Win32 + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the Win32 API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file using the POSIX + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the POSIX API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This delegate is used to wrap the concept of loading a native + library, based on a file name, and returning the loaded module + handle. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This delegate is used to wrap the concept of querying the machine + name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This class declares P/Invoke methods to call native POSIX APIs. + + + + + For use with dlopen(), bind function calls lazily. + + + + + For use with dlopen(), bind function calls immediately. + + + + + For use with dlopen(), make symbols globally available. + + + + + For use with dlopen(), opposite of RTLD_GLOBAL, and the default. + + + + + For use with dlopen(), the defaults used by this class. + + + + + This is the P/Invoke method that wraps the native Unix uname + function. See the POSIX documentation for full details on what it + does. + + + Structure containing a preallocated byte buffer to fill with the + requested information. + + + Zero for success and less than zero upon failure. + + + + + This is the P/Invoke method that wraps the native Unix dlopen + function. See the POSIX documentation for full details on what it + does. + + + The name of the executable library. + + + This must be a combination of the individual bit flags RTLD_LAZY, + RTLD_NOW, RTLD_GLOBAL, and/or RTLD_LOCAL. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Unix dlclose + function. See the POSIX documentation for full details on what it + does. + + + The handle to the loaded native library. + + + Zero upon success -OR- non-zero on failure. + + + + + These are the characters used to separate the string fields within + the raw buffer returned by the P/Invoke method. + + + + + This method is a wrapper around the P/Invoke + method that extracts and returns the human readable strings from + the raw buffer. + + + This structure, which contains strings, will be filled based on the + data placed in the raw buffer returned by the + P/Invoke method. + + + Non-zero upon success; otherwise, zero. + + + + + This structure is used when running on POSIX operating systems + to store information about the current machine, including the + human readable name of the operating system as well as that of + the underlying hardware. + + + + + This structure is passed directly to the P/Invoke method to + obtain the information about the current machine, including + the human readable name of the operating system as well as + that of the underlying hardware. + + + + + This class declares P/Invoke methods to call native Win32 APIs. + + + + + This is the P/Invoke method that wraps the native Win32 LoadLibrary + function. See the MSDN documentation for full details on what it + does. + + + The name of the executable library. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Win32 GetSystemInfo + function. See the MSDN documentation for full details on what it + does. + + + The system information structure to be filled in by the function. + + + + + This enumeration contains the possible values for the processor + architecture field of the system information structure. + + + + + This structure contains information about the current computer. This + includes the processor type, page size, memory addresses, etc. + + + + + This class declares P/Invoke methods to call native SQLite APIs. + + + + + The file extension used for dynamic link libraries. + + + + + The primary file extension used for the XML configuration file. + + + + + The secondary file extension used for the XML configuration file. + + + + + This is the name of the primary XML configuration file specific + to the System.Data.SQLite assembly. + + + + + This is the name of the secondary XML configuration file specific + to the System.Data.SQLite assembly. + + + + + This is the XML configuratrion file token that will be replaced with + the qualified path to the directory containing the XML configuration + file. + + + + + This is the environment variable token that will be replaced with + the qualified path to the directory containing this assembly. + + + + + This is the environment variable token that will be replaced with an + abbreviation of the target framework attribute value associated with + this assembly. + + + + + This lock is used to protect the static _SQLiteNativeModuleFileName, + _SQLiteNativeModuleHandle, and processorArchitecturePlatforms fields. + + + + + This dictionary stores the mappings between target framework names + and their associated (NuGet) abbreviations. These mappings are only + used by the method. + + + + + This dictionary stores the mappings between processor architecture + names and platform names. These mappings are now used for two + purposes. First, they are used to determine if the assembly code + base should be used instead of the location, based upon whether one + or more of the named sub-directories exist within the assembly code + base. Second, they are used to assist in loading the appropriate + SQLite interop assembly into the current process. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable assembly directory. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable XML configuration file name. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + For now, this method simply calls the Initialize method. + + + + + Attempts to initialize this class by pre-loading the native SQLite + library for the processor architecture of the current process. + + + + + Combines two path strings. + + + The first path -OR- null. + + + The second path -OR- null. + + + The combined path string -OR- null if both of the original path + strings are null. + + + + + Resets the cached XML configuration file name value, thus forcing the + next call to method to rely + upon the method to fetch the + XML configuration file name. + + + + + Queries and returns the cached XML configuration file name for the + assembly containing the managed System.Data.SQLite components, if + available. If the cached XML configuration file name value is not + available, the method will + be used to obtain the XML configuration file name. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + Queries and returns the XML configuration file name for the assembly + containing the managed System.Data.SQLite components. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + If necessary, replaces all supported XML configuration file tokens + with their associated values. + + + The name of the XML configuration file being read. + + + A setting value read from the XML configuration file. + + + The value of the will all supported XML + configuration file tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the + specified XML configuration file. + + + The name of the XML configuration file to read. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + Non-zero to expand any environment variable references contained in + the setting value to be returned. This has no effect on the .NET + Compact Framework. + + + Non-zero to replace any special token references contained in the + setting value to be returned. This has no effect on the .NET Compact + Framework. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. + + + + + Attempts to determine the target framework attribute value that is + associated with the specified managed assembly, if applicable. + + + The managed assembly to read the target framework attribute value + from. + + + The value of the target framework attribute value for the specified + managed assembly -OR- null if it cannot be determined. If this + assembly was compiled with a version of the .NET Framework prior to + version 4.0, the value returned MAY reflect that version of the .NET + Framework instead of the one associated with the specified managed + assembly. + + + + + Accepts a long target framework attribute value and makes it into a + much shorter version, suitable for use with NuGet packages. + + + The long target framework attribute value to convert. + + + The short target framework attribute value -OR- null if it cannot + be determined or converted. + + + + + If necessary, replaces all supported environment variable tokens + with their associated values. + + + A setting value read from an environment variable. + + + The value of the will all supported + environment variable tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the XML + configuration file and/or the environment variables for the current + process and/or the current system, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. By default, all references to existing + environment variables will be expanded to their corresponding values + within the value to be returned unless either the "No_Expand" or + "No_Expand_" environment variable is set [to + anything]. + + + + + Resets the cached assembly directory value, thus forcing the next + call to method to rely + upon the method to fetch the + assembly directory. + + + + + Queries and returns the cached directory for the assembly currently + being executed, if available. If the cached assembly directory value + is not available, the method will + be used to obtain the assembly directory. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + Queries and returns the directory for the assembly currently being + executed. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + Determines the (possibly fully qualified) file name for the native + SQLite library that was loaded by this class. + + + The file name for the native SQLite library that was loaded by + this class -OR- null if its value cannot be determined. + + + + + The name of the environment variable containing the processor + architecture of the current process. + + + + + The native module file name for the native SQLite library or null. + + + + + The native module handle for the native SQLite library or the value + IntPtr.Zero. + + + + + Determines the base file name (without any directory information) + for the native SQLite library to be pre-loaded by this class. + + + The base file name for the native SQLite library to be pre-loaded by + this class -OR- null if its value cannot be determined. + + + + + Searches for the native SQLite library in the directory containing + the assembly currently being executed as well as the base directory + for the current application domain. + + + Upon success, this parameter will be modified to refer to the base + directory containing the native SQLite library. + + + Upon success, this parameter will be modified to refer to the name + of the immediate directory (i.e. the offset from the base directory) + containing the native SQLite library. + + + Upon success, this parameter will be modified to non-zero only if + the base directory itself should be allowed for loading the native + library. + + + Non-zero (success) if the native SQLite library was found; otherwise, + zero (failure). + + + + + Queries and returns the base directory of the current application + domain. + + + The base directory for the current application domain -OR- null if it + cannot be determined. + + + + + Determines if the dynamic link library file name requires a suffix + and adds it if necessary. + + + The original dynamic link library file name to inspect. + + + The dynamic link library file name, possibly modified to include an + extension. + + + + + Queries and returns the processor architecture of the current + process. + + + The processor architecture of the current process -OR- null if it + cannot be determined. + + + + + Given the processor architecture, returns the name of the platform. + + + The processor architecture to be translated to a platform name. + + + The platform name for the specified processor architecture -OR- null + if it cannot be determined. + + + + + Attempts to load the native SQLite library based on the specified + directory and processor architecture. + + + The base directory to use, null for default (the base directory of + the current application domain). This directory should contain the + processor architecture specific sub-directories. + + + The requested processor architecture, null for default (the + processor architecture of the current process). This caller should + almost always specify null for this parameter. + + + Non-zero indicates that the native SQLite library can be loaded + from the base directory itself. + + + The candidate native module file name to load will be stored here, + if necessary. + + + The native module handle as returned by LoadLibrary will be stored + here, if necessary. This value will be IntPtr.Zero if the call to + LoadLibrary fails. + + + Non-zero if the native module was loaded successfully; otherwise, + zero. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to <?xml version="1.0" standalone="yes"?> + <DocumentElement> + <DataTypes> + <TypeName>smallint</TypeName> + <ProviderDbType>10</ProviderDbType> + <ColumnSize>5</ColumnSize> + <DataType>System.Int16</DataType> + <CreateFormat>smallint</CreateFormat> + <IsAutoIncrementable>false</IsAutoIncrementable> + <IsCaseSensitive>false</IsCaseSensitive> + <IsFixedLength>true</IsFixedLength> + <IsFixedPrecisionScale>true</IsFixedPrecisionScale> + <IsLong>false</IsLong> + <IsNullable>true</ [rest of string was truncated]";. + + + + + Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE. + + + + + Looks up a localized string similar to <?xml version="1.0" encoding="utf-8" ?> + <DocumentElement> + <MetaDataCollections> + <CollectionName>MetaDataCollections</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataCollections> + <CollectionName>DataSourceInformation</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataC [rest of string was truncated]";. + + + + + This represents the status of an internal operation. These values + should not be seen outside of this module. + + + + + The operation was attempted and completed successfully. + + + + + The operation was attempted and failed in some way. + + + + + The operation has either not been started -OR- its status is + currently unknown. + + + + + The operation was either skipped -OR- will not be performed. + + + + + This is a console-mode program that demonstrates how to use the Harpy + "late-bound" licensing SDK in order to validate and verify a license + certificate against a given assembly. + + NOTE: This static class been adapted for use by the System.Data.SQLite + project. Its use is governed by a special license agreement and + this file may not be redistributed without the express written + permission of all parties from the copyright notices at the top + of this file. + + + + + + This interface represents a virtual table implementation written in + native code. + + + + + + int (*xCreate)(sqlite3 *db, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xCreate method is called to create a new instance of a virtual table + in response to a CREATE VIRTUAL TABLE statement. + If the xCreate method is the same pointer as the xConnect method, then the + virtual table is an eponymous virtual table. + If the xCreate method is omitted (if it is a NULL pointer) then the virtual + table is an eponymous-only virtual table. + + + The db parameter is a pointer to the SQLite database connection that + is executing the CREATE VIRTUAL TABLE statement. + The pAux argument is the copy of the client data pointer that was the + fourth argument to the sqlite3_create_module() or + sqlite3_create_module_v2() call that registered the + virtual table module. + The argv parameter is an array of argc pointers to null terminated strings. + The first string, argv[0], is the name of the module being invoked. The + module name is the name provided as the second argument to + sqlite3_create_module() and as the argument to the USING clause of the + CREATE VIRTUAL TABLE statement that is running. + The second, argv[1], is the name of the database in which the new virtual + table is being created. The database name is "main" for the primary database, or + "temp" for TEMP database, or the name given at the end of the ATTACH + statement for attached databases. The third element of the array, argv[2], + is the name of the new virtual table, as specified following the TABLE + keyword in the CREATE VIRTUAL TABLE statement. + If present, the fourth and subsequent strings in the argv[] array report + the arguments to the module name in the CREATE VIRTUAL TABLE statement. + + + The job of this method is to construct the new virtual table object + (an sqlite3_vtab object) and return a pointer to it in *ppVTab. + + + As part of the task of creating a new sqlite3_vtab structure, this + method must invoke sqlite3_declare_vtab() to tell the SQLite + core about the columns and datatypes in the virtual table. + The sqlite3_declare_vtab() API has the following prototype: + + + int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable) + + + The first argument to sqlite3_declare_vtab() must be the same + database connection pointer as the first parameter to this method. + The second argument to sqlite3_declare_vtab() must a zero-terminated + UTF-8 string that contains a well-formed CREATE TABLE statement that + defines the columns in the virtual table and their data types. + The name of the table in this CREATE TABLE statement is ignored, + as are all constraints. Only the column names and datatypes matter. + The CREATE TABLE statement string need not to be + held in persistent memory. The string can be + deallocated and/or reused as soon as the sqlite3_declare_vtab() + routine returns. + + + The xConnect method can also optionally request special features + for the virtual table by making one or more calls to + the sqlite3_vtab_config() interface: + + + int sqlite3_vtab_config(sqlite3 *db, int op, ...); + + + Calls to sqlite3_vtab_config() are optional. But for maximum + security, it is recommended that virtual table implementations + invoke "sqlite3_vtab_config(db, SQLITE_VTAB_DIRECTONLY)" if the + virtual table will not be used from inside of triggers or views. + + + The xCreate method need not initialize the pModule, nRef, and zErrMsg + fields of the sqlite3_vtab object. The SQLite core will take care of + that chore. + + + The xCreate should return SQLITE_OK if it is successful in + creating the new virtual table, or SQLITE_ERROR if it is not successful. + If not successful, the sqlite3_vtab structure must not be allocated. + An error message may optionally be returned in *pzErr if unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + If the xCreate method is omitted (left as a NULL pointer) then the + virtual table is an eponymous-only virtual table. New instances of + the virtual table cannot be created using CREATE VIRTUAL TABLE and the + virtual table can only be used via its module name. + Note that SQLite versions prior to 3.9.0 (2015-10-14) do not understand + eponymous-only virtual tables and will segfault if an attempt is made + to CREATE VIRTUAL TABLE on an eponymous-only virtual table because + the xCreate method was not checked for null. + + + If the xCreate method is the exact same pointer as the xConnect method, + that indicates that the virtual table does not need to initialize backing + store. Such a virtual table can be used as an eponymous virtual table + or as a named virtual table using CREATE VIRTUAL TABLE or both. + + + If a column datatype contains the special keyword "HIDDEN" + (in any combination of upper and lower case letters) then that keyword + it is omitted from the column datatype name and the column is marked + as a hidden column internally. + A hidden column differs from a normal column in three respects: + + + ]]> + ]]> Hidden columns are not listed in the dataset returned by + "PRAGMA table_info", + ]]>]]> Hidden columns are not included in the expansion of a "*" + expression in the result set of a SELECT, and + ]]>]]> Hidden columns are not included in the implicit column-list + used by an INSERT statement that lacks an explicit column-list. + ]]>]]> + + + For example, if the following SQL is passed to sqlite3_declare_vtab(): + + + CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden); + + + Then the virtual table would be created with two hidden columns, + and with datatypes of "VARCHAR(12)" and "INTEGER". + + + An example use of hidden columns can be seen in the FTS3 virtual + table implementation, where every FTS virtual table + contains an FTS hidden column that is used to pass information from the + virtual table into FTS auxiliary functions and to the FTS MATCH operator. + + + A virtual table that contains hidden columns can be used like + a table-valued function in the FROM clause of a SELECT statement. + The arguments to the table-valued function become constraints on + the HIDDEN columns of the virtual table. + + + For example, the "generate_series" extension (located in the + ext/misc/series.c + file in the source tree) + implements an eponymous virtual table with the following schema: + + + CREATE TABLE generate_series( + value, + start HIDDEN, + stop HIDDEN, + step HIDDEN + ); + + + The sqlite3_module.xBestIndex method in the implementation of this + table checks for equality constraints against the HIDDEN columns, and uses + those as input parameters to determine the range of integer "value" outputs + to generate. Reasonable defaults are used for any unconstrained columns. + For example, to list all integers between 5 and 50: + + + SELECT value FROM generate_series(5,50); + + + The previous query is equivalent to the following: + + + SELECT value FROM generate_series WHERE start=5 AND stop=50; + + + Arguments on the virtual table name are matched to hidden columns + in order. The number of arguments can be less than the + number of hidden columns, in which case the latter hidden columns are + unconstrained. However, an error results if there are more arguments + than there are hidden columns in the virtual table. + + + Beginning with SQLite version 3.14.0 (2016-08-08), + the CREATE TABLE statement that + is passed into sqlite3_declare_vtab() may contain a WITHOUT ROWID clause. + This is useful for cases where the virtual table rows + cannot easily be mapped into unique integers. A CREATE TABLE + statement that includes WITHOUT ROWID must define one or more columns as + the PRIMARY KEY. Every column of the PRIMARY KEY must individually be + NOT NULL and all columns for each row must be collectively unique. + + + Note that SQLite does not enforce the PRIMARY KEY for a WITHOUT ROWID + virtual table. Enforcement is the responsibility of the underlying + virtual table implementation. But SQLite does assume that the PRIMARY KEY + constraint is valid - that the identified columns really are UNIQUE and + NOT NULL - and it uses that assumption to optimize queries against the + virtual table. + + + The rowid column is not accessible on a + WITHOUT ROWID virtual table (of course). + + + The xUpdate method was originally designed around having a + ROWID as a single value. The xUpdate method has been expanded to + accommodate an arbitrary PRIMARY KEY in place of the ROWID, but the + PRIMARY KEY must still be only one column. For this reason, SQLite + will reject any WITHOUT ROWID virtual table that has more than one + PRIMARY KEY column and a non-NULL xUpdate method. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + int (*xConnect)(sqlite3*, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xConnect method is very similar to xCreate. + It has the same parameters and constructs a new sqlite3_vtab structure + just like xCreate. + And it must also call sqlite3_declare_vtab() like xCreate. It + should also make all of the same sqlite3_vtab_config() calls as + xCreate. + + + The difference is that xConnect is called to establish a new + connection to an existing virtual table whereas xCreate is called + to create a new virtual table from scratch. + + + The xCreate and xConnect methods are only different when the + virtual table has some kind of backing store that must be initialized + the first time the virtual table is created. The xCreate method creates + and initializes the backing store. The xConnect method just connects + to an existing backing store. When xCreate and xConnect are the same, + the table is an eponymous virtual table. + + + As an example, consider a virtual table implementation that + provides read-only access to existing comma-separated-value (CSV) + files on disk. There is no backing store that needs to be created + or initialized for such a virtual table (since the CSV files already + exist on disk) so the xCreate and xConnect methods will be identical + for that module. + + + Another example is a virtual table that implements a full-text index. + The xCreate method must create and initialize data structures to hold + the dictionary and posting lists for that index. The xConnect method, + on the other hand, only has to locate and use an existing dictionary + and posting lists that were created by a prior xCreate call. + + + The xConnect method must return SQLITE_OK if it is successful + in creating the new virtual table, or SQLITE_ERROR if it is not + successful. If not successful, the sqlite3_vtab structure must not be + allocated. An error message may optionally be returned in *pzErr if + unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + The xConnect method is required for every virtual table implementation, + though the xCreate and xConnect pointers of the sqlite3_module object + may point to the same function if the virtual table does not need to + initialize backing store. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + SQLite uses the xBestIndex method of a virtual table module to determine + the best way to access the virtual table. + The xBestIndex method has a prototype like this: + + + int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*); + + + The SQLite core communicates with the xBestIndex method by filling + in certain fields of the sqlite3_index_info structure and passing a + pointer to that structure into xBestIndex as the second parameter. + The xBestIndex method fills out other fields of this structure which + forms the reply. The sqlite3_index_info structure looks like this: + + + struct sqlite3_index_info { + /* Inputs */ + const int nConstraint; /* Number of entries in aConstraint */ + const struct sqlite3_index_constraint { + int iColumn; /* Column constrained. -1 for ROWID */ + unsigned char op; /* Constraint operator */ + unsigned char usable; /* True if this constraint is usable */ + int iTermOffset; /* Used internally - xBestIndex should ignore */ + } *const aConstraint; /* Table of WHERE clause constraints */ + const int nOrderBy; /* Number of terms in the ORDER BY clause */ + const struct sqlite3_index_orderby { + int iColumn; /* Column number */ + unsigned char desc; /* True for DESC. False for ASC. */ + } *const aOrderBy; /* The ORDER BY clause */ + /* Outputs */ + struct sqlite3_index_constraint_usage { + int argvIndex; /* if >0, constraint is part of argv to xFilter */ + unsigned char omit; /* Do not code a test for this constraint */ + } *const aConstraintUsage; + int idxNum; /* Number used to identify the index */ + char *idxStr; /* String, possibly obtained from sqlite3_malloc */ + int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */ + int orderByConsumed; /* True if output is already ordered */ + double estimatedCost; /* Estimated cost of using this index */ + ]]>/* Fields below are only available in SQLite 3.8.2 and later */]]> + sqlite3_int64 estimatedRows; /* Estimated number of rows returned */ + ]]>/* Fields below are only available in SQLite 3.9.0 and later */]]> + int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */ + ]]>/* Fields below are only available in SQLite 3.10.0 and later */]]> + sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */ + }; + + + Note the warnings on the "estimatedRows", "idxFlags", and colUsed fields. + These fields were added with SQLite versions 3.8.2, 3.9.0, and 3.10.0, respectively. + Any extension that reads or writes these fields must first check that the + version of the SQLite library in use is greater than or equal to appropriate + version - perhaps comparing the value returned from sqlite3_libversion_number() + against constants 3008002, 3009000, and/or 3010000. The result of attempting + to access these fields in an sqlite3_index_info structure created by an + older version of SQLite are undefined. + + + In addition, there are some defined constants: + + + #define SQLITE_INDEX_CONSTRAINT_EQ 2 + #define SQLITE_INDEX_CONSTRAINT_GT 4 + #define SQLITE_INDEX_CONSTRAINT_LE 8 + #define SQLITE_INDEX_CONSTRAINT_LT 16 + #define SQLITE_INDEX_CONSTRAINT_GE 32 + #define SQLITE_INDEX_CONSTRAINT_MATCH 64 + #define SQLITE_INDEX_CONSTRAINT_LIKE 65 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_GLOB 66 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_NE 68 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_LIMIT 73 /* 3.38.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_OFFSET 74 /* 3.38.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* 3.25.0 and later */ + #define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */ + + + Use the sqlite3_vtab_collation() interface to find the name of + the collating sequence that should be used when evaluating the i-th + constraint: + + + const char *sqlite3_vtab_collation(sqlite3_index_info*, int i); + + + The SQLite core calls the xBestIndex method when it is compiling a query + that involves a virtual table. In other words, SQLite calls this method + when it is running sqlite3_prepare() or the equivalent. + By calling this method, the + SQLite core is saying to the virtual table that it needs to access + some subset of the rows in the virtual table and it wants to know the + most efficient way to do that access. The xBestIndex method replies + with information that the SQLite core can then use to conduct an + efficient search of the virtual table. + + + While compiling a single SQL query, the SQLite core might call + xBestIndex multiple times with different settings in sqlite3_index_info. + The SQLite core will then select the combination that appears to + give the best performance. + + + Before calling this method, the SQLite core initializes an instance + of the sqlite3_index_info structure with information about the + query that it is currently trying to process. This information + derives mainly from the WHERE clause and ORDER BY or GROUP BY clauses + of the query, but also from any ON or USING clauses if the query is a + join. The information that the SQLite core provides to the xBestIndex + method is held in the part of the structure that is marked as "Inputs". + The "Outputs" section is initialized to zero. + + + The information in the sqlite3_index_info structure is ephemeral + and may be overwritten or deallocated as soon as the xBestIndex method + returns. If the xBestIndex method needs to remember any part of the + sqlite3_index_info structure, it should make a copy. Care must be + take to store the copy in a place where it will be deallocated, such + as in the idxStr field with needToFreeIdxStr set to 1. + + + Note that xBestIndex will always be called before xFilter, since + the idxNum and idxStr outputs from xBestIndex are required inputs to + xFilter. However, there is no guarantee that xFilter will be called + following a successful xBestIndex. + + + The xBestIndex method is required for every virtual table implementation. + + + The main thing that the SQLite core is trying to communicate to + the virtual table is the constraints that are available to limit + the number of rows that need to be searched. The aConstraint[] array + contains one entry for each constraint. There will be exactly + nConstraint entries in that array. + + + Each constraint will usually correspond to a term in the WHERE clause + or in a USING or ON clause that is of the form + + + column OP EXPR + + + Where "column" is a column in the virtual table, OP is an operator + like "=" or "<", and EXPR is an arbitrary expression. So, for example, + if the WHERE clause contained a term like this: + + + a = 5 + + + Then one of the constraints would be on the "a" column with + operator "=" and an expression of "5". Constraints need not have a + literal representation of the WHERE clause. The query optimizer might + make transformations to the + WHERE clause in order to extract as many constraints + as it can. So, for example, if the WHERE clause contained something + like this: + + + x BETWEEN 10 AND 100 AND 999>y + + + The query optimizer might translate this into three separate constraints: + + + x >= 10 + x <= 100 + y < 999 + + + For each such constraint, the aConstraint[].iColumn field indicates which + column appears on the left-hand side of the constraint. + The first column of the virtual table is column 0. + The rowid of the virtual table is column -1. + The aConstraint[].op field indicates which operator is used. + The SQLITE_INDEX_CONSTRAINT_* constants map integer constants + into operator values. + Columns occur in the order they were defined by the call to + sqlite3_declare_vtab() in the xCreate or xConnect method. + Hidden columns are counted when determining the column index. + + + If the xFindFunction() method for the virtual table is defined, and + if xFindFunction() sometimes returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, then the constraints might also be of the form: + + + FUNCTION( column, EXPR) + + + In this case the aConstraint[].op value is the same as the value + returned by xFindFunction() for FUNCTION. + + + The aConstraint[] array contains information about all constraints + that apply to the virtual table. But some of the constraints might + not be usable because of the way tables are ordered in a join. + The xBestIndex method must therefore only consider constraints + that have an aConstraint[].usable flag which is true. + + + In addition to WHERE clause constraints, the SQLite core also + tells the xBestIndex method about the ORDER BY clause. + (In an aggregate query, the SQLite core might put in GROUP BY clause + information in place of the ORDER BY clause information, but this fact + should not make any difference to the xBestIndex method.) + If all terms of the ORDER BY clause are columns in the virtual table, + then nOrderBy will be the number of terms in the ORDER BY clause + and the aOrderBy[] array will identify the column for each term + in the order by clause and whether or not that column is ASC or DESC. + + + In SQLite version 3.10.0 (2016-01-06) and later, + the colUsed field is available + to indicate which fields of the virtual table are actually used by the + statement being prepared. If the lowest bit of colUsed is set, that + means that the first column is used. The second lowest bit corresponds + to the second column. And so forth. If the most significant bit of + colUsed is set, that means that one or more columns other than the + first 63 columns are used. If column usage information is needed by the + xFilter method, then the required bits must be encoded into either + the output idxNum field or idxStr content. + + + For the LIKE, GLOB, REGEXP, and MATCH operators, the + aConstraint[].iColumn value is the virtual table column that + is the left operand of the operator. However, if these operators + are expressed as function calls instead of operators, then + the aConstraint[].iColumn value references the virtual table + column that is the second argument to that function: + + + LIKE(EXPR, column)]]> + GLOB(EXPR, column)]]> + REGEXP(EXPR, column)]]> + MATCH(EXPR, column)]]> + + + Hence, as far as the xBestIndex() method is concerned, the following + two forms are equivalent: + + + column LIKE EXPR]]> + LIKE(EXPR,column) + + + This special behavior of looking at the second argument of a function + only occurs for the LIKE, GLOB, REGEXP, and MATCH functions. For all + other functions, the aConstraint[].iColumn value references the first + argument of the function. + + + This special feature of LIKE, GLOB, REGEXP, and MATCH does not + apply to the xFindFunction() method, however. The + xFindFunction() method always keys off of the left operand of an + LIKE, GLOB, REGEXP, or MATCH operator but off of the first argument + to function-call equivalents of those operators. + + + When aConstraint[].op is one of SQLITE_INDEX_CONSTRAINT_LIMIT or + SQLITE_INDEX_CONSTRAINT_OFFSET, that indicates that there is a + LIMIT or OFFSET clause on the SQL query statement that is using + the virtual table. The LIMIT and OFFSET operators have no + left operand, and so when aConstraint[].op is one of + SQLITE_INDEX_CONSTRAINT_LIMIT or SQLITE_INDEX_CONSTRAINT_OFFSET + then the aConstraint[].iColumn value is meaningless and should + not be used. + + + The sqlite3_vtab_rhs_value() interface can be used to try to + access the right-hand operand of a constraint. However, the value + of a right-hand operator might not be known at the time that + the xBestIndex method is run, so the sqlite3_vtab_rhs_value() + call might not be successful. Usually the right operand of a + constraint is only available to xBestIndex if it is coded as + a literal value in the input SQL. If the right operand is + coded as an expression or a host parameter, it probably will + not be accessible to xBestIndex. Some operators, such as + SQLITE_INDEX_CONSTRAINT_ISNULL and + SQLITE_INDEX_CONSTRAINT_ISNOTNULL have no right-hand operand. + The sqlite3_vtab_rhs_value() interface always returns + SQLITE_NOTFOUND for such operators. + + + Given all of the information above, the job of the xBestIndex + method it to figure out the best way to search the virtual table. + + + The xBestIndex method conveys an indexing strategy to the xFilter + method through the idxNum and idxStr fields. The idxNum value and + idxStr string content are arbitrary as far as the SQLite core is + concerned and can have any meaning as long as xBestIndex and xFilter + agree on what that meaning is. The SQLite core just copies the + information from xBestIndex through to the xFilter method, assuming + only that the char sequence referenced via idxStr is NUL terminated. + + + The idxStr value may be a string obtained from an SQLite + memory allocation function such as sqlite3_mprintf(). + If this is the case, then the needToFreeIdxStr flag must be set to + true so that the SQLite core will know to call sqlite3_free() on + that string when it has finished with it, and thus avoid a memory leak. + The idxStr value may also be a static constant string, in which case + the needToFreeIdxStr boolean should remain false. + + + The estimatedCost field should be set to the estimated number + of disk access operations required to execute this query against + the virtual table. The SQLite core will often call xBestIndex + multiple times with different constraints, obtain multiple cost + estimates, then choose the query plan that gives the lowest estimate. + The SQLite core initializes estimatedCost to a very large value + prior to invoking xBestIndex, so if xBestIndex determines that the + current combination of parameters is undesirable, it can leave the + estimatedCost field unchanged to discourage its use. + + + If the current version of SQLite is 3.8.2 or greater, the estimatedRows + field may be set to an estimate of the number of rows returned by the + proposed query plan. If this value is not explicitly set, the default + estimate of 25 rows is used. + + + If the current version of SQLite is 3.9.0 or greater, the idxFlags field + may be set to SQLITE_INDEX_SCAN_UNIQUE to indicate that the virtual table + will return only zero or one rows given the input constraints. Additional + bits of the idxFlags field might be understood in later versions of SQLite. + + + The aConstraintUsage[] array contains one element for each of + the nConstraint constraints in the inputs section of the + sqlite3_index_info structure. + The aConstraintUsage[] array is used by xBestIndex to tell the + core how it is using the constraints. + + + The xBestIndex method may set aConstraintUsage[].argvIndex + entries to values greater than zero. + Exactly one entry should be set to 1, another to 2, another to 3, + and so forth up to as many or as few as the xBestIndex method wants. + The EXPR of the corresponding constraints will then be passed + in as the argv[] parameters to xFilter. + + + For example, if the aConstraint[3].argvIndex is set to 1, then + when xFilter is called, the argv[0] passed to xFilter will have + the EXPR value of the aConstraint[3] constraint. + + + By default, the SQLite generates bytecode that will double + checks all constraints on each row of the virtual table to verify + that they are satisfied. If the virtual table can guarantee + that a constraint will always be satisfied, it can try to + suppress that double-check by setting aConstraintUsage[].omit. + However, with some exceptions, this is only a hint and + there is no guarantee that the redundant check of the constraint + will be suppressed. Key points: + + ]]> + ]]> + The omit flag is only honored if the argvIndex value for the + constraint is greater than 0 and less than or equal to 16. + Constraint checking is never suppressed for constraints + that do not pass their right operand into the xFilter method. + The current implementation is only able to suppress redundant + constraint checking for the first 16 values passed to xFilter, + though that limitation might be increased in future releases. + ]]>]]> + The omit flag is always honored for SQLITE_INDEX_CONSTRAINT_OFFSET + constraints as long as argvIndex is greater than 0. Setting the + omit flag on an SQLITE_INDEX_CONSTRAINT_OFFSET constraint indicates + to SQLite that the virtual table will itself suppress the first N + rows of output, where N is the right operand of the OFFSET operator. + If the virtual table implementation sets omit on an + SQLITE_INDEX_CONSTRAINT_OFFSET constraint but then fails to suppress + the first N rows of output, an incorrect answer will result from + the overall query. + ]]>]]> + + If the virtual table will output rows in the order specified by + the ORDER BY clause, then the orderByConsumed flag may be set to + true. If the output is not automatically in the correct order + then orderByConsumed must be left in its default false setting. + This will indicate to the SQLite core that it will need to do a + separate sorting pass over the data after it comes out of the virtual table. + Setting orderByConsumed is an optimization. A query will always + get the correct answer if orderByConsumed is left at its default + value (0). Unnecessary sort operations might be avoided resulting + in a faster query if orderByConsumed is set, but setting + orderByConsumed incorrectly can result in an incorrect answer. + It is suggested that new virtual table implementations leave + the orderByConsumed value unset initially, and then after everything + else is known to be working correctly, go back and attempt to + optimize by setting orderByConsumed where appropriate. + + + Sometimes the orderByConsumed flag can be safely set even if + the outputs from the virtual table are not strictly in the order + specified by nOrderBy and aOrderBy. If the + sqlite3_vtab_distinct() interface returns 1 or 2, that indicates + that the ordering can be relaxed. See the documentation on + sqlite3_vtab_distinct() for further information. + + + The xBestIndex method should return SQLITE_OK on success. If any + kind of fatal error occurs, an appropriate error code (ex: SQLITE_NOMEM) + should be returned instead. + + + If xBestIndex returns SQLITE_CONSTRAINT, that does not indicate an + error. Rather, SQLITE_CONSTRAINT indicates that the particular combination + of input parameters specified is insufficient for the virtual table + to do its job. + This is logically the same as setting the estimatedCost to infinity. + If every call to xBestIndex for a particular query plan returns + SQLITE_CONSTRAINT, that means there is no way for the virtual table + to be safely used, and the sqlite3_prepare() call will fail with + a "no query solution" error. + + + The SQLITE_CONSTRAINT return from xBestIndex + is useful for table-valued functions that + have required parameters. If the aConstraint[].usable field is false + for one of the required parameter, then the xBestIndex method should + return SQLITE_CONSTRAINT. If a required field does not appear in + the aConstraint[] array at all, that means that the corresponding + parameter is omitted from the input SQL. In that case, xBestIndex + should set an error message in pVTab->zErrMsg and return + SQLITE_ERROR. To summarize: + + ]]> + ]]> + The aConstraint[].usable value for a required parameter is + false return SQLITE_CONSTRAINT. + ]]>]]> + A required parameter does not appears anywhere in + the aConstraint[] array + Set an error message in pVTab->zErrMsg and return + SQLITE_ERROR + ]]>]]> + + The following example will better illustrate the use of SQLITE_CONSTRAINT + as a return value from xBestIndex: + + + SELECT * FROM realtab, tablevaluedfunc(realtab.x); + + + Assuming that the first hidden column of "tablevaluedfunc" is "param1", + the query above is semantically equivalent to this: + + + SELECT * FROM realtab, tablevaluedfunc + WHERE tablevaluedfunc.param1 = realtab.x; + + + The query planner must decide between many possible implementations + of this query, but two plans in particular are of note: + + ]]> + ]]>Scan all + rows of realtab and for each row, find rows in tablevaluedfunc where + param1 is equal to realtab.x + ]]>]]>Scan all rows of tablevalued func and for each row find rows + in realtab where x is equal to tablevaluedfunc.param1. + ]]>]]> + + The xBestIndex method will be invoked once for each of the potential + plans above. For plan 1, the aConstraint[].usable flag for the + SQLITE_CONSTRAINT_EQ constraint on the param1 column will be true because + the right-hand side value for the "param1 = ?" constraint will be known, + since it is determined by the outer realtab loop. + But for plan 2, the aConstraint[].usable flag for "param1 = ?" will be false + because the right-hand side value is determined by an inner loop and is thus + an unknown quantity. Because param1 is a required input to the table-valued + functions, the xBestIndex method should return SQLITE_CONSTRAINT when presented + with plan 2, indicating that a required input is missing. This forces the + query planner to select plan 1. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_index_info structure. + + + A standard SQLite return code. + + + + + + int (*xDisconnect)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table. + Only the sqlite3_vtab object is destroyed. + The virtual table is not destroyed and any backing store + associated with the virtual table persists. + + This method undoes the work of xConnect. + + This method is a destructor for a connection to the virtual table. + Contrast this method with xDestroy. The xDestroy is a destructor + for the entire virtual table. + + + The xDisconnect method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xDestroy)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table, just like + the xDisconnect method, and it also destroys the underlying + table implementation. This method undoes the work of xCreate. + + + The xDisconnect method is called whenever a database connection + that uses a virtual table is closed. The xDestroy method is only + called when a DROP TABLE statement is executed against the virtual table. + + + The xDestroy method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor); + + + The xOpen method creates a new cursor used for accessing (read and/or + writing) a virtual table. A successful invocation of this method + will allocate the memory for the sqlite3_vtab_cursor (or a subclass), + initialize the new object, and make *ppCursor point to the new object. + The successful call then returns SQLITE_OK. + + + For every successful call to this method, the SQLite core will + later invoke the xClose method to destroy + the allocated cursor. + + + The xOpen method need not initialize the pVtab field of the + sqlite3_vtab_cursor structure. The SQLite core will take care + of that chore automatically. + + + A virtual table implementation must be able to support an arbitrary + number of simultaneously open cursors. + + + When initially opened, the cursor is in an undefined state. + The SQLite core will invoke the xFilter method + on the cursor prior to any attempt to position or read from the cursor. + + + The xOpen method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab derived structure. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xClose)(sqlite3_vtab_cursor*); + + + The xClose method closes a cursor previously opened by + xOpen. + The SQLite core will always call xClose once for each cursor opened + using xOpen. + + + This method must release all resources allocated by the + corresponding xOpen call. The routine will not be called again even if it + returns an error. The SQLite core will not use the + sqlite3_vtab_cursor again after it has been closed. + + + The xClose method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr, + int argc, sqlite3_value **argv); + + + This method begins a search of a virtual table. + The first argument is a cursor opened by xOpen. + The next two arguments define a particular search index previously + chosen by xBestIndex. The specific meanings of idxNum and idxStr + are unimportant as long as xFilter and xBestIndex agree on what + that meaning is. + + + The xBestIndex function may have requested the values of + certain expressions using the aConstraintUsage[].argvIndex values + of the sqlite3_index_info structure. + Those values are passed to xFilter using the argc and argv parameters. + + + If the virtual table contains one or more rows that match the + search criteria, then the cursor must be left point at the first row. + Subsequent calls to xEof must return false (zero). + If there are no rows match, then the cursor must be left in a state + that will cause the xEof to return true (non-zero). + The SQLite engine will use + the xColumn and xRowid methods to access that row content. + The xNext method will be used to advance to the next row. + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xFilter method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Number used to help identify the selected index. + + + The native pointer to the UTF-8 encoded string containing the + string used to help identify the selected index. + + + The number of native pointers to sqlite3_value structures specified + in . + + + An array of native pointers to sqlite3_value structures containing + filtering criteria for the selected index. + + + A standard SQLite return code. + + + + + + int (*xNext)(sqlite3_vtab_cursor*); + + + The xNext method advances a virtual table cursor + to the next row of a result set initiated by xFilter. + If the cursor is already pointing at the last row when this + routine is called, then the cursor no longer points to valid + data and a subsequent call to the xEof method must return true (non-zero). + If the cursor is successfully advanced to another row of content, then + subsequent calls to xEof must return false (zero). + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xNext method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xEof)(sqlite3_vtab_cursor*); + + + The xEof method must return false (zero) if the specified cursor + currently points to a valid row of data, or true (non-zero) otherwise. + This method is called by the SQL engine immediately after each + xFilter and xNext invocation. + + + The xEof method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Non-zero if no more rows are available; zero otherwise. + + + + + + int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N); + + + The SQLite core invokes this method in order to find the value for + the N-th column of the current row. N is zero-based so the first column + is numbered 0. + The xColumn method may return its result back to SQLite using one of the + following interface: + + + ]]> + ]]> sqlite3_result_blob() + ]]>]]> sqlite3_result_double() + ]]>]]> sqlite3_result_int() + ]]>]]> sqlite3_result_int64() + ]]>]]> sqlite3_result_null() + ]]>]]> sqlite3_result_text() + ]]>]]> sqlite3_result_text16() + ]]>]]> sqlite3_result_text16le() + ]]>]]> sqlite3_result_text16be() + ]]>]]> sqlite3_result_zeroblob() + ]]>]]> + + + If the xColumn method implementation calls none of the functions above, + then the value of the column defaults to an SQL NULL. + + + To raise an error, the xColumn method should use one of the result_text() + methods to set the error message text, then return an appropriate + error code. The xColumn method must return SQLITE_OK on success. + + + The xColumn method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_context structure to be used + for returning the specified column value to the SQLite core + library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + + int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid); + + + A successful invocation of this method will cause *pRowid to be + filled with the rowid of row that the + virtual table cursor pCur is currently pointing at. + This method returns SQLITE_OK on success. + It returns an appropriate error code on failure. + + + The xRowid method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + + int (*xUpdate)( + sqlite3_vtab *pVTab, + int argc, + sqlite3_value **argv, + sqlite_int64 *pRowid + ); + + + All changes to a virtual table are made using the xUpdate method. + This one method can be used to insert, delete, or update. + + + The argc parameter specifies the number of entries in the argv array. + The value of argc will be 1 for a pure delete operation or N+2 for an insert + or replace or update where N is the number of columns in the table. + In the previous sentence, N includes any hidden columns. + + + Every argv entry will have a non-NULL value in C but may contain the + SQL value NULL. In other words, it is always true that + ]]>argv[i]!=0]]> for ]]>i]]> between 0 and ]]>argc-1]]>. + However, it might be the case that + ]]>sqlite3_value_type(argv[i])==SQLITE_NULL]]>. + + + The argv[0] parameter is the rowid of a row in the virtual table + to be deleted. If argv[0] is an SQL NULL, then no deletion occurs. + + + The argv[1] parameter is the rowid of a new row to be inserted + into the virtual table. If argv[1] is an SQL NULL, then the implementation + must choose a rowid for the newly inserted row. Subsequent argv[] + entries contain values of the columns of the virtual table, in the + order that the columns were declared. The number of columns will + match the table declaration that the xConnect or xCreate method made + using the sqlite3_declare_vtab() call. All hidden columns are included. + + + When doing an insert without a rowid (argc>1, argv[1] is an SQL NULL), + on a virtual table that uses ROWID (but not on a WITHOUT ROWID virtual table), + the implementation must set *pRowid to the rowid of the newly inserted row; + this will become the value returned by the sqlite3_last_insert_rowid() + function. Setting this value in all the other cases is a harmless no-op; + the SQLite engine ignores the *pRowid return value if argc==1 or + argv[1] is not an SQL NULL. + + + Each call to xUpdate will fall into one of cases shown below. + Not that references to ]]>argv[i]]]> mean the SQL value + held within the argv[i] object, not the argv[i] + object itself. + + + ]]> + ]]>]]>argc = 1 ]]> argv[0] ≠ NULL]]> + ]]>]]> + DELETE: The single row with rowid or PRIMARY KEY equal to argv[0] is deleted. + No insert occurs. + ]]>]]>]]>argc > 1 ]]> argv[0] = NULL]]> + ]]>]]> + INSERT: A new row is inserted with column values taken from + argv[2] and following. In a rowid virtual table, if argv[1] is an SQL NULL, + then a new unique rowid is generated automatically. The argv[1] will be NULL + for a WITHOUT ROWID virtual table, in which case the implementation should + take the PRIMARY KEY value from the appropriate column in argv[2] and following. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] = argv[1]]]> + ]]>]]> + UPDATE: + The row with rowid or PRIMARY KEY argv[0] is updated with new values + in argv[2] and following parameters. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] ≠ argv[1]]]> + ]]>]]> + UPDATE with rowid or PRIMARY KEY change: + The row with rowid or PRIMARY KEY argv[0] is updated with + the rowid or PRIMARY KEY in argv[1] + and new values in argv[2] and following parameters. This will occur + when an SQL statement updates a rowid, as in the statement: + + UPDATE table SET rowid=rowid+1 WHERE ...; + + ]]>]]> + + + The xUpdate method must return SQLITE_OK if and only if it is + successful. If a failure occurs, the xUpdate must return an appropriate + error code. On a failure, the pVTab->zErrMsg element may optionally + be replaced with error message text stored in memory allocated from SQLite + using functions such as sqlite3_mprintf() or sqlite3_malloc(). + + + If the xUpdate method violates some constraint of the virtual table + (including, but not limited to, attempting to store a value of the wrong + datatype, attempting to store a value that is too + large or too small, or attempting to change a read-only value) then the + xUpdate must fail with an appropriate error code. + + + If the xUpdate method is performing an UPDATE, then + sqlite3_value_nochange(X) can be used to discover which columns + of the virtual table were actually modified by the UPDATE + statement. The sqlite3_value_nochange(X) interface returns + true for columns that do not change. + On every UPDATE, SQLite will first invoke + xColumn separately for each unchanging column in the table to + obtain the value for that column. The xColumn method can + check to see if the column is unchanged at the SQL level + by invoking sqlite3_vtab_nochange(). If xColumn sees that + the column is not being modified, it should return without setting + a result using one of the sqlite3_result_xxxxx() + interfaces. Only in that case sqlite3_value_nochange() will be + true within the xUpdate method. If xColumn does + invoke one or more sqlite3_result_xxxxx() + interfaces, then SQLite understands that as a change in the value + of the column and the sqlite3_value_nochange() call for that + column within xUpdate will return false. + + + There might be one or more sqlite3_vtab_cursor objects open and in use + on the virtual table instance and perhaps even on the row of the virtual + table when the xUpdate method is invoked. The implementation of + xUpdate must be prepared for attempts to delete or modify rows of the table + out from other existing cursors. If the virtual table cannot accommodate + such changes, the xUpdate method must return an error code. + + + The xUpdate method is optional. + If the xUpdate pointer in the sqlite3_module for a virtual table + is a NULL pointer, then the virtual table is read-only. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of new or modified column values contained in + . + + + The array of native pointers to sqlite3_value structures containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + + int (*xBegin)(sqlite3_vtab *pVTab); + + + This method begins a transaction on a virtual table. + This is method is optional. The xBegin pointer of sqlite3_module + may be NULL. + + + This method is always followed by one call to either the + xCommit or xRollback method. Virtual table transactions do + not nest, so the xBegin method will not be invoked more than once + on a single virtual table + without an intervening call to either xCommit or xRollback. + Multiple calls to other methods can and likely will occur in between + the xBegin and the corresponding xCommit or xRollback. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xSync)(sqlite3_vtab *pVTab); + + + This method signals the start of a two-phase commit on a virtual + table. + This is method is optional. The xSync pointer of sqlite3_module + may be NULL. + + + This method is only invoked after call to the xBegin method and + prior to an xCommit or xRollback. In order to implement two-phase + commit, the xSync method on all virtual tables is invoked prior to + invoking the xCommit method on any virtual table. If any of the + xSync methods fail, the entire transaction is rolled back. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xCommit)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to commit. + This is method is optional. The xCommit pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin and + xSync. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xRollback)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to rollback. + This is method is optional. The xRollback pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xFindFunction)( + sqlite3_vtab *pVtab, + int nArg, + const char *zName, + void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), + void **ppArg + ); + + + This method is called during sqlite3_prepare() to give the virtual + table implementation an opportunity to overload functions. + This method may be set to NULL in which case no overloading occurs. + + + When a function uses a column from a virtual table as its first + argument, this method is called to see if the virtual table would + like to overload the function. The first three parameters are inputs: + the virtual table, the number of arguments to the function, and the + name of the function. If no overloading is desired, this method + returns 0. To overload the function, this method writes the new + function implementation into *pxFunc and writes user data into *ppArg + and returns either 1 or a number between + SQLITE_INDEX_CONSTRAINT_FUNCTION and 255. + + + Historically, the return value from xFindFunction() was either zero + or one. Zero means that the function is not overloaded and one means that + it is overload. The ability to return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater was added in + version 3.25.0 (2018-09-15). If xFindFunction returns + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater, than means that the function + takes two arguments and the function + can be used as a boolean in the WHERE clause of a query and that + the virtual table is able to exploit that function to speed up the query + result. When xFindFunction returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, the value returned becomes the sqlite3_index_info.aConstraint.op + value for one of the constraints passed into xBestIndex(). The first + argument to the function is the column identified by + aConstraint[].iColumn field of the constraint and the second argument to the + function is the value that will be passed into xFilter() (if the + aConstraintUsage[].argvIndex value is set) or the value returned from + sqlite3_vtab_rhs_value(). + + + The Geopoly module is an example of a virtual table that makes use + of SQLITE_INDEX_CONSTRAINT_FUNCTION to improve performance. + The xFindFunction() method for Geopoly returns + SQLITE_INDEX_CONSTRAINT_FUNCTION for the geopoly_overlap() SQL function + and it returns + SQLITE_INDEX_CONSTRAINT_FUNCTION+1 for the geopoly_within() SQL function. + This permits search optimizations for queries such as: + + + SELECT * FROM geopolytab WHERE geopoly_overlap(_shape, $query_polygon); + SELECT * FROM geopolytab WHERE geopoly_within(_shape, $query_polygon); + + + Note that infix functions (LIKE, GLOB, REGEXP, and MATCH) reverse + the order of their arguments. So "like(A,B)" would normally work the same + as "B like A". + However, xFindFunction() always looks a the left-most argument, not + the first logical argument. + Hence, for the form "B like A", SQLite looks at the + left operand "B" and if that operand is a virtual table column + it invokes the xFindFunction() method on that virtual table. + But if the form "like(A,B)" is used instead, then SQLite checks + the A term to see if it is column of a virtual table and if so + it invokes the xFindFunction() method for the virtual table of + column A. + + + The function pointer returned by this routine must be valid for + the lifetime of the sqlite3_vtab object given in the first parameter. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + delegate responsible for implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + + int (*xRename)(sqlite3_vtab *pVtab, const char *zNew); + + + This method provides notification that the virtual table implementation + that the virtual table will be given a new name. + If this method returns SQLITE_OK then SQLite renames the table. + If this method returns an error code then the renaming is prevented. + + + The xRename method is optional. If omitted, then the virtual + table may not be renamed using the ALTER TABLE RENAME command. + + + The PRAGMA legacy_alter_table setting is enabled prior to invoking this + method, and the value for legacy_alter_table is restored after this + method finishes. This is necessary for the correct operation of virtual + tables that make use of shadow tables where the shadow tables must be + renamed to match the new virtual table name. If the legacy_alter_format is + off, then the xConnect method will be invoked for the virtual table every + time the xRename method tries to change the name of the shadow table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the UTF-8 encoded string containing the new + name for the virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + This class represents a context from the SQLite core library that can + be passed to the sqlite3_result_*() and associated functions. + + + + + This interface represents a native handle provided by the SQLite core + library. + + + + + The native handle value. + + + + + The native context handle. + + + + + Constructs an instance of this class using the specified native + context handle. + + + The native context handle to use. + + + + + Attempts to determine if a specific column being fetched via the + method as part of an + UPDATE operation will not change. Use of this method is invalid + in any other context. + + + Non-zero if the column being fetched via a pending call to the + method as part of an + UPDATE operation during which the column value will not change. + The virtual table implementation can use this hint as permission + to substitute a return value that is less expensive to compute + and that the corresponding xUpdate method understands as a + "no-change" value. + + + + + Sets the context result to NULL. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. This value will be + converted to the UTF-8 encoding prior to being used. + + + + + Sets the context result to the specified + value containing an error message. + + + The value containing the error message text. + This value will be converted to the UTF-8 encoding prior to being + used. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to contain the error code SQLITE_TOOBIG. + + + + + Sets the context result to contain the error code SQLITE_NOMEM. + + + + + Sets the context result to the specified array + value. + + + The array value to use. + + + + + Sets the context result to a BLOB of zeros of the specified size. + + + The number of zero bytes to use for the BLOB context result. + + + + + Sets the context result sub-type to the desired value. + + + The sub-type value to use. + + + + + Sets the context result to the specified . + + + The to use. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a value from the SQLite core library that can be + passed to the sqlite3_value_*() and associated functions. + + + + + The native value handle. + + + + + Constructs an instance of this class using the specified native + value handle. + + + The native value handle to use. + + + + + Invalidates the native value handle, thereby preventing further + access to it from this object instance. + + + + + Converts a native pointer to a native sqlite3_value structure into + a managed object instance. + + + The native pointer to a native sqlite3_value structure to convert. + + + The managed object instance or null upon + failure. + + + + + Converts a logical array of native pointers to native sqlite3_value + structures into a managed array of + object instances. + + + The number of elements in the logical array of native sqlite3_value + structures. + + + The native pointer to the logical array of native sqlite3_value + structures to convert. + + + The managed array of object instances or + null upon failure. + + + + + Gets and returns the sub-type associated with this value. + + + The sub-type associated with this value. + + + + + Gets and returns the "no change" flag associated with this value. + + + The "no change" flag associated with this value. + + + + + Gets and returns the "from bind" flag associated with this value. + + + The "from bind" flag associated with this value. + + + + + Attempts to convert this value to numeric and then gets and + returns the new type affinity associated with this value. + + + The new type affinity associated with this value. + + + + + Gets and returns the type affinity associated with this value. + + + The type affinity associated with this value. + + + + + Gets and returns the number of bytes associated with this value, if + it refers to a UTF-8 encoded string. + + + The number of bytes associated with this value. The returned value + may be zero. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with + this value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. The value is + converted from the UTF-8 encoding prior to being returned. + + + + + Gets and returns the array associated with this + value. + + + The array associated with this value. + + + + + Gets and returns an instance associated with + this value. + + + The associated with this value. If the type + affinity of the object is unknown or cannot be determined, a null + value will be returned. + + + + + Uses the native value handle to obtain and store the managed value + for this object instance, thus saving it for later use. The type + of the managed value is determined by the type affinity of the + native value. If the type affinity is not recognized by this + method, no work is done and false is returned. + + + Non-zero if the native value was persisted successfully. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + Returns non-zero if the native SQLite value has been successfully + persisted as a managed value within this object instance (i.e. the + property may then be read successfully). + + + + + If the managed value for this object instance is available (i.e. it + has been previously persisted via the ) method, + that value is returned; otherwise, an exception is thrown. The + returned value may be null. + + + + + If the managed value for this object instance is available (i.e. it + has been previously persisted via the ) method, + that sub-type is returned; otherwise, an exception is thrown. + + + + + If the managed value for this object instance is available (i.e. it + has been previously persisted via the ) method, + that "no change" flag is returned; otherwise, an exception is thrown. + + + + + If the managed value for this object instance is available (i.e. it + has been previously persisted via the ) method, + that "from bind" flag is returned; otherwise, an exception is thrown. + + + + + These are the allowed values for the operators that are part of a + constraint term in the WHERE clause of a query that uses a virtual + table. + + + + + This value represents the equality operator. + + + + + This value represents the greater than operator. + + + + + This value represents the less than or equal to operator. + + + + + This value represents the less than operator. + + + + + This value represents the greater than or equal to operator. + + + + + This value represents the MATCH operator. + + + + + This value represents the LIKE operator. + + + + + This value represents the GLOB operator. + + + + + This value represents the REGEXP operator. + + + + + This value represents the inequality operator. + + + + + This value represents the IS NOT operator. + + + + + This value represents the IS NOT NULL operator. + + + + + This value represents the IS NULL operator. + + + + + This value represents the IS operator. + + + + + These are the allowed values for the index flags from the + method. + + + + + No special handling. This is the default. + + + + + This value indicates that the scan of the index will visit at + most one row. + + + + + This class represents the native sqlite3_index_constraint structure + from the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint structure. + + + The native sqlite3_index_constraint structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column on left-hand side of constraint. + + + Constraint operator (). + + + True if this constraint is usable. + + + Used internally - + should ignore. + + + + + Column on left-hand side of constraint. + + + + + Constraint operator (). + + + + + True if this constraint is usable. + + + + + Used internally - + should ignore. + + + + + This class represents the native sqlite3_index_orderby structure from + the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_orderby structure. + + + The native sqlite3_index_orderby structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column number. + + + True for DESC. False for ASC. + + + + + Column number. + + + + + True for DESC. False for ASC. + + + + + This class represents the native sqlite3_index_constraint_usage + structure from the SQLite core library. + + + + + Constructs a default instance of this class. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint_usage structure. + + + The native sqlite3_index_constraint_usage structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + If greater than 0, constraint is part of argv to xFilter. + + + Do not code a test for this constraint. + + + + + If greater than 0, constraint is part of argv to xFilter. + + + + + Do not code a test for this constraint. + + + + + This class represents the various inputs provided by the SQLite core + library to the method. + + + + + Constructs an instance of this class. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + This class represents the various outputs provided to the SQLite core + library by the method. + + + + + Constructs an instance of this class. + + + The number of instances + to pre-allocate space for. + + + + + Determines if the native estimatedRows field can be used, based on + the available version of the SQLite core library. + + + Non-zero if the property is supported + by the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + An array of object + instances, each containing information to be supplied to the SQLite + core library. + + + + + Number used to help identify the selected index. This value will + later be provided to the + method. + + + + + String used to help identify the selected index. This value will + later be provided to the + method. + + + + + Non-zero if the index string must be freed by the SQLite core + library. + + + + + True if output is already ordered. + + + + + Estimated cost of using this index. Using a null value here + indicates that a default estimated cost value should be used. + + + + + Estimated number of rows returned. Using a null value here + indicates that a default estimated rows value should be used. + This property has no effect if the SQLite core library is not at + least version 3.8.2. + + + + + The flags that should be used with this index. Using a null value + here indicates that a default flags value should be used. This + property has no effect if the SQLite core library is not at least + version 3.9.0. + + + + + + Indicates which columns of the virtual table may be required by the + current scan. Virtual table columns are numbered from zero in the + order in which they appear within the CREATE TABLE statement passed + to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62), + the corresponding bit is set within the bit mask if the column may + be required by SQLite. If the table has at least 64 columns and + any column to the right of the first 63 is required, then bit 63 of + colUsed is also set. In other words, column iCol may be required + if the expression + + + (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) + + + evaluates to non-zero. Using a null value here indicates that a + default flags value should be used. This property has no effect if + the SQLite core library is not at least version 3.10.0. + + + + + + This class represents the various inputs and outputs used with the + method. + + + + + Constructs an instance of this class. + + + The number of (and + ) instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + Attempts to determine the structure sizes needed to create and + populate a native + + structure. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + + + Attempts to allocate and initialize a native + + structure. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + The newly allocated native + structure + -OR- if it could not be fully allocated. + + + + + Frees all the memory associated with a native + + structure. + + + The native pointer to the native sqlite3_index_info structure to + free. + + + + + Converts a native pointer to a native sqlite3_index_info structure + into a new object instance. + + + The native pointer to the native sqlite3_index_info structure to + convert. + + + Non-zero to include fields from the outputs portion of the native + structure; otherwise, the "output" fields will not be read. + + + Upon success, this parameter will be modified to contain the newly + created object instance. + + + + + Populates the outputs of a pre-allocated native sqlite3_index_info + structure using an existing object + instance. + + + The existing object instance containing + the output data to use. + + + The native pointer to the pre-allocated native sqlite3_index_info + structure. + + + Non-zero to include fields from the inputs portion of the native + structure; otherwise, the "input" fields will not be written. + + + + + The object instance containing + the inputs to the + method. + + + + + The object instance containing + the outputs from the + method. + + + + + This class represents a managed virtual table implementation. It is + not sealed and should be used as the base class for any user-defined + virtual table classes implemented in managed code. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the module implementing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the database containing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the virtual table. + + + + + Constructs an instance of this class. + + + The original array of strings provided to the + and + methods. + + + + + This method should normally be used by the + method in order to + perform index selection based on the constraints provided by the + SQLite core library. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + Non-zero upon success. + + + + + Attempts to record the renaming of the virtual table associated + with this object instance. + + + The new name for the virtual table. + + + Non-zero upon success. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The original array of strings provided to the + and + methods. + + + + + The name of the module implementing this virtual table. + + + + + The name of the database containing this virtual table. + + + + + The name of the virtual table. + + + + + The object instance containing all the + data for the inputs and outputs relating to the most recent index + selection. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a managed virtual table cursor implementation. + It is not sealed and should be used as the base class for any + user-defined virtual table cursor classes implemented in managed code. + + + + + This value represents an invalid integer row sequence number. + + + + + The field holds the integer row sequence number for the current row + pointed to by this cursor object instance. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + + + Constructs an instance of this class. + + + + + Attempts to persist the specified object + instances in order to make them available after the + method returns. + + + The array of object instances to be + persisted. + + + The number of object instances that were + successfully persisted. + + + + + This method should normally be used by the + method in order to + perform filtering of the result rows and/or to record the filtering + criteria provided by the SQLite core library. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + + + Determines the integer row sequence number for the current row. + + + The integer row sequence number for the current row -OR- zero if + it cannot be determined. + + + + + Adjusts the integer row sequence number so that it refers to the + next row. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The object instance associated + with this object instance. + + + + + Number used to help identify the selected index. This value will + be set via the method. + + + + + String used to help identify the selected index. This value will + be set via the method. + + + + + The values used to filter the rows returned via this cursor object + instance. This value will be set via the + method. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This interface represents a virtual table implementation written in + managed code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class contains static methods that are used to allocate, + manipulate, and free native memory provided by the SQLite core library. + + + + + Determines if the native sqlite3_msize() API can be used, based on + the available version of the SQLite core library. + + + Non-zero if the native sqlite3_msize() API is supported by the + SQLite core library. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Frees a memory block previously obtained from the + or methods. If + the TRACK_MEMORY_BYTES option was enabled at compile-time, adjusts + the number of bytes currently allocated by this class. + + + The native pointer to the memory block previously obtained from the + or methods. + + + + + Frees a memory block previously obtained from the SQLite core + library without adjusting the number of allocated bytes currently + tracked by this class. This is useful when dealing with blocks of + memory that were not allocated using this class. + + + The native pointer to the memory block previously obtained from the + SQLite core library. + + + + + This class contains static methods that are used to deal with native + UTF-8 string pointers to be used with the SQLite core library. + + + + + This is the maximum possible length for the native UTF-8 encoded + strings used with the SQLite core library. + + + + + This is the object instance used to handle + conversions from/to UTF-8. + + + + + Converts the specified managed string into the UTF-8 encoding and + returns the array of bytes containing its representation in that + encoding. + + + The managed string to convert. + + + The array of bytes containing the representation of the managed + string in the UTF-8 encoding or null upon failure. + + + + + Converts the specified array of bytes representing a string in the + UTF-8 encoding and returns a managed string. + + + The array of bytes to convert. + + + The managed string or null upon failure. + + + + + Probes a native pointer to a string in the UTF-8 encoding for its + terminating NUL character, within the specified length limit. + + + The native NUL-terminated string pointer. + + + The maximum length of the native string, in bytes. + + + The length of the native string, in bytes -OR- zero if the length + could not be determined. + + + + + Converts the specified native NUL-terminated UTF-8 string pointer + into a managed string. + + + The native NUL-terminated UTF-8 string pointer. + + + The managed string or null upon failure. + + + + + Converts the specified native UTF-8 string pointer of the specified + length into a managed string. + + + The native UTF-8 string pointer. + + + The length of the native string, in bytes. + + + The managed string or null upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts a logical array of native NUL-terminated UTF-8 string + pointers into an array of managed strings. + + + The number of elements in the logical array of native + NUL-terminated UTF-8 string pointers. + + + The native pointer to the logical array of native NUL-terminated + UTF-8 string pointers to convert. + + + The array of managed strings or null upon failure. + + + + + Converts an array of managed strings into an array of native + NUL-terminated UTF-8 string pointers. + + + The array of managed strings to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The array of native NUL-terminated UTF-8 string pointers or null + upon failure. + + + + + This class contains static methods that are used to deal with native + pointers to memory blocks that logically contain arrays of bytes to be + used with the SQLite core library. + + + + + Converts a native pointer to a logical array of bytes of the + specified length into a managed byte array. + + + The native pointer to the logical array of bytes to convert. + + + The length, in bytes, of the logical array of bytes to convert. + + + The managed byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The native pointer to a logical byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The length, in bytes, of the converted logical array of bytes. + + + The native pointer to a logical byte array or null upon failure. + + + + + This class contains static methods that are used to perform several + low-level data marshalling tasks between native and managed code. + + + + + Returns a new object instance based on the + specified object instance and an integer + offset. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location that the new + object instance should point to. + + + The new object instance. + + + + + Rounds up an integer size to the next multiple of the alignment. + + + The size, in bytes, to be rounded up. + + + The required alignment for the return value. + + + The size, in bytes, rounded up to the next multiple of the + alignment. This value may end up being the same as the original + size. + + + + + Determines the offset, in bytes, of the next structure member. + + + The offset, in bytes, of the current structure member. + + + The size, in bytes, of the current structure member. + + + The alignment, in bytes, of the next structure member. + + + The offset, in bytes, of the next structure member. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + to be read is located. + + + The value at the specified memory location. + + + + + Reads an value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Generates a hash code value for the object. + + + The object instance used to calculate the hash code. + + + Non-zero if different object instances with the same value should + generate different hash codes, where applicable. This parameter + has no effect on the .NET Compact Framework. + + + The hash code value -OR- zero if the object is null. + + + + + This class represents a managed virtual table module implementation. + It is not sealed and must be used as the base class for any + user-defined virtual table module classes implemented in managed code. + + + + + The default version of the native sqlite3_module structure in use. + + + + + This field is used to store the native sqlite3_module structure + associated with this object instance. + + + + + This field is used to store the destructor delegate to be passed to + the SQLite core library via the sqlite3_create_disposable_module() + function. + + + + + This field is used to store a pointer to the native sqlite3_module + structure returned by the sqlite3_create_disposable_module + function. + + + + + This field is used to store the virtual table instances associated + with this module. The native pointer to the sqlite3_vtab derived + structure is used to key into this collection. + + + + + This field is used to store the virtual table cursor instances + associated with this module. The native pointer to the + sqlite3_vtab_cursor derived structure is used to key into this + collection. + + + + + This field is used to store the virtual table function instances + associated with this module. The case-insensitive function name + and the number of arguments (with -1 meaning "any") are used to + construct the string that is used to key into this collection. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Calls the native SQLite core library in order to create a new + disposable module containing the implementation of a virtual table. + + + The native database connection pointer to use. + + + Non-zero upon success. + + + + + This method is called by the SQLite core library when the native + module associated with this object instance is being destroyed due + to its parent connection being closed. It may also be called by + the "vtshim" module if/when the sqlite3_dispose_module() function + is called. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + + + Creates and returns the native sqlite_module structure using the + configured (or default) + interface implementation. + + + The native sqlite_module structure using the configured (or + default) interface + implementation. + + + + + Creates and returns the native sqlite_module structure using the + specified interface + implementation. + + + The interface implementation to + use. + + + The native sqlite_module structure using the specified + interface implementation. + + + + + Creates a copy of the specified + object instance, + using default implementations for the contained delegates when + necessary. + + + The object + instance to copy. + + + The new object + instance. + + + + + Calls one of the virtual table initialization methods. + + + Non-zero to call the + method; otherwise, the + method will be called. + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + Calls one of the virtual table finalization methods. + + + Non-zero to call the + method; otherwise, the + method will be + called. + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + used to get the native pointer to the sqlite3_vtab derived + structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Gets and returns the interface + implementation to be used when creating the native sqlite3_module + structure. Derived classes may override this method to supply an + alternate implementation for the + interface. + + + The interface implementation to + be used when populating the native sqlite3_module structure. If + the returned value is null, the private methods provided by the + class and relating to the + interface will be used to + create the necessary delegates. + + + + + Creates and returns the + interface implementation corresponding to the current + object instance. + + + The interface implementation + corresponding to the current object + instance. + + + + + Allocates a native sqlite3_vtab derived structure and returns a + native pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Zeros out the fields of a native sqlite3_vtab derived structure. + + + The native pointer to the native sqlite3_vtab derived structure to + zero. + + + + + Frees a native sqlite3_vtab structure using the provided native + pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Allocates a native sqlite3_vtab_cursor derived structure and + returns a native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Frees a native sqlite3_vtab_cursor structure using the provided + native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Looks up and returns the object + instance based on the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The object instance or null if + the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab derived + structure and creates an association between it and the specified + object instance. + + + The object instance to be used + when creating the association. + + + The native pointer to a sqlite3_vtab derived structure or + if the method fails for any reason. + + + + + Looks up and returns the + object instance based on the native pointer to the + sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The object instance or null + if the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab_cursor + derived structure and creates an association between it and the + specified object instance. + + + The object instance to be + used when creating the association. + + + The native pointer to a sqlite3_vtab_cursor derived structure or + if the method fails for any reason. + + + + + Deterimines the key that should be used to identify and store the + object instance for the virtual table + (i.e. to be returned via the + method). + + + The number of arguments to the virtual table function. + + + The name of the virtual table function. + + + The object instance associated with + this virtual table function. + + + The string that should be used to identify and store the virtual + table function instance. This method cannot return null. If null + is returned from this method, the behavior is undefined. + + + + + Attempts to declare the schema for the virtual table using the + specified database connection. + + + The object instance to use when + declaring the schema of the virtual table. This parameter may not + be null. + + + The string containing the CREATE TABLE statement that completely + describes the schema for the virtual table. This parameter may not + be null. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual + table function in response to a call into the + + or virtual table + methods. + + + The object instance to use when + declaring the schema of the virtual table. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon + failure, it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated cost. + + + The object instance to modify. + + + The estimated cost value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated cost. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated rows. + + + The object instance to modify. + + + The estimated rows value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated rows. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified flags. + + + The object instance to modify. + + + The index flags value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default index flags. + + + The object instance to modify. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + the method, + the method, + the method, + and the method should be logged using the + class. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + method, and the + method should be logged using the + class. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class implements the + interface by forwarding those method calls to the + object instance it contains. If the + contained object instance is null, all + the methods simply generate an + error. + + + + + This is the value that is always used for the "logErrors" + parameter to the various static error handling methods provided + by the class. + + + + + This is the value that is always used for the "logExceptions" + parameter to the various static error handling methods provided + by the class. + + + + + This is the error message text used when the contained + object instance is not available + for any reason. + + + + + The object instance used to provide + an implementation of the + interface. + + + + + Constructs an instance of this class. + + + The object instance used to provide + an implementation of the + interface. + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab derived structure. + + + The value of . + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab_cursor derived + structure. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + This class contains some virtual methods that may be useful for other + virtual table classes. It specifically does NOT implement any of the + interface methods. + + + + + This class implements a virtual table module that does nothing by + providing "empty" implementations for all of the + interface methods. The result + codes returned by these "empty" method implementations may be + controlled on a per-method basis by using and/or overriding the + , + , + , + , and + methods from within derived classes. + + + + + This field is used to store the + values to return, on a per-method basis, for all methods that are + part of the interface. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Determines the default value to be + returned by methods of the + interface that lack an overridden implementation in all classes + derived from the class. + + + The value that should be returned + by all interface methods unless + a more specific result code has been set for that interface method. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Determines the value that should be + returned by the specified + interface method if it lack an overridden implementation. If no + specific value is available (or set) + for the specified method, the value + returned by the method will be + returned instead. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + + + Sets the value that should be + returned by the specified + interface method if it lack an overridden implementation. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + The CREATE TABLE statement used to declare the schema for the + virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Determines the SQL statement used to declare the virtual table. + This method should be overridden in derived classes if they require + a custom virtual table schema. + + + The SQL statement used to declare the virtual table -OR- null if it + cannot be determined. + + + + + Sets the table error message to one that indicates the virtual + table cursor is of the wrong type. + + + The object instance. + + + The that the virtual table cursor should be. + + + The value of . + + + + + Determines the string to return as the column value for the object + instance value. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a string representation for. + + + The string representation of the specified object instance or null + upon failure. + + + + + Constructs an unique row identifier from two + values. The first value + must contain the row sequence number for the current row and the + second value must contain the hash code of the key column value + for the current row. + + + The integer row sequence number for the current row. + + + The hash code of the key column value for the current row. + + + The unique row identifier or zero upon failure. + + + + + Determines the unique row identifier for the current row. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a unique row identifier for. + + + The unique row identifier or zero upon failure. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this cursor + was created. + + + + + This value will be non-zero if false has been returned from the + method. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Advances to the next row of the virtual table cursor using the + method of the + object instance. + + + Non-zero if the current row is valid; zero otherwise. If zero is + returned, no further rows are available. + + + + + Resets the virtual table cursor position, also invalidating the + current row, using the method of + the object instance. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if the virtual + table cursor has been closed. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + Returns non-zero if the end of the virtual table cursor has been + seen (i.e. no more rows are available, including the current one). + + + + + Returns non-zero if the virtual table cursor is open. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. The following short + example shows it being used to treat an array of strings as a table + data source: + + public static class Sample + { + public static void Main() + { + using (SQLiteConnection connection = new SQLiteConnection( + "Data Source=:memory:;")) + { + connection.Open(); + + connection.CreateModule(new SQLiteModuleEnumerable( + "sampleModule", new string[] { "one", "two", "three" })); + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = + "CREATE VIRTUAL TABLE t1 USING sampleModule;"; + + command.ExecuteNonQuery(); + } + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = "SELECT * FROM t1;"; + + using (SQLiteDataReader dataReader = command.ExecuteReader()) + { + while (dataReader.Read()) + Console.WriteLine(dataReader[0].ToString()); + } + } + + connection.Close(); + } + } + } + + + + + + The instance containing the backing data + for the virtual table. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Sets the table error message to one that indicates the virtual + table cursor has no current row. + + + The object instance. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this + cursor was created. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. + + + + + The instance containing the backing + data for the virtual table. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This enumerated type represents a type of conflict seen when apply + changes from a change set or patch set. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is present in the + database, but one or more other (non primary-key) fields modified + by the update do not contain the expected "before" values. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is not present in the + database. There is no conflicting row in this case. + + The results of invoking the + + method are undefined. + + + + + This value is seen when processing an INSERT change if the + operation would result in duplicate primary key values. + The conflicting row in this case is the database row with the + matching primary key. + + + + + If a non-foreign key constraint violation occurs while applying a + change (i.e. a UNIQUE, CHECK or NOT NULL constraint), the conflict + callback will see this value. + + There is no conflicting row in this case. The results of invoking + the + method are undefined. + + + + + If foreign key handling is enabled, and applying a changes leaves + the database in a state containing foreign key violations, this + value will be seen exactly once before the changes are committed. + If the conflict handler + , the changes, + including those that caused the foreign key constraint violation, + are committed. Or, if it returns + , the changes are + rolled back. + + No current or conflicting row information is provided. The only + method it is possible to call on the supplied + object is + . + + + + + This enumerated type represents the result of a user-defined conflict + resolution callback. + + + + + If a conflict callback returns this value no special action is + taken. The change that caused the conflict is not applied. The + application of changes continues with the next change. + + + + + This value may only be returned from a conflict callback if the + type of conflict was + or . If this is + not the case, any changes applied so far are rolled back and the + call to + + will raise a with an error code of + . + + If this value is returned for a + conflict, then the + conflicting row is either updated or deleted, depending on the type + of change. + + If this value is returned for a + conflict, then + the conflicting row is removed from the database and a second + attempt to apply the change is made. If this second attempt fails, + the original row is restored to the database before continuing. + + + + + If this value is returned, any changes applied so far are rolled + back and the call to + + will raise a with an error code of + . + + + + + This enumerated type represents possible flags that may be passed + to the appropriate overloads of various change set creation methods. + + + + + No special handling. + + + + + Invert the change set while iterating through it. + This is equivalent to inverting a change set using + before + applying it. It is an error to specify this flag + with a patch set. + + + + + This callback is invoked when a determination must be made about + whether changes to a specific table should be tracked -OR- applied. + It will not be called for tables that are already attached to a + . + + + The optional application-defined context data that was originally + passed to the or + + methods. This value may be null. + + + The name of the table. + + + Non-zero if changes to the table should be considered; otherwise, + zero. Throwing an exception from this callback will result in + undefined behavior. + + + + + This callback is invoked when there is a conflict while apply changes + to a database. + + + The optional application-defined context data that was originally + passed to the + + method. This value may be null. + + + The type of this conflict. + + + The object associated with + this conflict. This value may not be null; however, only properties + that are applicable to the conflict type will be available. Further + information on this is available within the descriptions of the + available values. + + + A value that indicates the + action to be taken in order to resolve the conflict. Throwing an + exception from this callback will result in undefined behavior. + + + + + This interface contains methods used to manipulate a set of changes for + a database. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + This interface contains methods used to manipulate multiple sets of + changes for a database. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + This interface contains properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + + + + This interface contains methods to query and manipulate the state of a + change tracking session for a database. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + This method attempts to determine the amount of memory used by the + session. + + + Number of bytes used by the session -OR- negative one if its value + cannot be obtained. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + This class contains some static helper methods for use within this + subsystem. + + + + + This method checks the byte array specified by the caller to make + sure it will be usable. + + + A byte array provided by the caller into one of the public methods + for the classes that belong to this subsystem. This value cannot + be null or represent an empty array; otherwise, an appropriate + exception will be thrown. + + + + + This class is used to hold the native connection handle associated with + a open until this subsystem is totally + done with it. This class is for internal use by this subsystem only. + + + + + The SQL statement used when creating the native statement handle. + There are no special requirements for this other than counting as + an "open statement handle". + + + + + The format of the error message used when reporting, during object + disposal, that the statement handle is still open (i.e. because + this situation is considered a fairly serious programming error). + + + + + The wrapped native connection handle associated with this lock. + + + + + The flags associated with the connection represented by the + value. + + + + + The native statement handle for this lock. The garbage collector + cannot cause this statement to be finalized; therefore, it will + serve to hold the associated native connection open until it is + freed manually using the method. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + lock. + + + The flags associated with the connection represented by the + value. + + + Non-zero if the method should be called prior + to returning from this constructor. + + + + + Queries and returns the wrapped native connection handle for this + instance. + + + The wrapped native connection handle for this instance -OR- null + if it is unavailable. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Queries and returns the native connection handle for this instance. + + + The native connection handle for this instance. If this value is + unavailable or invalid an exception will be thrown. + + + + + This method attempts to "lock" the associated native connection + handle by preparing a SQL statement that will not be finalized + until the method is called (i.e. and which + cannot be done by the garbage collector). If the statement is + already prepared, nothing is done. If the statement cannot be + prepared for any reason, an exception will be thrown. + + + + + This method attempts to "unlock" the associated native connection + handle by finalizing the previously prepared statement. If the + statement is already finalized, nothing is done. If the statement + cannot be finalized for any reason, an exception will be thrown. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator. It is used as the + base class for the and + classes. It knows how to + advance the native iterator handle as well as finalize it. + + + + + The native change set (a.k.a. iterator) handle. + + + + + Non-zero if this instance owns the native iterator handle in the + field. In that case, this instance will + finalize the native iterator handle upon being disposed or + finalized. + + + + + Constructs a new instance of this class using the specified native + iterator handle. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Throws an exception if the native iterator handle is invalid. + + + + + Used to query the native iterator handle. This method is only used + by the class. + + + The native iterator handle -OR- if it + is not available. + + + + + Attempts to advance the native iterator handle to its next item. + + + Non-zero if the native iterator handle was advanced and contains + more data; otherwise, zero. If the underlying native API returns + an unexpected value then an exception will be thrown. + + + + + Attempts to create an instance of this class that is associated + with the specified native iterator handle. Ownership of the + native iterator handle is NOT transferred to the new instance of + this class. + + + The native iterator handle to use. + + + The new instance of this class. No return value is reserved to + indicate an error; however, if the native iterator handle is not + valid, any subsequent attempt to make use of it via the returned + instance of this class may throw exceptions. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator for a set of changes + contained entirely in memory. + + + + + The native memory buffer allocated to contain the set of changes + associated with this instance. This will always be freed when this + instance is disposed or finalized. + + + + + Constructs an instance of this class using the specified native + memory buffer and native iterator handle. + + + The native memory buffer to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class manages the native change set iterator for a set of changes + backed by a instance. + + + + + The instance that is managing + the underlying used as the backing store for + the set of changes associated with this native change set iterator. + + + + + Constructs an instance of this class using the specified native + iterator handle and . + + + The instance to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class is used to act as a bridge between a + instance and the delegates used with the native streaming API. + + + + + The managed stream instance used to in order to service the native + delegates for both input and output. + + + + + The flags associated with the connection. + + + + + The delegate used to provide input to the native streaming API. + It will be null -OR- point to the method. + + + + + The delegate used to provide output to the native streaming API. + It will be null -OR- point to the method. + + + + + Constructs a new instance of this class using the specified managed + stream and connection flags. + + + The managed stream instance to be used in order to service the + native delegates for both input and output. + + + The flags associated with the parent connection. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + This method attempts to read bytes from + the managed stream, writing them to the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer to receive the requested input bytes. + It must be at least bytes in size. + + + Upon entry, the number of bytes to read. Upon exit, the number of + bytes actually read. This value may be zero upon exit. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + This method attempts to write bytes to + the managed stream, reading them from the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer containing the requested output + bytes. It must be at least bytes in + size. + + + The number of bytes to write. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages a collection of + instances. When used, it takes responsibility for creating, returning, + and disposing of its instances. + + + + + The managed collection of + instances, keyed by their associated + instance. + + + + + The flags associated with the connection. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Makes sure the collection of + is created. + + + + + Makes sure the collection of + is disposed. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents a group of change sets (or patch sets). + + + + + The instance associated + with this change group. + + + + + The flags associated with the connection. + + + + + The native handle for this change group. This will be deleted when + this instance is disposed or finalized. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Throws an exception if the native change group handle is invalid. + + + + + Makes sure the native change group handle is valid, creating it if + necessary. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents the change tracking session associated with a + database. + + + + + The instance associated + with this session. + + + + + The name of the database (e.g. "main") for this session. + + + + + The native handle for this session. This will be deleted when + this instance is disposed or finalized. + + + + + The delegate used to provide table filtering to the native API. + It will be null -OR- point to the method. + + + + + The managed callback used to filter tables for this session. Set + via the method. + + + + + The optional application-defined context data that was passed to + the method. This value may be null. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + session. + + + The flags associated with the connection represented by the + value. + + + The name of the database (e.g. "main") for this session. + + + + + Throws an exception if the native session handle is invalid. + + + + + Makes sure the native session handle is valid, creating it if + necessary. + + + + + This method sets up the internal table filtering associated state + of this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + The native + delegate -OR- null to clear any existing table filter. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + This method is called when determining if a table needs to be + included in the tracked changes for the associated database. + + + Optional extra context information. Currently, this will always + have a value of . + + + The native pointer to the name of the table. + + + Non-zero if changes to the specified table should be considered; + otherwise, zero. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + This method attempts to determine the amount of memory used by the + session. + + + The number of bytes used by the session. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents the abstract concept of a set of changes. It + acts as the base class for the + and classes. It derives from + the class, which is used to hold + the underlying native connection handle open until the instances of + this class are disposed or finalized. It also provides the ability + to construct wrapped native delegates of the + and + types. + + + + + Constructs an instance of this class using the specified wrapped + native connection handle. + + + The wrapped native connection handle to be associated with this + change set. + + + The flags associated with the connection represented by the + value. + + + + + Creates and returns a concrete implementation of the + interface. + + + The native iterator handle to use. + + + An instance of the + interface, which can be used to fetch metadata associated with + the current item in this set of changes. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes that are backed by a + instance. + + + + + The instance that is managing + the underlying input used as the backing + store for the set of changes associated with this instance. + + + + + The instance that is managing + the underlying output used as the backing + store for the set of changes generated by the + or methods. + + + + + The instance used as the backing store for + the set of changes associated with this instance. + + + + + The instance used as the backing store for + the set of changes generated by the or + methods. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + Throws an exception if the input stream or its associated stream + adapter are invalid. + + + + + Throws an exception if the output stream or its associated stream + adapter are invalid. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes. It serves as the base class for the + and + classes. It manages and + owns an instance of the class. + + + + + This managed change set iterator is managed and owned by this + class. It will be disposed when this class is disposed. + + + + + Constructs an instance of this class using the specified managed + change set iterator. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Sets the managed iterator instance to a new value. + + + The new managed iterator instance to use. + + + + + Disposes of the managed iterator instance and sets its value to + null. + + + + + Disposes of the existing managed iterator instance and then sets it + to a new value. + + + The new managed iterator instance to use. + + + + + Attempts to advance to the next item in the set of changes. + + + Non-zero if more items are available; otherwise, zero. + + + + + Throws because not all the + derived classes are able to support reset functionality. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + This class represents an that is capable of + enumerating over a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + The flags used to create the change set iterator. + + + + + Resets the enumerator to its initial position. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes backed by a + instance. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This interface implements properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + The instance to use. This + will NOT be owned by this class and will not be disposed upon this + class being disposed or finalized. + + + + + Constructs an instance of this class using the specified iterator + instance. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Populates the underlying data for the , + , , and + properties, using the appropriate native + API. + + + + + Populates the underlying data for the + property using the appropriate + native API. + + + + + Populates the underlying data for the + property using the + appropriate native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. + This value will be null if this field has not yet been populated + via the underlying native API. + + + + + Backing field for the + property. This value will be null if this field has not yet been + populated via the underlying native API. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + +
+